排序
swoole监测客户端是否断线的方法
swoole中$fd是TCP客户端连接的标识符,在Server实例中是唯一的,在多个进程内不会重复。 检测fd对应的连接是否存在。 function Server->exist(int $fd) : bool; $fd对应的TCP连接存...
swoole自定义错误的方法
创建错误处理器 实现errorhandlerinterface接口 namespace App; use CoreAbstractInterfaceErrorHandlerInterface; class Test implements ErrorHandlerInterface { function han...
swoole错误处理的方法
在协程编程中可直接使用try/catch处理异常。但必须在协程内捕获,不得跨协程捕获异常。 不仅是应用层throw的Exception,底层的一些错误也是可以被捕获的,如function、class、method不存在 错误...
swoole错误查看的方法
当使用swoole发生段错误时,请及时向开发组报告。可以使用gdb工具来得到一份bt信息。使用gdb跟踪需要在编译swoole时增加--enable-debug参数。 如果不方便gdb,也可以提供一份可稳定复现的demo程...
ThinkPHP:数据查询的基本原则
对于本文涉及到的数据查询的几个基本原则请尽量纳入你的项目规范,也是官方倡导的最佳实践。在此之前,我希望你已经看过之前的一篇博客:「 你真的了解Db类和模型的正确使用姿势么? 」。 尽量...
ThinkPHP的安全注意事项
本文主要和大家探讨一下ThinkPHP的安全注意事项,可以作为ThinkPHP建议的安全规范实践。 首先,没有绝对的安全,只要你有足够的安全意识才能尽可能的杜绝安全隐患。规范的使用框架,能让你尽量...
ThinkPHP:模型三大利器之三(获取器)
定义获取器 获取器的作用是对模型对象的(原始)数据做出自动处理。一个获取器对应模型的一个特殊方法(该方法必须为public类型),方法命名规范为: getFieldNameAttr FieldName为数据表字段的...
ThinkPHP:模型三大利器之二(修改器)
修改器是模型的三大利「器」之一,本篇我们来总结下修改器的用法,以及一些注意事项。 定义修改器 修改器的作用是在模型对象数据写入数据库之前进行一些必要的数据处理,修改器的标准定义如下:...
ThinkPHP:模型三大利器之一(搜索器)
[√新技能] 搜索器——统一管理你的搜索代码 模型搜索器是自模型获取器和修改器功能之后的第三个统一管理的利器,主要用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的...
ThinkPHP:Db类和模型的正确使用
发现很多开发者在使用ThinkPHP5.*的时候不明白Db和模型的正确使用姿势,尤其是在5.1版本里面,如果你没有使用下面的正确姿势,有很大可能性会踩坑。 Db的正确姿势 下面是官方推荐的Db类用法(也...
ThinkPHP5.1:数组对象查询的使用
用过5.0的开发者都比较依赖5.0的数组查询方式,但是很无奈5.1的数组查询方式和5.0的区别很大,因此经常听到开发者抱怨5.1的数组查询不好用。 首先,出于安全和易用性的原因,官方是不推荐使用数...