企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 控制器对象 控制器对象是http组件中方便客户端与服务端交互的对象,它使用了对象池对象复用模式,以及注入`request`和`response`对象进行数据交互 ## 对象池模式 http的控制器对象都采用了对象池模式进行获取创建对象. 例如: * 用户A请求`/Index`经过url解析以及路由转发,定位到了`App\HttpController\Index.php`控制器 * 由于是第一次请求,`new App\HttpController\Index.php`并将该对象存入到对象池中 * 对象池出列,获取该对象,并进行调用index方法进行处理请求 * 处理完毕,将对象的public属性重置为默认值,对象回收对象池 * 用户B请求`/Index`经过url解析以及路由转发,定位到了`App\HttpController\Index.php`控制器 * 由于是二次请求,对象池直接获取到第一次的对象,不需要new,直接调用`index`方法进行处理 ## 约定规范 * 项目中类名称与类文件(文件夹)命名,均为大驼峰,变量与类方法为小驼峰。 * 在HTTP响应中,于业务逻辑代码中echo $var 并不会将$var内容输出至相应内容中,请调用Response实例中的wirte()方法实现。 必须继承Controller基类 use EasySwoole\Http\AbstractInterface\Controller; ``` namespace App\HttpController\Api; use EasySwoole\Http\AbstractInterface\Controller; class Index extends Controller { public function index() { echo ‘index’; } } ```