Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Возможно глупость скажу, а что мешает не отключать, а добавить csrf токен при отправке?
Откуда он возьмет токен?
допустим требуется какой-то функционал... сервис провайдер можно рассматривать как входной класс пакета. в нем есть среди прочих методы register и boot. первый вызывается самим фрейморком при регистрации этого пакета, второй вызывается им же после регистрации всех пакетов, словом когда все подгружено и готово к работе.
работает примерно так:
в конфиге прописал сервиспровайдер, laravel проходит по массиву и вызывает у каждого элемента метод register, затем boot
в сервис провайдере можно прописать зависимости, например пакет админки может быть зависим от пакета меню, авторизации и т.д. нужно лишь прописать в конфиге приложения сервис провайдер админ панели и все зависимости (сервис провайдеры других пакетов) будут подгружены автоматом.
Реализацию самого пакета выводят в другие классы, а эти самые классы объявляются собственно в сервис провайдере.
можно в методе контроллера отлавливать исключение Illuminate\Database\Eloquent\ModelNotFoundException
Auth::login($authUser, true);
откуда Auth?
можно осветить что для себя допиливал если не секрет, там вроде пакет menus выглядет готовым для использования, на первый взгляд конечно.
добавил сущностей типа dropdown, link, header, divider, html. у каждой сущности свои параметры, методы. Мне так проще. У Pingpong-labs все в куче. Зацыкленность добавил, чтобы можно было делать выпадающее меню, содержащее в себе другое выпадающее меню и так без конца. Возможность ботстраповский badge добавлять к элементам меню (удобно отображать кол-во новых сообщений, например), параметр prefixUrl у них вроде бы мелькает в классе, но реализации проверки по префиксу нет. Ограничение элементов меню по ролям (хотя это можно было и иначе реализовать). Короче косметический подгон под себя.
а другие компоненты с этого пинг понга не пробовал?
сугубо в целях обучения
Arat, в контроллере view('pages.page', ['models' => $var])
в шаблоне @foreach ($models as $model) {{ $model->name }} @endforeach
возьмите для наглядности выпадающий список, а лучше 10 на 1 вьюшку, осуществите динамичность (вывод массива, установка selected для нужного элемента, подстановка аттрибутов) для каждого с помощью тегов html и с помощью helper-ов, сравните кол-во кода.
если выключить XCACHE в php или покрутить настройки? В гугле по поиску "XCache: Cannot init in Unknown:0" есть пара php.ini с примерами
Брал все эти пакеты, ковырял, допиливал, переписывал. В итоге решил писать свой пакет, а из него уже посыпались другие подпакеты (меню, аутентификация, доступ по ролям/правам, управление пользователями и т.д.). Велосипед, конечно, но помогает вникнуть в дебри фреймворка.
в зависимости от ситуации у меня есть несколько проверок
1. на наличие забитого url/route для элемента меню
тут все ясно, сверяю с инфой из request
2. на наличие префикса
указываю префикс, положение префикса в url. т.е для адреса site.com/admin/users/ prefix = ['users', 1]. для url site.com/users будет ['users', 0]. проверяю на соответствие.
3. проверка на тупо забитый active = true
4. если выпадающий список, то можно поискать активные элементы в нем, которые проверяются пунктами 1 - 3 на активность.
если указанн префикс, то в приоритете
по мне лучше эти проверки вывести в отдельный пакет, который подгружать уже через композер во вьюшку. Я брал за основу пакет на github у pingpong-labs, допилил под себя
не совсем понимаю что требуется. но обычно делаю так
1) прописываю два маршрута, которые "слушают" гет и пост
2) перед показом формы ищу запись по ID, если нахожу, то заполняю форму/показываю.
3) при сохранении данных проверка, запись, возвращаем к get маршруту с формой и начинаем с 2. пункта
если нужно отправить данные и не перезагружать страницу, то отправляем ajax-ом, а введеные данные как бы уже есть в форме и подгружать их не нужно
привет. пакетами это называется, если правильно понял
нашел способ, допустим файлы пакетов в папке packages
в /composer.json
"autoload": {
"classmap": [
"packages"
],
в /config/app.php
'providers' => [
Vendor\Package\ServiceProvider::class
файлы загружаются после
composer dump-autoload
Добрый день,
эксперементирую с Laravel в целях обучения. Есть пакет Admin, который подключен в конфиге app.php через Vendor\Admin\AdminServiceProvider, а в composer.js psr-4 "Vendor\\Admin\\": "packages/vendor/admin/src/". Появились вопросы
1) Есть ли иной способ подключить пакет без прописывания psr-4 в composer.js?
Допустим AdminServiceProvider имеет зависимость от NavbarServiceProvider, который лежит в vendor\Navbar\NavbarServiceProvider.
protected $providers = [
'vendor\Navbar\NavbarServiceProvider'
];
public function registerProviders()
{
foreach ($this->providers as $provider) {
$this->app->register($provider);
}
}
2) Есть ли в данном случае способ делать автозагрузку файлов, минуя прописывание psr-4 в главном composer.js?
Страницы 1