php – Laravel App的结构(API,后台,前台)
我需要帮助我的Laravel应用程序的结构.
我想要的基本上是这个结构: > API 我开始构建这个文件夹结构,我认为这是非常正确的: app/ Http/Controllers/ API/ Back/ Front/ resources/ assets/ js/ back/ front/ sass/ back/ front/ views/ back/ front/ 问题 Elixir:在运行gulp后,如何避免后端的库或资产包含在前端代码中,反之亦然? 视图:如何在Laravel视图中使用命名空间?例如,给定views / front /中的pages1,这是extending一些page2.我希望Blade在编译时自动搜索view2内部的view / front目录(例如,不在views / back中). 路由:如何将路由与Controller的命名空间进行匹配?我知道我们能做到 Route::group(['domain' => 'example.com'],function() {}); 并且 Route::group(['namespace' => 'Admin'],function() {}); 但如何将它们结合起来呢? 解决方法
对于Elixir,您可以使用Gulp模块,然后根据需要使用mix变量来分隔资产.在这个例子中,gulp会将script.js和script2.js合并到一个名为public / backend / final.js的最终文件中.
// backend assets elixir(function(mix){ mix.scripts([ 'js/back/script.js','js/back/script2.js',],'public/backend/final.js','resources/assets'); // here you can declare another group of assets using 'mix' }); 对于控制器名称空间,您可以编辑app / Providers / RouteServiceProvider文件并将每个名称空间声明为: public function map(Router $router) { // backend namespace $router->group(['namespace' => 'AppHttpControllersBackEnd'],function ($router) { require app_path('Http/routes-backend.php'); }); // frontend namespace $router->group(['namespace' => 'AppHttpControllersFrontEnd'],function ($router) { require app_path('Http/routes-frontend.php'); }); // api namespace $router->group(['namespace' => 'AppHttpControllersAPI'],function ($router) { require app_path('Http/routes-api.php'); }); } 现在,创建三个文件: > app / Http / routes-backend.php>后端路由 例如,如果您需要声明一个新的后端控制器,请在app / Http / routes-backend.php中详细说明: Route::get('dashboard','DashboardController@show'); 最后是观点:
这是不可能的,没有明确的引用,没有办法page1自动加载page2.使用@extends就足够了,我个人建议使用这种结构,因为你可以通过更多控制来跟踪你的视图. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |