Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Получение даных от android приложения в laravel 5.0 » 26.08.2015 16:37:44

TuX560 пишет:

Возможно глупость скажу, а что мешает не отключать, а добавить csrf токен при отправке?

Откуда он возьмет токен?

#2 Re: Laravel 5.x » Service Provider - практическое использование » 25.08.2015 15:55:09

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

работает примерно так:
в конфиге прописал сервиспровайдер, laravel проходит по массиву и вызывает у каждого элемента метод register, затем boot

в сервис провайдере можно прописать зависимости, например пакет админки может быть зависим от пакета меню, авторизации и т.д. нужно лишь прописать в конфиге приложения сервис провайдер админ панели и все зависимости (сервис провайдеры других пакетов) будут подгружены автоматом.

Реализацию самого пакета выводят в другие классы, а эти самые классы объявляются собственно в сервис провайдере.

#3 Re: Laravel 5.x » Как перехватывать исключения в laravel 5? » 25.08.2015 15:14:48

можно в методе контроллера отлавливать исключение Illuminate\Database\Eloquent\ModelNotFoundException

#5 Re: Laravel 5.x » Лаконичное создание меню навигации » 20.08.2015 13:45:46

stuchin пишет:

можно осветить что для себя допиливал если не секрет, там вроде пакет menus выглядет готовым для использования, на первый взгляд конечно.

добавил сущностей типа dropdown, link, header, divider, html. у каждой сущности свои параметры, методы. Мне так проще. У Pingpong-labs все в куче. Зацыкленность добавил, чтобы можно было делать выпадающее меню, содержащее в себе другое выпадающее меню и так без конца. Возможность ботстраповский badge добавлять к элементам меню (удобно отображать кол-во новых сообщений, например), параметр prefixUrl у них вроде бы мелькает в классе, но реализации проверки по префиксу нет. Ограничение элементов меню по ролям (хотя это можно было и иначе реализовать). Короче косметический подгон под себя.

stuchin пишет:

а другие компоненты с этого пинг понга не пробовал?

сугубо в целях обучения

#6 Re: Laravel 5.x » Как получить в переменную шаблон письма » 20.08.2015 12:59:44

Arat, в контроллере view('pages.page', ['models' => $var])
в шаблоне @foreach ($models as $model) {{ $model->name }} @endforeach

#7 Re: Laravel 5.x » html-helper » 20.08.2015 12:33:50

возьмите для наглядности выпадающий список, а лучше 10 на 1 вьюшку, осуществите динамичность (вывод массива, установка selected для нужного элемента, подстановка аттрибутов) для каждого с помощью тегов html и с помощью helper-ов, сравните кол-во кода.

#8 Re: Laravel 5.x » Непонятная ошибка » 20.08.2015 12:22:22

если выключить XCACHE в php или покрутить настройки? В гугле по поиску "XCache: Cannot init in Unknown:0" есть пара php.ini с примерами

#10 Re: Laravel 5.x » Как вы создаете админку? » 20.08.2015 11:35:30

Брал все эти пакеты, ковырял, допиливал, переписывал. В итоге решил писать свой пакет, а из него уже посыпались другие подпакеты (меню, аутентификация, доступ по ролям/правам, управление пользователями и т.д.). Велосипед, конечно, но помогает вникнуть в дебри фреймворка.

#11 Re: Laravel 5.x » Лаконичное создание меню навигации » 20.08.2015 11:20:44

в зависимости от ситуации у меня есть несколько проверок

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, допилил под себя

#12 Re: Laravel 5.x » Передача модели из View в контроллер » 17.08.2015 12:07:23

не совсем понимаю что требуется. но обычно делаю так

1) прописываю два маршрута, которые "слушают" гет и пост
2) перед показом формы ищу запись по ID, если нахожу, то заполняю форму/показываю.
3) при сохранении данных проверка, запись, возвращаем к get маршруту с формой и начинаем с 2. пункта

если нужно отправить данные и не перезагружать страницу, то отправляем ajax-ом, а введеные данные как бы уже есть в форме и подгружать их не нужно

#13 Re: Laravel 5.x » Модульная структура проекта. » 17.08.2015 11:27:25

привет. пакетами это называется, если правильно понял

#14 Re: Laravel 5.x » Автозагрузка зависимостей ServiceProvider » 14.06.2015 02:02:41

нашел способ, допустим файлы пакетов в папке packages

в /composer.json

"autoload": {
        "classmap": [
            "packages"
        ],

в /config/app.php

 'providers' => [
        Vendor\Package\ServiceProvider::class

файлы загружаются после

 composer dump-autoload

#15 Laravel 5.x » Автозагрузка зависимостей ServiceProvider » 07.06.2015 23:34:15

ded100let
Ответов: 1

Добрый день,

эксперементирую с 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?

Подвал раздела