小白学习记1
多模块之路由怎么搞
一套代码里有后端有前端有接口的,一堆路定义由写在routes/web.php里会显得臃肿且不方便管理
那就分开写
1.routes/新建*.PHP。 例如我要搞个test模块,新建routes/ttes.php,内容:
<?php
Route::get('/ttt', 'TestController@index');
2.修改
app/Providers/RouteServiceProvider.php
public function map()
{
...
//添加
$this->mapTTesRoutes();
}
//新建方法 用来定义模块的路由关系啥的
protected function mapTTesRoutes()
{
Route::prefix('/Ttes')//前缀浏览器路径主要靠他区别模块的
->namespace($this->namespace . '\Ttes') // 新模块的文件位置
->group(base_path('routes/Ttes.php')); //1.里创建的那个路由文件
}
3.新模块里写逻辑吧
我的项目结构,Ttes就是咱新搞得模块:
TestController.php
<?php
namespace App\Http\Controllers\Ttes;
use App\Http\Controllers\BaseController;
class TestController extends BaseController
{
public function index()
{
return __("8");
}
}
4.访问 域名/Ttes/ttt
本作品采用《CC 协议》,转载必须注明作者和本文链接
我们可能会在 web.php 里面 include('ttes.php'),group 之类的逻辑都在 ttes.php 里面定义。你也不想 RouteServiceProvider.php 文件变得过于臃肿吧?
这么做没什么问题,官方有示例,api.php就是例子。
你可以 web路由使用 web.php , api路由使用 api.php。 然后使用 namespace 区分版本。 比如 Route::namespace('api.v1');
现在还有小白学php?