TP6基础:控制器应用技巧
作者:Alpha时间:2021-07-14 阅读数:2821 +人阅读
thinkPHP从6.0版本开始,必须通过Composer方式安装和更新,无法通过git下载源码进行安装,这个和之前的版本有很大区别,对composer不熟悉的可以自行百度了解,掌握composer基本的用法还是不难的。
如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:
composer create-project topthink/think tp
注意:这里的tp可以根据自己的需要进行修改,例如:www_seoalphas_com,就是你的网站根目录。
如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新:
composer update topthink/framework
安装好后,就可以使用你配置的域名进行访问了。
下面是通过composer安装后获得的文件目录结构(单应用模式)
www WEB部署目录(或者子目录) ├─app 应用目录 │ ├─controller 控制器目录 │ ├─model 模型目录 │ ├─ ... 更多类库目录 │ ├─common.php 公共函数文件 │ └─event.php 事件定义文件 │ ├─config 配置目录 │ ├─app.php 应用配置 │ ├─cache.php 缓存配置 │ ├─console.php 控制台配置 │ ├─cookie.php Cookie配置 │ ├─database.php 数据库配置 │ ├─filesystem.php 文件磁盘配置 │ ├─lang.php 多语言配置 │ ├─log.php 日志配置 │ ├─middleware.php 中间件配置 │ ├─route.php URL和路由配置 │ ├─session.php Session配置 │ ├─trace.php Trace配置 │ └─view.php 视图配置 │ ├─view 视图目录 ├─route 路由定义目录 │ ├─route.php 路由定义文件 │ └─ ... │ ├─public WEB目录(对外访问目录) │ ├─index.php 入口文件 │ ├─router.php 快速测试文件 │ └─.htaccess 用于apache的重写 │ ├─extend 扩展类库目录 ├─runtime 应用的运行时目录(可写,可定制) ├─vendor Composer类库目录 ├─.example.env 环境变量示例文件 ├─composer.json composer 定义文件 ├─LICENSE.txt 授权说明文件 ├─README.md README 文件 ├─think 命令行入口文件
访问配置的网址,就可以看到thinkPHP熟悉的欢迎界面:
新建控制器:
默认的单应用模式,如果需要创建新的控制器,需要在controller目录新创建新的类,注意命名空间的设置(可以直接复制Index.php的配置)
namespace app\controller; use app\BaseController; class Demo extends BaseController { public function index(){ return 'demo/index'; } public function json(){ $result = [ 'status' => 1, 'message'=> "ok", 'data' => [ 'name' => '张三', 'age' => 25 ] ]; $header = [ 'Tokey' =>'miyunkeji' ]; return json($result, 201, $header); } }
新建了一个Demo控制器,下面有两个方法index和json,分别返回了两种数据类型字符串和json格式的数据。
访问url:
http://www.xxx.com/demo/index http://www.xxx.com/demo/json
上面返回json数据使用了json()方法,这里调用的是:\vendor\topthink\framework\src\helper.php下的json方法:
if (!function_exists('json')) { /** * 获取\think\response\Json对象实例 * @param mixed $data 返回的数据 * @param int $code 状态码 * @param array $header 头部 * @param array $options 参数 * @return \think\response\Json */ function json($data = [], $code = 200, $header = [], $options = []): Json { return Response::create($data, 'json', $code)->header($header)->options($options); } }
方法json方法,查看响应信息,就可以看到我们设置的状态码为201(默认为200),header设置的Token参数
本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com