女朋友想让我陪她去洱海,因为上海直达大理的机票太贵啦┭┮﹏┭┮(后来算上住宿, 中间的火车,花的钱差不多),我决定带着她从昆明,丽江再到大理,最后从大理再回昆明坐飞机回上海。
tp源码分析-middleware和hook
这块的中间件主要值的是route 中间件,对于请求发送到controller之前进行一系列的判断,是否缺胳膊少腿不符合要求,如果不符合,返回false, 符合 next($response)
钩子就是流程执行到某个点,触发用户绑定的方法,之所以这么做是为了用户可以在框架的层面做某些修改,而不用修改框架源码。
tp源码分析-facecde和ioc
首先我们梳理一下关系,ioc 作为一个容器,是个单例的存在,它存在于自身container的instance 属性中,他还有个instances 属性,作为一个关联数组,key的内容是类名,value 内容是某个类的实例(这个类并不一定要是单例), 当我们下次再去容器中取这个类实例的时候,还是之前的实例 (!!!千万注意一定是容器中取,才能保证是上次的类实例), 我们从容器中获取类实例,并不一定要提前bindto, bind 本质只是绑定一个别名,通过别名最终还是找到实际的类名,所以没有绑定直接传类名也是可以的。 那什么是facade 呢, 通过返回容器中的类别名或者类实际的名称,去容器中找类实例,然后调用该实际类的方法
docker
学习docker主要是因为他部署环境太方便了,相比较传统的傻瓜式yum还有稍微高大上一点的自己编译,docker在搭建环境速度上真的是太快了,而且可以避免一系列的乱七八糟的问题,就比如用安装easyswoole 这个框架,当我们用composer + easyswoole install 生成目录结构的时候或多或少出现一点问题,但是当我们下载easyswoole 提供的Dockerfile 的时候,我们只需要
1 | docker build . (包含Dockerfile的文件目录) |
就能快速生成一个运行着easyswoole框架的环境,但是我不知道怎么把宿主机也就是本机的目录映射到docker app中,虽然通过docker run -v 可以,但是当我docker cp (docker app 中的easyswoole初始目录) (宿主机目录),我发现总是有些文件夹没有复制出来,问题还没有解决,还有docker compose, docker 多app 分工合作还是没有弄回,慢慢学吧