Ответы пользователя по тегу Laravel
  • Генерация документации по api?

    stanislav-belichenko
    @stanislav-belichenko
    Backend PHP Developer
    В целом стандартом для документирования API сейчас можно назвать Swagger.io. Для него, в свою очередь, можно найти пакеты как для интеграции его и Laravel, так и для преобразования его yaml-файлов в файлы с markdown-разметкой. Намного больше решений можно найти в Google по запросам вроде "swagger.io laravel", "swagger.io markdown" и т.д.
    Ответ написан
    Комментировать
  • Какие PHP стили записи существуют?

    stanislav-belichenko
    @stanislav-belichenko
    Backend PHP Developer
    Я пишу на Laravel мне не нравится что постоянно необходимо создавать 2 функции 1ну для отображения вьюхи 2 для самой логики


    Если коротко, то все ваши проблемы из-за того, что вы не совсем верно неверно поняли модель MVC. Если вы бы иначе построили структуру своего приложения, то вас не смущали бы "две функции".

    Модель MVC, которой следуют практически все фреймворки, за которые вы сможете взяться, предполагает именно такую структуру - на каждое действие должен быть свой контроллер или его конкретный метод, при этом контроллер объединяет методы для какой-то одной логической единицы.

    Попробуйте почитать именно что про MVC, и скорее всего вы оцените красоту такого подхода, так как в будущем именно он позволит вам, при росте приложения, быстро в нем ориентироваться, да и не только вам.

    То, что вы в данный момент используете - это совсем не right way. И точно так же не right way делать в одном контроллере две "функции" (на самом деле - два метода класса вашего контроллера), одна из которых будет что-то вроде showRegister(), а другая - createRegister(). Правильный в вашем конкретном примере вариант - это разбить вашу логику на две (три) логические единицы (два/три контроллера или группы контроллеров), одна - показ страниц бекенда / фронтенда, а другая - обработка задач авторизации. В итоге у вас должно будет получиться что-то вроде:

    app
    ...
    ├── Http
    │   ├── Controllers
    │   │   ├── Auth // 1. тут мы обрабатываем роуты, ответственные за авторизацию
    │   │   │   ├── ForgotPasswordController.php
    │   │   │   ├── LoginController.php
    │   │   │   ├── RegisterController.php
    │   │   │   └── ResetPasswordController.php
    │   │   ├── Backend // 2. тут мы показываем бекенд
    │   │   ├── Frontend // 3. тут мы показываем фронтенд
    │   │   │   ...
    │   │   ├── Controller.php
    │   │       ...
    ...


    В пунктах 2 и 3 вы в выводимых ими вьюхах используете роуты, которые про авторизацию, и у вас в итоге будет отдельная группа роутов вроде /auth/* и отдельные группы вроде /* (главная) и /admin/*.

    Согласитесь, теперь все выглядит логично и понятно. И "стили записи" тут совершенно ни при чем.
    Ответ написан
    4 комментария