Thinkphp5.1--summary[1]

URL解析模式

http://serverName/index.php/模块/控制器/操作/参数值

1.index.php为入口文件,在public目录内的index.php文件
2.模块在application目录下默认有一个index目录,这就是一个模块
3.而在index目录下有一个controller控制器目录的Index.php控制器[controller中的必须大写!!]
4.Index.php控制器的类名也必须是class Index,否则错误
5.而操作就是控制器class Index里面的方法 如index()或hello()
6.完整形式为 public/index.php/index/index/index
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
controller中的Index.php中的Index(){}
1.在application目录下创建一个test目录(模块)
2.在test模块下创建控制器目录controller,并在旗下创建Abc.php(控制器)

application[文件夹]
        index[文件夹]
              controller[文件夹]
                         Index.php
        test[文件夹]
            controller[文件夹]
                          Abc.php
//Abc.php里面:
namespace app\test\controller;
 class Abc
 {
    publci function eat()
    {
      return 'eat!';
    }
 }

访问localhost/tp5.1/public/index.php/test/abc/eat

 class Abc
 {
    publci function eat($ who='隔壁老王')
    {
      return $who.'eat!';
    }
 }
 localhost/tp5.1/public/index.php/test/abc/eat/who/主人老李
 test:模块
 abc:控制器
 eat:操作
 who:参数

模块结构

在这里插入图片描述
1.模块下的类库文件统一命名为app\模块名
2,比如app\index\controller\Index
3.多模块设计在URL访问时,必须指定相应的模块名,比如public/test/abc/eat.
4.如果你只有test这一个模块的话,你可以绑定模块,从而 省略写法
5.pubic/index.php的文件,追加:

原本:
// 执行应用并响应
Container::get('app')->run()->send();  

绑定一个模块:
// 执行应用并响应
Container::get('app')->bind('test')->run()->send();

6.此时URL调用就变成了public/eat,但其他控制器无法访问

二.空模块
1.可以通过环境变量设置空目录,将不存在的目录统一指向指定目录
2.在config目录下的app.php修改,

  //默认的空模块名
  'empty_module'=> 'index'
  

三.单一模块
1.如果你的应用只有一个模块,那可以直接设置单模块
2.在config目录下的app.php可以修改

 // 是否支持多模块
    'app_multi_module'       => false,

改完后可以直接在application下建controller,在controller下建Index.php
Index.php里面

namespace app\controller
class Index
{
 public function index()
 {
   return '单一模块'
 }
}

3.目录结构可变成
在这里插入图片描述
4.URL地址 public/index/one,即控制器/操作
5.单一模块的命名空间也变更为:app/controller

四.环境变量
1.Thinkphp5.1提供了一个类库Env来获取环境变量
return Env::get(‘app_path’);

系统路径Env参数名称
应用根路径root_path
应用目录app_path
框架目录think_path
配置目录config_path
扩展目录extend_path
composer目录vender_path
运行缓存目录runtime_path
路由目录route_path
当前模块目录module_path

在这里插入图片描述
eg.

public function index()
{
 return '单一模块!:'.Env::get('app_path');
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP 5.1的`think-queue`是一个用于处理队列任务的扩展包。它基于`Symfony Queue`组件,可以帮助你实现异步任务处理、延迟任务执行等功能。 要使用`think-queue`,首先需要安装该扩展包。可以通过Composer进行安装: ``` composer require topthink/think-queue ``` 安装完成后,需要进行一些配置。在ThinkPHP 5.1,你需要在`config/queue.php`文件进行相关配置,包括设置队列驱动、连接信息等。 配置示例: ```php return [ // 默认使用的队列驱动 'default' => 'redis', // 队列连接信息 'connections' => [ 'redis' => [ 'driver' => 'redis', 'host' => '127.0.0.1', 'port' => 6379, 'password' => '', 'queue' => 'default', 'expire' => 60, ], ], ]; ``` 配置完成后,你可以定义自己的队列任务。在ThinkPHP 5.1,可以通过继承`think\queue\Job`类来定义任务,并实现`handle()`方法来处理具体的任务逻辑。 任务示例: ```php namespace app\job; use think\queue\Job; class MyJob { public function handle(Job $job, $data) { // 处理任务逻辑 // 完成任务 $job->delete(); } } ``` 定义完任务后,可以使用队列的`push()`方法将任务推送到队列: ```php use think\Queue; // 推送任务到队列 Queue::push('app\job\MyJob', $data, 'queue_name'); ``` 以上是简单的`think-queue`使用示例。你可以根据自己的需求,进一步配置和使用该扩展包。 希望能帮到你!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值