前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP-Laravel控制器使用(C)

PHP-Laravel控制器使用(C)

作者头像
cwl_java
发布2020-03-27 13:54:16
1.4K0
发布2020-03-27 13:54:16
举报
文章被收录于专栏:cwl_Javacwl_Java

三、控制器使用©

控制器主要的作用主要负责接收用户输入请求,调度模型处理数据最后利用视图展示数据。

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

其位置位于app/Http/Controllers

在这里插入图片描述
在这里插入图片描述

其中Auth存放的是框架自带的Auth认证相关的示例控制器文件,controller.php文件是框架的基类控制器。

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

命名可以参考Auth文件夹中给定的示例文件:

在这里插入图片描述
在这里插入图片描述

文件的命名方式:大驼峰+Controller.php

友情提示:在写的时候不要带“+”。

3、结构代码如何书写?【重点】

注意:其控制器基础结构代码,不需要自己去手动编写,可以通过artisan命令行来自动生成。 因此需要记住对应的命令:

代码语言:javascript
复制
#php artisan make:controller 控制器名(大驼峰)Controller

不要写“.php”。 例如:使用artisan命令创建TestController.php文件。先确定命令:

代码语言:javascript
复制
#php artisan make:controller TestController
在这里插入图片描述
在这里插入图片描述

其中已经写好的结构代码:

在这里插入图片描述
在这里插入图片描述

后续如果需要更多的控制器只需要重复的执行上述的artisan命令即可。

注意:控制器可以分目录管理。

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

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

代码语言:javascript
复制
Route::请求方法(‘路由表达式’,’控制器@方法');

例如:在Test控制器中创建test1方法,其中输出phpinfo信息

在这里插入图片描述
在这里插入图片描述

编写路由规则: 设定路由: /test1

在这里插入图片描述
在这里插入图片描述

效果如下:

在这里插入图片描述
在这里插入图片描述

5、接收用户输入【重点】

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

代码语言:javascript
复制
Input::get(‘参数的名字’, ‘如果参数没有被传递使用该默认值’)    //类似php里三元运算符
Input::all(): 获取所有的用户的输入
Input::get('参数的名字'): 获取单个的用户的输入
Input::only([ ‘id’,’age’]): 获取指定几个用户的输入
Input::except([ ‘id’,’age’]): 获取指定几个用户的输入以外的所有的参数
Input::has('name'):判断某个输入的参数是否存在

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

在laravel中如果需要使用facades的话,但是又不想写那么长的引入操作:

代码语言:javascript
复制
Use Illuminate\Support\Facades\Input

则可以在config/app.php中定义长串的别名(在aliases数组中定义别名):

在这里插入图片描述
在这里插入图片描述

案例:在Home /index/test2路由下测试上述的方法

在这里插入图片描述
在这里插入图片描述

定义路由:

代码语言:javascript
复制
/home/index/test2
在这里插入图片描述
在这里插入图片描述

编写test2方法测试上述的获取信息的操作: 给test2路由传递一系列的参数(get传值)

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
在Laravel中友好输出函数:dd(需要打印的内容);
dd=dump + die
dd函数之后的内容将不会继续执行;
在这里插入图片描述
在这里插入图片描述

在Laravel中除了Input类可以获取用户的输入,Request也可以获取用户输入。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 三、控制器使用©
    • 1、控制器文件写在哪里?
      • 2、控制器文件如何命名?
        • 3、结构代码如何书写?【重点】
          • 4、控制器路由(项目以该方式为主)
            • 5、接收用户输入【重点】
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档