一、控制器使用(C)
控制器主要的作用负责接收用户输入请求,调度模型处理数据最后利用视图展示数据。
1、控制器文件写在哪里?
其中Auth存放的是框架自带的Auth认证相关的示例控制器文件,controller.php文件是框架的基类控制器,Auth文件夹的存在说明了控制器是可以分目录的(模块)进行管理的。
2、控制器文件如何命令?
命名可以参考Auth文件夹中给定的示例文件:
文件命名方式:大驼峰+Controller.php。
3、结构代码如何书写?
注意:其控制器结构代码,不需要自己去手动编写,可以通过artisan命令来自动生成。
如下:
php artisan make:controller 控制器名
php artisan make:controller 目录路径/控制器名
(如果你有分目录)
效果:
4、控制器路由(项目以该方式为主)
即如何使用路由规则调用控制器下的方法,而不再走回调函数。 路由设置格式基本相同,只是将匿名函数换成"控制器类名@方法名" 定义格式如下: Route::请求方法('路由表达式', '控制器@方法'); 例如:在My控制器中创建my1方法,其中输出phpinfo信息 效果:
如果页面报错:
laravel 报 Target class [MyController] does not exist.
那么在项目里找\app\Providers\RouteServiceProvider.php
找到 protected $namespace = 'App\\Http\\Controllers';
解除注释就可以了。
没有找到就加上。
使用分目录管理的控制其路由:
效果:
5、接收用户输入【重点】
接收用户输入的类:Illuminate\Support\Facades\Input
laravel8以上的版本使用Request
,用法类似。
Facades:"门面"的思想。门面是介于一个类的实例化与没有实例化中间的一个状态。其实是类的一个接口实现。在这个状态下可以不实例化类但是可以调用类中的方法。说白了就是静态方法的调用。
在Laravel中如果需要使用facades的话,但是又不想写那么长的引入操作:
则可以在config/app.php中定义长串的别名(在aliases数组中定义别名):
接下来输入如下代码:
在web.php
中定义控制器路由:
在laravel框架中也可以使用dd(需要打印的内容)
(dd = dump + die)但是dd函数之后的内容将不会继续执行,dump后续代码还可执行。
我们在TestController
下输入如下代码进行测试:
效果如下:
更多的规则可以点这里。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!