约定规范
1、项目中类名称与类文件(文件夹)命名,均为大驼峰,变量与类方法为小驼峰。Core目录为框架核心目录,Conf目录为系统配置目录,默认应用目录为App。
2、若用easySwoole写HTTP API(网页)服务,控制器搜索路径(名称空间前缀)为"APPLICATION_DIR/Controller"。
3、easySWoole中类文件全部为自动加载(PSR-4),支持动态名称空间加载与文件引入。若需添加第三方包(项目),可以在Conf/Event中的frameInitialize方法获取AutoLoader实例引入,或在对应的业务逻辑代码中引入。
4、在HTTP响应中,于业务逻辑代码中echo $var 并不会将$var内容输出至相应内容中,请调用Response实例中的wirte()方法实现。
5、框架核心对象生命周期(单例对象):
- Core 实例生命周期与Server生命周期一致,请勿在业务代码中尝试手动创建或获取使用。
- SwooleHttpServer 实例生命周期与Server生命周期一致,请勿在业务代码中尝试手动创建,如需获取请以SwooleHttpServer::getInstance()方式获得。
- Dispatcher 实例生命周期与对应所在的Worker生命周期一致,请勿在业务代码中尝试手动创建。
- Request与Response对象存在于整个Http的请求-响应周期中,收到用户请求自动创建,响应结束后自动销毁,请勿自行创建,若需获取对应实例,请用Response::getInstance()或Request()::getInstance()获取对应实例。
- AutoLoader 当执行了框架初始化后,AutoLoader实例将会一直存在直至整个Server关闭,请勿自行创建。需要获取AutoLoader实例请以 AutoLoader::getInstance()方式获得。
- Config 实例生命周期与Server生命周期一致,请勿在业务代码中尝试手动创建,需要获取对应实例请以Config::getInstance()方式获得。
- Event 实例生命周期与Server生命周期一致,请勿在业务代码中尝试手动创建。
- Di 实例生命周期与Server生命周期一致,请勿在业务代码中尝试手动创建。如需获取对应实例,请以Di::getInstance()获取。