Slim 框架学习,第二天
来源:互联网 发布:nginx rtmp hls 配置 编辑:程序博客网 时间:2024/06/14 01:56
紧接着第一天的内容
今天主要说下,App类中的map 方法 中的
route= this->container->get(‘router’)->map(methods, pattern, $callable);
该方法。
跳转过程
Container 类public function get($id) { if (!$this->offsetExists($id)) { throw new ContainerValueNotFoundException(sprintf('Identifier "%s" is not defined.', $id)); } try { return $this->offsetGet($id); } catch (\InvalidArgumentException $exception) { if ($this->exceptionThrownByContainer($exception)) { throw new SlimContainerException( sprintf('Container error while retrieving "%s"', $id), null, $exception ); } else { throw $exception; } } }
路径 vendor/pimple/pimple/src/Pimple/Container.phppublic function offsetGet($id) { if (!isset($this->keys[$id])) { throw new UnknownIdentifierException($id); } if ( isset($this->raw[$id]) || !is_object($this->values[$id]) || isset($this->protected[$this->values[$id]]) || !method_exists($this->values[$id], '__invoke') ) { return $this->values[$id]; } if (isset($this->factories[$this->values[$id]])) { return $this->values[$id]($this); } $raw = $this->values[$id]; $val = $this->values[$id] = $raw($this); $this->raw[$id] = $raw; $this->frozen[$id] = true; return $val; }
- 在这里返回了router 对象,其中
val= this->values[id]= raw($this); 没有看太明白。 - 这里牵扯到了一个类,就是 DefaultServicesProvider,这里是他的服务提供者类。需要重点理解下。
- 明天重点工作,研究DefaultServicesProvider的实现原理。
阅读全文
0 0
- Slim 框架学习,第二天
- Slim 框架学习,第四天
- Slim 框架学习,第一天
- Slim 框架学习,第三天
- Slim 框架学习,第四天 _Container(一)
- Slim 框架学习,第六天 _Container(三)
- Slim 框架学习,第十天 _Router(一)
- Slim 框架学习,第十二天 _Router(三)
- Slim 框架学习,第十六天 _Router(七)
- struts2框架学习第二天
- Slim 框架学习,第五天 _Container(二)
- Slim 框架学习,第七天 _Container(四)
- Slim 框架学习,第八天 _Container(五)
- Slim 框架学习,第九天 _Container(六)
- Slim 框架学习,第十一天 _Router(二)
- Slim 框架学习,第十三天 _Router(四)
- Slim 框架学习,第十四天 _Router(五)
- Slim 框架学习,第十五天 _Router(六)
- 数据结构基本操作
- 百胜也要做外卖?市场会重新回到三足鼎立吗
- HttpConnection的get请求
- Hibernate的学习之路七(Transaction)
- Unity中SetPassCall, Batches的区别,它们与Draw call 的关系
- Slim 框架学习,第二天
- 个人模板【拓扑排序】
- Blog23@linux DNS配置(1)_高速缓存
- [Kafka]
- 高精度BigDecima
- Eratosthenes筛法
- 冒烟测试浅谈
- python 进程池
- 关于指针(1)