Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Я создал структуру
app/modules
/admin
/controller
/views
ServiceProvider.php
[php]
<?php namespace App\Modules;
class ServiceProvider extends \Illuminate\Support\ServiceProvider
{
public function boot()
{
$modules = config("module.modules");
while (list(,$module) = each($modules)) {
if(file_exists(__DIR__.'/'.$module.'/routes.php')) {
include __DIR__.'/'.$module.'/routes.php';
}
if(is_dir(__DIR__.'/'.$module.'/Views')) {
$this->loadViewsFrom(__DIR__.'/'.$module.'/Views', $module);
}
}
}
public function register(){}
}
[/php]
Как теперь происходит запуск домашнего контроллера,
и как совершить вызов админ контроллера, может быть должно быть еще что то,
и все ли правильно в этом сервис провайдере
такое впечатление что этот провайдер не включается и не регулирует ничего
вот ошибка при переходе к админ модулю
Изменено imediasun (18.03.2016 05:32:31)
Не в сети
Никак, ибо это от лукавого ) И зачем? в приложении laravel нет такого понятия как "модуль"
Не в сети
Извините, вы слишком голословы, во первых есть модули а во вторых ?....
Не в сети
Извините, вы слишком голословы, во первых есть модули а во вторых ?....
Пример "модулей" в Laravel в студию! Или ссылку на документацию, где такое описано.
Кажется здесь на форуме даже уже кто-то пытался такое организовать.. Можно поискать
Не в сети
Я тоже не понял - что за модуль внутри приложения?
Все стороннее - это пакеты packagist, все свое - это приложение.
Штатных методов разбивания приложения на "модули" - на сегодня нет
Не в сети
duster, кажется здесь же с кем-то общался на эту тему. Некоторые привыкли к подходу, когда все побито на папки, а внутри каждой свои контроллеры, модели, вьюхи и тп..
Не в сети
Не в сети
imediasun, ну вот же расписано все, пользуйся )
А вообще это изврат конечно на мой взгляд.
Структура
Controllers/Admin
Views/Admin
ничем не отличается от
controllers/Admin
views/Admin
Но тут как говорится, на вкус и цвет...
Не в сети
просто оставлю это здесь https://github.com/KodiCMS/module-loader
Не в сети
Тебе лучше создать единую точку, для подключения всех ServiceProvider - ов, создаваемых модулей к примеру в папке
App/Providers/CoreServiceProvider.php и в методе register зарегистрировать все ServiceProvider модулей в цикле, далее уже в config/app.php подключить только CoreServiceProvider. Так ты не будешь каждый раз при создании модулей подключать сервис провайдеры в файле конфигурации. Плюс файлы роутов, вюх , конфигураций модулей лучше подключать в их же сервис провайдерах таким образом можно более гибко создавать модули.
А потом заказчик этого приложения безуспешно будет искать человека, который бы «доделал почти готовый сайт на Laravel». Откуда такая тяга к «велосипедам»? Чем пакеты не угодили?
Изменено AlexeyMezenin (13.05.2016 15:33:06)
Не в сети
Ну это то же что и пакет только в другой папке где можно создать инсталлер модулей и загружать их прямо из веб интерфейса, а не через композер. Такое подходит, если проект, является к примеру cms системой, к которой будут создаваться какие-либо модули для расширения системы. А какой метод модульности вы предлагаете кроме как использовать пакетов ?
Изменено sanya (13.05.2016 16:39:25)
Не в сети
Я по долгу работы пишу проекты в разных сферах и на разных к сожалению или счастью языках. Так вот понятие модульности настолько расплывчато, в каждом проекте появляются скорее устои и привычки или за счет икспиренса. Как бы вы не были классы или пакеты - важно только одно. Читабельность и простота и целесообразное потраченное время на разработчку. Чем проще для вас - тем лучше. Через месяц, год можно и свой код не разобрать.
Не в сети
Есть поддержка для 5.x
https://packagist.org/packages/mnabiale … le-modules
Чем проще для вас - тем лучше. Через месяц, год можно и свой код не разобрать.
Я бы переформулировал как "чем проще для вас и для тех, кто будет допиливать и поддерживать код после вас". Я за общепринятые практики и более простой код и сильно против всякого рода велосипедов.
Не в сети
Страницы 1