- 博客(24)
- 资源 (4)
- 收藏
- 关注
原创 Laravel 源码学习
最近一直在研究,laravel passport 这块东西。就打算做下分享。打开自己的电脑一看,自己的php版本是5.3,不能在支持laravel5.5 了。今天就先装下环境,后面会对laravel 框架进行讲解这回打算主要从以下几个方面说起auth 中间件passport 的使用,及注意事项container 原理分析router 类讲解其他的根据情况来定
2018-01-04 23:11:46
285
原创 对Slim 框架进行总结 一
导读:今天我们来看看中间件的相关功能中间件Slim中的中间件分两种:应用级中间件、路由级中间件。应用中间件基于Rack协议实现,可以在应用对象调用之前或之后检查、分析、或修改应用环境变量、请求对象、响应对象。每个中间件类都继承自抽象类Middleware,且需要实现其抽象方法call。所有注册的中间件组成一个中间件栈,其结构类似于一个洋葱,先注册的中间件在里层,后注册的在外层,最里层的是应用对象自
2018-01-01 21:22:39
1378
原创 Slim 框架学习,第二十天 _Router(十一)
导读:今天继续学习Slim/Route.php 类剩余的功能。前面的章节,已经对每个方法都说过了。今天只剩一个__invoke 方法了__invoke/** * 根据当前请求和响应对象 调用 能调用的路由 * Dispatch route callable against current Request and Response objects * * 该方
2017-12-26 22:58:30
650
2
原创 Slim 框架学习,第十九天 _Router(十)
今天我们继续学习 Slim/Route.php 类剩余的内容. 一些get ,set 的方法就不说了。挑重点说下先看下 run 方法 /** * Run route * * 该方法遍历中间件堆栈,包括路由的回调并捕获生成的http响应对 象。然后将他们返回给应用程序 * This method traverses the middleware s
2017-12-25 22:22:26
738
原创 Slim 框架学习,第十七天 _Router(八)
导读,今天我们紧接着前几天的内容,学习 Slim/Route.php 类的功能先看一下该类被调用的地方在 Slim/Router.php 类中的 createRoute 方法中 protected function createRoute($methods, $pattern, $callable) { $route = new Route($methods, $pa
2017-12-21 22:45:15
391
原创 Slim 框架学习,第十六天 _Router(七)
导读:今天我们继续学习Route 类剩余的三个方法先接着昨天的内容,relativePathFor方法最后的三个方法 relativePathFor ,pathFor 和 urlFor 是调用关系。所以一起看下urlFor 调用了 pathFor方法/** * Build the path for a named route. * * This method is d
2017-12-20 22:22:50
287
原创 Slim 框架学习,第十五天 _Router(六)
接着昨天的内容,继续学习Router类的方法先看一下 dispatch 方法/** * 给http请求发送路由 * Dispatch router for HTTP request * * @param ServerRequestInterface $request The current HTTP request object * 返回的是一
2017-12-19 22:34:08
240
1
原创 Slim 框架学习,第十三天 _Router(四)
导读:今天我们继续学习Router类先看下setBasePath方法public function setBasePath($basePath){ if (!is_string($basePath)) { throw new InvalidArgumentException('Router basePath must be a string');
2017-12-15 23:55:28
284
原创 Slim 框架学习,第十二天 _Router(三)
导读:昨天我们学习了一下路由的接口 RouterInterface,今天我们看下,路由类的实现先看下面两段代码:Slim/DefaultServicesProvider.php $container['router'] = function ($container) { $routerCacheFile = false; if (is
2017-12-14 23:19:50
526
原创 Slim 框架学习,第十一天 _Router(二)
今天接着昨天的内容,继续讲RouterInterface 的内容popGroup/** * 从数组中,删除最后一个路由 * Removes the last route group from the array * * * @return bool True if successful, else False */ public
2017-12-13 23:03:32
343
原创 Slim 框架学习,第十天 _Router(一)
导读:前段时间我们学习了一下Slim 容器的相关知识,从今天开始,我们学习Router的实现原理首先我们看下Router 类的结构Slim/Router.php从结构可以看出,Router 实现了 RouterInterface下面,我们先看一下RouterInterface的结构下面详细分析一下RouterInterface 接口的内容//定义了两个常量 const DISPATCH_STA
2017-12-12 22:57:22
858
2
原创 Slim 框架学习,第九天 _Container(六)
导读:今天我们继续学习container 类剩余的内容 前面章节学习了容器类的 __construct,registerDefaultServices,get,exceptionThrownByContainer方法。今天学习,has,__get,__isset 方法has方法Slim/Container.phppublic function has($id) {
2017-12-11 22:28:18
245
原创 Slim 框架学习,第八天 _Container(五)
导读:我们继续学习container 类接着我们昨天的问题Slim/Container.phpprivate function exceptionThrownByContainer(\InvalidArgumentException $exception) { //这里的getTrace,就是InvalidArgumentException中的一个方法。 $tra
2017-12-08 22:22:57
406
2
原创 Slim 框架学习,第七天 _Container(四)
导读:昨天我们学习了一下,container 的 registerDefaultServices方法。今天学习剩下的内容。先看一下 get 函数vendor/pimple/pimple/src/Pimple/Container.phppublic function get($id) { if (!$this->offsetExists($id)) {
2017-12-07 22:18:27
899
2
原创 Slim 框架学习,第六天 _Container(三)
继续学习Container类的内容 昨天主要学习了一下,该类中的构造函数中的 parent::__construct($values);下面接着学习。public function __construct(array $values = []){ parent::__construct($values); $userSettings = isset($values['sett
2017-12-06 23:04:49
851
2
原创 Slim 框架学习,第五天 _Container(二)
今天主要分析一下container类的详细内容首先是一些默认配置,看下代码private $defaultSettings = [ 'httpVersion' => '1.1', 'responseChunkSize' => 4096, 'outputBuffering' => 'append', 'determineRouteBefo
2017-12-05 22:46:14
365
原创 Slim 框架学习,第四天 _Container(一)
今天主要讲一下,Slim 中的容器是怎么实现的 先看一下Container 的代码class Container extends PimpleContainer implements ContainerInterface{ /** * Default settings * * @var array */ private $default
2017-12-04 21:02:47
790
1
原创 Slim 框架学习,第四天
紧接第三天的内容,今天主要讲解。index.php 中的,$app->run() 做了些什么我们先看一下 run 方法:public function run($silent = false) { $response = $this->container->get('response'); //得到Slim\Http\Response 对象 try {
2017-12-01 22:52:49
538
原创 Slim 框架学习,第三天
紧接着第二天的内容 先上一段代码public function offsetGet($id) { echo $id."<br/>"; if (!isset($this->keys[$id])) { throw new UnknownIdentifierException($id); } if (
2017-11-30 23:12:26
823
原创 Slim 框架学习,第二天
紧接着第一天的内容 今天主要说下,App类中的map 方法 中的 route=route = this->container->get(‘router’)->map(methods,methods, pattern, $callable); 该方法。跳转过程Container 类public function get($id) { if (!$this->o
2017-11-29 21:18:02
804
3
原创 Slim 框架学习,第一天
index.php 分析 index 文件初识,分析每个语句背后含义。 require 'vendor/autoload.php'; //引入自动载入类,使用的是spl_register() $app = new Slim\App(); //实例化App对象 $app->get('/hello/{name}',function($request,$response,$ar
2017-11-28 20:57:26
2840
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人