时间:2021-07-01 10:21:17 帮助过:8人阅读
而大部分情况下,用户的请求操作是放在Controller中处理的(这不包含业务处理逻辑)。
Laravel 的所有控制器是在 app/Http/Controllers 目录中。
1 创建简单的控制器
1.1 无参数的控制器
在目录 app/Http/Controllers 目录中新建文件 HomeController.php,代码如下:
在 resources/views 下新建视图 hw.php,内容如下:Hello World!
修改 routes.php,修改后的代码如下:
打开浏览器访问:http://localhost:801/hw,如下图示:
1.2 控制器向视图传递参数
当Controller需要向View传递参数时,是这样的,修改控制器的hw方法:
public function hw() { return view('hw',['name'=>'CBW']); }修改hw.php视图页代码:[],您好!再次访问如下 :1.3 控制器从路由读取参数并传递
当控制器需要从路由获取参数时,是这样的,修改上例示的路由代码段:
Route::get('/hw/{name}', 'HomeController@hw');修改控制器的hw方法:public function hw($name) { return view('hw',['name'=>$name]); }然后再次访问:http://localhost:801/hw/calvin,如下图示:2 路由器深入
2.1 控制器和命名空间
一般情况下,一个应用系统将由多个子项目组成,比如一个网站有前台和后台,前台有新闻功能用于阅读,后台有新闻功能用于管理。
现在,我们假设开发一个Web系统,包含两个模块:普通用户模块(Visit)和系统管理模块(Manage)。
A.在 app/Http/Contollers 目录中分别新建两个模块的控制器子目录:Visit、Manage;
B.在 resources/views 下创建两个子目录:Visit、Manage,并在 Visit下创建子目录:Home;
C.把上例创建的 HomeController 移动到上一步新建的 Visit 中。修改后的代码如下:
$name]); } }D.修改routes.php代码段为:
Route::get('/hw/{name}', 'Visit\HomeController@hw');E.把视图文件hw.php移动到 resources/views/Visit/Home 下;
现在,再次访问:http://localhost:801/hw/calvin,依然是正确的。2.2 控制器中间件
在前文中我们已经演示了中间件的使用,再回顾一下上文的示例:
Route::get('/user/{age}', ['middleware' => 'my', function ($age) { return '用户年龄:'.$age; }]);
事实上我们也可以在控制器的构造函数中处理:class UserController extends Controller { public function __construct() { $this->middleware('my'); } }另外,还有隐式控制器、RESTful、路由缓存等等,后文再继续补充。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了Laravel 514 + Bootstrap 334 笔记四:Laravel 控制器,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。