php框架
runtoweb3
go,python ,php,mysql
展开
-
Laravel Queue—消息队列任务
Laravel Queue—消息队列任务laravel队列的使用队列可以通过多种方式实现,在config/queue.php配置connection//这里配置了三种方式,具体选哪一种,需要在.env配置 QUEUE_CONNECTION=redis'connections' => [ 'sync' => [ 'driver' =...原创 2020-01-13 10:17:38 · 946 阅读 · 0 评论 -
php的错误异常处理
php的错误异常机制当我们没有自定义错误异常处理函数,php会按照默认的方式处理和显示错误异常。自定义默认的错误异常处理函数//注册捕获错误的处理函数set_error_handler([__CLASS__, 'appError']);//注册捕获错误的处理函数set_exception_handler([__CLASS__, 'appException']);//程序结束后...原创 2020-01-08 18:06:42 · 440 阅读 · 0 评论 -
TP5.1钩子的实现以及TP6.0事件的原理
TP框架的钩子功能很早就有了,tp5.1对它的实现又重新构造了,钩子的功能其实就是在代码中侵入其他代码流程。比如在初始化完后监听一个钩子,如果我们注册了这个钩子,并且绑定了一个行为,执行到这里的时候会执行我们绑定的行为。钩子的使用创建行为类,不用继承任何类namespace app\http\behavior;class ActionBegin{ public func...原创 2019-12-13 14:38:28 · 2127 阅读 · 0 评论 -
TP5.1中间件的使用
Tp5.1也引入了中间件的功能中间件使用1.定义中间件类框架可以使用它命令或者自己在application/http/middleware目录下面生成一个Check中间件,格式一定要如下:必须有handle方法,第一个参数必须是Request对象,第二个是闭包。class Check{ public function handle(Request $request, \...原创 2019-12-07 00:18:27 · 2813 阅读 · 0 评论 -
TP5.1数据库操作
数据库操作有两种方式,一种是直接通过Db类// table方法必须指定完整的数据表名Db::table('think_user')->where('id',1)->find();Db::name('user')->where(['name'=>'aa'])->select();Db::query("select * from think_user wh...原创 2019-12-06 00:18:37 · 730 阅读 · 1 评论 -
Tp5.1路由实现
路由有关的类RuleItem类,路由规则类,继承Rule类,一条路由规则就实例化一个RuleItem类,Rule::get()返回的就是RuleItem实例。1、重要属性$rule:路由规则字符串$name:路由标识$router:Router对象$vars:传参的参数数组$option:路由参数,多维数组,例如middleware。check().这个就是根据访问...原创 2019-12-03 17:56:12 · 1420 阅读 · 0 评论 -
Tp5.1Container类解读
Thinkphp5.1引入了容器类来管理各种对象,使用注册数模式管理对象,还使用了php的反射机制实现对象之间的依赖和注入。Container的重要属性1.$instances = array(); 存放对象的一个数组2.$bind = array( //默认的标识=>类名,获取实例时,当传入标识,可以通过这个属性找到类名,然后进行实例化操作。 'ap...原创 2019-11-26 23:31:31 · 605 阅读 · 0 评论 -
Thinkphp5.1类自动加载机制
tp5.1类加载功能都封装到Loader类当中,所以我们主要分析这个类的主要功能。1.几个重要属性Loader::$prefixLengthsPsr4,Loader::$prefixDirsPsr4,Loader::$fallbackDirsPsr4,Loader::$classMap2.自动加载流程2.1自动加载整个流程是通过Loader::register来实现...原创 2019-11-24 11:52:10 · 1457 阅读 · 0 评论