摘要:
服务端 <?php $socket = new Co\Socket(AF_UNIX,SOCK_STREAM,0); $socket->bind("/tmp/server.sock"); $socket->listen(2048); go(function ()use($socket){ while( 阅读全文
摘要:
开始开发框架的时候想使用php的自动加载函数来加载自定义的类,但是后来发现 类多了之后写加载函数太麻烦 与新技术不接轨 哈哈,所以就使用composer重新代码重写了一下,顺便记录下在本地使用composer开发项目的步骤 首先新建一个composer扩展目录 /home/www/wwwroot/g 阅读全文
摘要:
在swoole框架中使用 set_error_handler 和 set_exception_handler 根本不起作用,原因应该是被swoole扩展从底层劫持啦。当需要整体捕获运行中的错误和异常的时候,只能将绑定在onRequest的函数try.. catche 起来 另外 在php7中 Err 阅读全文
摘要:
定义 config 函数例如配置文件为 app.php <?php return [ "middlewares" => [ "before" => [ "app\Http\Middleware\BeforeMiddleware", "app\Http\Middleware\NextMiddlewar 阅读全文
摘要:
其实中间件无非就相当于一个过滤器的东西,在框架中将 请求或者响应 进行一层层的过滤,实现这种功能最合适不过的就是责任链模式啦 责任链模式的实现可以看这篇随笔 【php设计模式】责任链模式 下面记录下在框架中如何实现中间件的 首先需要先定义一个中间件的抽象类,抽象类中应该包含该对象的下一级节点,以及设 阅读全文
摘要:
路由器的实现大致分为一下几步 1.将 uri 和 控制器方法关联起来 2.访问 url 时根据 uri 找到对应的绑定的控制器极其方法并执行其方法 实现第一步我们模仿 laravel 中的那种方式使用 Route::method('uri','Controller@action'); 的方式来绑定, 阅读全文
摘要:
先试用Docker安装 RabbitMq docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 - 阅读全文
摘要:
interface MConfig { public function getConfig(); } class MysqlConfig implements MConfig { public function getConfig() { // 获取配置 return ['host', 'name' 阅读全文
摘要:
平时总使用composer,反而对自动加载的知识有些陌生啦,重新梳理下php中自动加载的知识 首先php中定义一个类当使用的时候需要将包含改类的文件引用进来才可以使用,例如 这种情况下如果类文件少的话还可以,但是如果类文件多的话,一个个去 require 岂不是要烦死 php中给出了两种解决方法: 阅读全文