• Зачем нужен Yii и другие подобные фремворки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    CMS - обычно решают конкретные узко специализированные задачи. Тот же WP - это блог и для такого кейса он вполне ок. Если вам нужен не совсем блог, на том же WP разработка вероятно будет сопровождаться анальной болью)). Это просто не целевое применение. То, что на WP и эл. магазины пишут - это просто демонстрация, что вилкой можно в ухе ковыряться))

    Фреймворки обычно имеют более обобщенное целевое предназначение, по этой причине на них обычно легче сделать сайт-визитку, который эл. магазин, немного соц. сеть и частично CRM.

    Пример где стоит использовать CMS: нужен эл. магазин, маленький бюджет и сроки тоже. Берем PrestaShop, устанавливаем, прикручиваем тему, настраиваем. Следующий!

    Пример где стоит использовать фреймворк: вам нужен сайт на подобии того, на котором вы читаете мой ответ. Да, его можно за уши притянуть к понятию "блог", но переписывать и допиливать нужно многовато. Пойдем от обратного (вы таки выбрали WP)
    * Потом поймете, что нужно было еще абстрактный уровень над WP написать, потому как после обновления ваши правки затерлись.
    * Потом вдруг случается несчастье: ваш сайт стал популярным и железо не тянет, вы задумаетесь об масштабировании, но окажется, что система довольно таки целостная и что бы ее разделить придется не хило так по вкалывать.
    * Через какое-то время ваш проект будет на 50% состоять переписанного кода и костылей, обходящих логику WP.
    * Вдруг, на хабре вы читаете статью про уязвимость в вашей версии WP, начинаете ее прикручивать, при этом часть вашего сайта тупо отваливается из-за тех же артефактов и костылей. Вы, ясное дело, фиксите траблюки.
    * В один прекрасный весенний денек, когда птички поют, радость, счастье, улыбки и бла-бла-бла вам звонит руководство и говорит, что "ничего не работает ( с )", отчаянье-печаль-грусть-уныние-безысходность-тлен. Зайдя на главную вы увидите замечательный баннер:
    Вас взломал @ сраный_script_kid. Один глаз начнет немного дергаться, "это нормально ( с )". Восстановившись из бэкапа 4-х недельной давности, вы начинаете судорожно писать 1ккк проверок всего и вся. Система мутирует в еще более страшную и громоздкую хрень.
    * Через какое-то время вас просят добавить фичу "на вчера", а что бы это сделать придется переписать добрую часть вашего монстра, вы (ну судя по количеству факапов) уже с прокачанным скилом "тебе фича не нужна эта" убеждаете руководство в этом, подобные разговоры возникают все чаще и в один прекрасный момент вы, или вас - увольняют.
    * На смену вам компания набирает других человек, которые выльют пару ведер крови из глаз, убедят руководство, что код не саппортабельный и перепишут вашего монстра с 1,5кк строк до 0,3кк на нормальном фреймворке.
    Ответ написан
    1 комментарий
  • Как на laravel создать собственные файлы-роутеры?

    @Barmunk
    да, это возможно, в RouteServiceProvider добавляете ваши файлы и указываете каждому namespace

    protected $webYourNamespace = 'App\Http\Controllers\Web';
    
    public function map()
        {
            $this->mapApiRoutes();
            $this->mapWebRoutes();
            //
            $this->mapYourCustomRoutes();
        }
    
    protected function mapYourCustomRoutes()
        {
            Route::middleware('web')
                 ->namespace($this->webYourNamespace)
                 ->group(base_path('routes/custom.route.php'));
        }
    Ответ написан
    Комментировать
  • Как реализовать автоматическую генерацию slug в модели Eloquent?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Почему в мутаторе обращение к $this->title? В документации разве так написано?
    Лучше читайте про события моделей и обсерверы.
    Ответ написан
    4 комментария
  • Как добавить имя папки ко всем роутерам в laravel?

    be_a_dancer
    @be_a_dancer
    Backend/Fullstack Developer
    Хочется кинуть в тебя мануалом)
    Route::prefix('site')->group(function(){
    Route::get('/', 'HomeController@index');
    });
    Ответ написан
    3 комментария
  • Как в запросе к БД в laravel использовать значение уже имеющееся в таблице?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    Ответ написан
    Комментировать
  • Как правильно прописать путь?

    @porozhnyy
    Уважаемый, после прочтения нужного раздела документации все вопросы отпадут. Разве это так тяжело?
    https://laravel.com/docs/5.5/routing
    Ответ написан
    Комментировать
  • Как хранить деньги (баланс/цена) в БД?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Лучше всего хранить в целых, ибо с вещественными числами можно запросто поймать проблем при округлении.
    Ответ написан
    2 комментария
  • Как запускать функцию при переходе на любую страницу сайта в Laravel?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    Middleware и view shared data
    Ответ написан
    1 комментарий
  • Как создать поле, имеющее тип longblob и mediumblob, в таблице миграции?

    daager
    @daager
    Schema::create("table", function($table) {
      $table->blob('data')->nullable();
    });
    DB::statement("ALTER TABLE table ADD data MEDIUMBLOB");
    Ответ написан
    2 комментария
  • Как правильно написать запрос?

    Nested set упростит тебе работу с такого рода данными, а вот и реализация под лару https://github.com/etrepat/baum

    В реализации через parent_id много граблей если сущностей очень много и вложенность неограничена
    Ответ написан
    Комментировать
  • Почему не работают маршруты в только что созданном проекте?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    mod_rewrite проверь
    И VirtualHost показывай
    Ответ написан
    Комментировать
  • Есть ли пакет для Laravel для работы со временем публикаций?

    erniesto77
    @erniesto77
    oop, rb, py, php, js
    Carbon вроде по умолчанию есть в Laravel, так что устанавливать не надо
    use Carbon/Carbon;
    
    $tomorrow = Carbon::tomorrow('Europe/Moscow');
    
    Carbon::setLocale('ru');
    
    echo $tomorrow->diffForHumans(); // 1 день назад
    Ответ написан
    2 комментария
  • Как назвать класс отвечающий за клиентскую часть?

    Page
    Ответ написан
    Комментировать
  • Почему в базе вместо обновления записи - создается новая запись?

    eastywest
    @eastywest
    Backend developer
    Судя по коду, у вас идет именно создание новой записи. Обновления нет вообще.
    Строка:
    $post->ratings()->save($rating);
    Делает лишь верную установку post_id у Rating модели и сохраняет Rating.
    Ответ написан
    Комментировать
  • Держите ли вы проект на локальной машине?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Держать проект на локальной машине (в смысле иметь возможность запустить его на локалхосте) возможно только для маленьких проектов?
    Откуда у Вас такие заключения?

    Т.к. с ростом БД и сложности окружения redis + сервер очередей + логи и т.п. держать, запускать и обновлять это всё на локали становится сложно.
    Есть например, VirtualBox + Linux + [что-то ещё] + [...] и так далее. Ставите на виртуалку нужный вам набор софта, запускаете, пользуетесь.

    Сложности в установке/настройке программ... ну это очень риторический вопрос, кому-то сложно даже интерпретатор PHP из архива распаковать...

    Вопрос с тем, что может требовать значительных ресурсов (например, базы данных) занимая большой объём дискового пространства или создавать большую нагрузку на вычислительные ресурсы машины - тут вариантов несколько:
    1. Хранить базы данных не локально, а работать с ними удаленно
    2. Набор данных необходимый для разработчика - обычно ощутимо меньше, чем тот, что используется в реальном проекте. Используйте версию базы "для разработки", а не "продакшен" вариант
    3. Если позволяют ресурсы (например, объем жесткого диска) и есть необходимость - используйте полную версию БД. Нагрузку на БД создают не объёмы данных, а объёмы обращений к этим данных (условно конечно, но суть такова). Иными словами, если у Вас база занимает 500Гб и структура проекта построена адекватно - работать даже с такой БД может вполне "обычный" компьютер.

    И ещё вопрос: при использовании DEV-сервера можно держать файлы проекта у себя на машине и в PHPStorm либо автоматически либо вручную заливать изменения на сервер. А можно в шторме прямо к серверу подключиться и работать сразу с файлами на сервере, т.е. не иметь копии проекта у себя на машине по сути. Какой из этих вариантов лучше и почему?
    Не совсем понятно, что именно Вы подразумеваете под "DEV-сервером" и зачем он Вам нужен вообще? Я за более 10-и лет разработки с реальностью подобного рода серверов сталкивался в двух случаях:
    1. Необходимость иметь некоторый эталонный сервер и/или сервер, с помощью которого можно демонстрировать работу конечному заказчику или разработчикам проверять свои правки и нововведения в условиях "эталонного" окружения (что в целом легко реализуется в большинстве случаев, при возможность запустить виртуальную машину на компьютере разработчика)
    2. Мой рабочий ноутбук настолько слаб, что с трудом "тянет" даже phpStrom, не говоря уже о всяких VM и прочих "прелестях жизни", в этом случае меня неоднократно выручал удаленный вирт. сервер

    Далее, "подключиться к серверу и работать с файлами сразу там" - Вы что имеете в виду? Пробросить SSH-туннель или иным подобным образом подключить файловую систему сервера как сетевой диск? По моему, без прямой необходимости в обратном, "лучше" - использовать средства автоматического "деплоя". А как "лучше" выгружать файлы на конкретный сервер, "руками" или "как-то ещё" - зависит от множества факторов, в т.ч. от того, как часто это нужно делать, кол-вом "выгружающих" и т.д.
    Ответ написан
    1 комментарий
  • Почему результат 28?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    https://ru.wikipedia.org/wiki/IEEE_754-2008

    P.S. Деньги никогда не хранятся и "оперируются" float переменными. Это догма.
    Ответ написан
    Комментировать
  • Как изменить путь к виду login в Laravel 5.5?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Изучаете сначала https://laravel.com/docs/5.5/authentication#includ... потом https://github.com/laravel/framework/blob/5.5/src/... В процессе изучения рекомендуется думать.
    Ответ написан
    Комментировать
  • Как правильно подключить и использовать локализации при использовании nwidart/laravel-modules?

    С пакетом не знаком, но думаю стандартный метод подключения языков в сервис провайдере должен работать doc
    $this->loadTranslationsFrom(__DIR__.'/path/to/translations', 'courier');
    Ответ написан
    Комментировать
  • Как удалить файл в public laravel?

    @D3lphi
    Illuminate\Filesystem\Filesystem::delete()
    app(Illuminate\Filesystem\Filesystem::class)->delete(public_path('uploads/example.png'));
    Ответ написан
    2 комментария
  • Php + JS в одном приложении?

    Eridani
    @Eridani
    Мимо проходил
    И соответственно использовать фреймворки тоже не вижу смысла

    А смысл в том, чтобы писать кашу - Вы видите?
    Приучите себя писать нормально, используя хотя бы тот же MVC паттерн, и на эту вот писанину выше, через год будете смотреть и рыдать.

    Вы рассматриваете фреймворк как нечто масштабное, требующее больших проектов и сил. Но нет, относитесь к нему как к инструментарию, позволяющему Вам писать лучше и быстрее.
    Ответ написан
    Комментировать