Laravel框架中控制器的使用

控制器使用

1、控制器文件写在哪里?

其位置位于app/Http/Controllers

2、控制器文件如何命名?

依照已经存在的四个范例控制器文件名可以得知其命名方式为:
大驼峰的控制器名 + Controller.php

例如,如果需要创建一个商品goods控制器,则命名为:GoodsController.php

3、结构代码如何书写?

注意:其控制器基础结构代码,不需要自己去手动编写,可以通过artisan命令行来自动生成。
因此需要记住对应的命令:
#php artisan make:controller 控制器名(大驼峰)Controller关键词

例如:使用artisan命令创建TestController.php文件。先确定命令:
#php artisan make:controller TestController

4、控制器路由(项目以该方式为主)

即,如何使用路由规则调用控制器下的方法,而不再走回调函数。
路由设置格式基本相同,只是将匿名函数换成‘控制器类名@方法名’
定义格式如下:
Route::请求方法(路由表达式,控制器@方法’)

编写路由规则:

Route::get('home/test/test','Home\TestController@test');

设定路由:/home/test/test1 /p/c/a

5、控制器是否可以分目录管理?【支持】

支持的初步判断原因就是在初始化项目之后,其Controllers目录下就存在Auth目录,而这个目录就是用于分目录管理的。

例如:需要创建前台分组,在前台平台中创建IndexController.php文件;同时建立后台的分组,再创建后台的IndexController.php。

①先建立相关的区分目录

②创建控制器文件(使用artisan命令创建)
在创建的时候需要在命令指定控制器所存放的目录。
创建好的控制器其命名空间等问题,artisan已经解决了。

③编写前后台Index方法的测试代码

④编写对应的路由
Route::请求类型(路由表达式,控制器@方法)

⑤测试访问

结论:通过测试得出,在laravel中控制器是可以分目录管理的。

6、接收用户输入

接收用户输入的类:Illuminate\Support\Facades\Input
Facades:“门面”的思想。门面是介于一个类的实例化与没有实例化中间的一个状态。其实是类的一个接口实现。在这个状态下可以不实例化类但是可以调用类中的方法。说白了就是静态方法。

Input::get(‘参数的名字’, ‘如果参数没有被传递使用该默认值’)
Input::all(): 获取所有的用户的输入
Input::get(’’): 获取单个的用户的输入
Input::only([ ]): 获取指定几个用户的输入
Input::except([ ]): 获取指定几个用户的输入以外的所有的参数
Input::has(‘name’):判断某个输入的参数是否存在

上述方法即既可以获取get中的信息,也可以获取post中信息。

在laravel中如果需要使用facades的话,但是又不想写那么长的引入操作:
Use Illuminate\Support\Facades\Input
则可以在config/app.php中定义长串的别名(在aliases数组中定义别名):
在这里插入图片描述
在laravel中友好输出函数:dd()
作用:dump+die,后续的代码不会执行。

提示:在laravel中不仅仅是Input门面可以获取用户的输入,Request门面也可以获取用户输入的,其语法和Input一样,也存在get、all、only等方法。

猜你喜欢

转载自blog.csdn.net/qq_45062472/article/details/108299926