看看官网加粗的一句话: At its core, Slim is a dispatcher that receives an HTTP request, invokes an appropriate callback routine, and returns an HTTP response. That’s it. 那么它是如何分发接收到的Request的呢,这几天就来研究这个事情. 先看看为了让请求进入到index.php 需要对Apache做什么.配置如下,其实也是通常配置而已: # D…
上一篇中分析了get()如何加入新的route的,这篇来分析route是如何被调用的. 首先,route是在routers里保存,router有在container中存放.container提供了get()方法获取里面的元素,性质类似于Set().这个性质见Slim\Container的get()和Pimple\Container的 offsetGet()方法. /**Slim/Container:**/ /** * Finds an entry of the container by its…
先标记觉得以后会用到的内容: // add route to the request's attributes in case a middleware or handler needs access to the route $request = $request->withAttribute('route', $route); 或许以后可以在Middleware中拿到route做些其他的事情. 上篇已经分析到route是在APP的__invoke()中被调用的,这里来看看怎么匹配route的…
最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展,并重新打包文件,替换原有的 jar 文件,满足测试开发自身的需求. 下面以修改 eclipse 默认注释中的 ${date} 和 ${time} 对应的返回样式(如下图所示),进行实例说明.…