Ответы пользователя по тегу Laravel
  • Можно ли писать форумы на Laravel?

    @tester_toster
    Смотря, что вам нужно.
    Если нужен быстрый готовый форум с типичным функционалом, phpbb или любой другой скрипт - ваш выбор. Если функционал будет нестандартный, важна скорость, не нужно лишнего, минимум кода, в общем, не нужен монстр - то можно написать и самому на laravel, любом другом фреймворке, или как иногда делают - на наборе компонентов (fastroute, request, di, template, qb ) добавляя по потребностям новые.
    Плюсы laravel: Авторизация есть из коробки, qb, di, blade.
    Добавить пару сущностей, контроллеров и самый простой форум готов. При необходимости дописывать нужный функционал будет легче, и быстрее, так как вникать в движок не придется. Скорость разработки не будет уступать написанию модификаций готовых движков, ибо не изучая движок, находя ответы в статьях "simple from, how make..." - рано или поздно поймете, сколько шлака наделали, и придется все переписывать, чтобы было правильно. Некоторые умудряются менять код движка, что замораживает апдейты, при этом некоторый код сам просит так, чтобы изменили его ядро, так как по другому определенного функционала не добиться, особенно этим грешит старый код.
    С теми, кто говорит про велосипед - не полностью согласен , так как это зависит от требуемого функционала. За последние пару лет правил код за "гуру невелосипедостроения", когда к обычной cms или магазину требовался нетипичный функционал - если новый код был написан как правильное расширение - уже было хорошо, по самому коду было видно - что кроме "how to make simple extension" люди не читали, так как для того, чтобы изучить достаточно большое ядро нужна даже не пара дней, а после изучения езе нужно, чтобы все и в голове отложилось.
    Также нужно учитывать, что сама модульность готовых движков будет отыгрываться либо на скорости, либо на возможностях модификации, либо на сложности, а может и на всем сразу.
    Когда создают что-то сложное на wp - охото убивать, да движок рабочий, миллионы сайтов, да, можно прикрутить шаблонизатор, laravel и.т.д., но зачем? Проще написать к laravel код для вывода статей.
    Работаю над сайтом с 8млн просмотров в день. Написан на dle - это самая распространенная в рунете cms, причем платная, но кто видел код - не спит по ночам. Также и начиналось - взяли готовое решение, раз доработка, ..., n доработка, а потом смотришь - пи**ец. Функционал уже не лезет, скорости не хватает, ядро все переписано. В итоге вся пользовательская часть переписана на фреймворк с горем пополам, ибо готовое решение положило свои особенности на архитектуру проекта. От решения осталась только админка, в которой мало чего осталось, не переписана просто по тому, что нет времени.
    Но если раньше борясь с архитектурой коробочного решения на задачу уходил день - теперь тратится час. Хотя тянули с переносом до последнего, год точно уже был напряг выдумывали костыли и.т.д.. Очень много денег бы было сэкономлено если бы перевели на фреймворк еще год назад, не говоря уже о том, что если бы при старте проекта начали сразу писать на фреймворке, да даже на голом php, так как при разработке было понятно, что бложик - 1% от функционала.
    Хотя своих решений тоже стоит избегать, был проект - написан программистом с нуля, весь код написан им, но опыта не хватило - архитектуру закосячил, ну там жесть была - ни автозагрузки классов, ни нэймспейсов, хотел модульность как в cms. Одному такое не написать, по крайней мере за стандартный срок проекта. В итоге - переписан на фреймворк. Взял бы готовые компоненты + типичную архитектуру mvc - не было бы проблем.
    Мой совет: смотрите по потребностям - времени - деньгам.
    Ответ написан
    1 комментарий
  • Laravel 5.4 jwt RESTful API и базовый сайт?

    @tester_toster
    Попробуйте laravel Passport. Делаю на нем приложение laravel + vue + mobile app - полет нормальный. Авторизация в Auth автоматически происходит при отправке токена по апи роутам. Получаем токен, передаем его в header. Если сайт тоже работает с api - ничего передавать не нужно. При авторизации на сайте у пользователя в куку пишется зашифрованый токен и проверяется автоматически.
    Плюсы - родная авторизация, минимум правок.
    Ответ написан
    Комментировать
  • Как исправить код ответа на несуществующую страницу в Laravel?

    @tester_toster
    А как отдается исключение об отсутствии страницы?
    Должно быть:
    abort(404);
    Так отдаются заголовки
    Ответ написан
    Комментировать
  • Laravel - почему не отправляется письмо, используя yandex smtp?

    @tester_toster
    Мне тоже интересно почему это происходит. Пользовался отдельно swift'ом - все работало нормально, в laravel такая беда. Много чего читал.
    Только у меня gmail был, но ошибка таже.
    Как я решил эту проблему:
    Подключил сайт к google mail, там создался временный пароль (подключение приложения или как-то так называется).
    В настройках вставил полученый пароль приложения, немного пошаманил с портом и ssl|tls, уже не помню как проставлял и все заработало.

    Нашел свой рабочий код:
    <?php
    
    return [
    
        /*
        |--------------------------------------------------------------------------
        | Mail Driver
        |--------------------------------------------------------------------------
        |
        | Laravel supports both SMTP and PHP's "mail" function as drivers for the
        | sending of e-mail. You may specify which one you're using throughout
        | your application here. By default, Laravel is setup for SMTP mail.
        |
        | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill",
        |            "ses", "sparkpost", "log"
        |
        */
    
        'driver' => env('MAIL_DRIVER', 'smtp'),
    
        /*
        |--------------------------------------------------------------------------
        | SMTP Host Address
        |--------------------------------------------------------------------------
        |
        | Here you may provide the host address of the SMTP server used by your
        | applications. A default option is provided that is compatible with
        | the Mailgun mail service which will provide reliable deliveries.
        |
        */
    
        'host' => env('MAIL_HOST', 'smtp.gmail.com'),
    
        /*
        |--------------------------------------------------------------------------
        | SMTP Host Port
        |--------------------------------------------------------------------------
        |
        | This is the SMTP port used by your application to deliver e-mails to
        | users of the application. Like the host we have set this value to
        | stay compatible with the Mailgun e-mail application by default.
        |
        */
    
        'port' => env('MAIL_PORT', 587),
    
        /*
        |--------------------------------------------------------------------------
        | Global "From" Address
        |--------------------------------------------------------------------------
        |
        | You may wish for all e-mails sent by your application to be sent from
        | the same address. Here, you may specify a name and address that is
        | used globally for all e-mails that are sent by your application.
        |
        */
    
        'from' => ['address' => 'noreply@*ru', 'name' => 'Администрация '],
    
        /*
        |--------------------------------------------------------------------------
        | E-Mail Encryption Protocol
        |--------------------------------------------------------------------------
        |
        | Here you may specify the encryption protocol that should be used when
        | the application send e-mail messages. A sensible default using the
        | transport layer security protocol should provide great security.
        |
        */
    
        'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    
        /*
        |--------------------------------------------------------------------------
        | SMTP Server Username
        |--------------------------------------------------------------------------
        |
        | If your SMTP server requires a username for authentication, you should
        | set it here. This will get used to authenticate with your server on
        | connection. You may also set the "password" value below this one.
        |
        */
    
        'username' => 'email',
    
        /*
        |--------------------------------------------------------------------------
        | SMTP Server Password
        |--------------------------------------------------------------------------
        |
        | Here you may set the password required by your SMTP server to send out
        | messages from your application. This will be given to the server on
        | connection so that the application will be able to send messages.
        |
        */
    
        'password' => 'пароль приложения', 
    
        /*
        |--------------------------------------------------------------------------
        | Sendmail System Path
        |--------------------------------------------------------------------------
        |
        | When using the "sendmail" driver to send e-mails, we will need to know
        | the path to where Sendmail lives on this server. A default path has
        | been provided here, which will work well on most of your systems.
        |
        */
    
        'sendmail' => '	/usr/sbin/sendmail -t -i ',
    // Этот параметр добавил
        'pretend' => false,
    
    ];

    Чуть не забыл, вроде еще есть зависимость поля from,
    но в этом не уверен.
    Пароли приложений
    Но все это как-то коряво. Хочу разобраться, почему swift сам по себе работает, а в laravel грабли такие.
    Ответ написан
    Комментировать