一、简介
适用于开发大型健壮的应用
二、安装
composer create-project laravel/laravel 项目名
三、多模块多应用
1、Composer
安装该扩展包。
composer require nwidart/laravel-modules
2、配置文件
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
3、生成模块名称
php artisan module:make module-name <module-name:模块名称,例如:admin>
4、修改composer.json,自动加载
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/"
}
}
5、运行命令生效
composer dump-autoload
四、路由
1、路由简介
请求转化给程序
作用:url和程序之间的映射
请求方式:post get put patch delete
//get请求
Route::get('basic1',function(){
return 'hello world';
});
//路由参数
//1、必填参数
Route::get('user/{id}',function($id){
return 'User-'.$id;
});
//2、可选参数
Route::get('user/{id?}/{name?}',function($id,$name){
return 'User-name-'.$name;
})->where(['id'=>'[0-9]+','name'=>'[A-Za-z]+']);
//请求的路由 http://localhost/public/user/1/w
//路由群组
Route::group(
[
'middleware' => ['first', 'second'],//模块码
'prefix' => 'index'
], function () {
//创建
Route::get('index', "IndexController@index");
});
//路由中输出view
Route::get('view', function () {
return view('welcome');
});
//请求控制器方法
Route::get('/user', [UserController::class, 'index']);
Route::get('/user', "UserController@index");
如果一组路由都使用相同的 控制器, 你可以使用 controller 方法为组内的所有路由定义公共控制器。然后,在定义路由时,你只需要提供它们调用的控制器方法:
Route::controller(OrderController::class)->group(function () {
Route::get('/orders/{id}', 'show');
Route::post('/orders', 'store');
});