php教程技术文章
-
Yii数据导出分扩展集成与手写逻辑两条路径:yii2-export适合快速导出但需处理乱码和CSV转义;手写推荐fputcsv导出CSV(UTF-8+BOM)、PhpSpreadsheet导出Excel(设中文字体、禁用公式),并注意内存、超时及分页控制。340 收藏 -
file_get_contents()远程失败主因是allow_url_fopen被禁用或SSL验证失败;应改用带超时、状态码检查和错误处理的cURL,并验证JSON解析结果与BOM头。231 收藏 -
PHP框架通过前端控制器统一入口,经自动加载、容器实例化、中间件注册、路由匹配、控制器执行到响应返回;生命周期钩子(如Laravel的boot/register/handle或Symfony的kernel.request/response)支持依赖注入、权限校验与日志记录。386 收藏 -
PHP8.2+支持readonly类,是类型契约起点;8.4的propertyhooks解决读写不一致;8.5的|>和clonewith仅在特定场景省力,且各特性有严格版本边界。273 收藏 -
PHPWebSocket客户端重连间隔由所用第三方库控制,如textalk/websocket需手动实现sleep()重试,reactphp/websocket-client则通过RetryPromise配置延迟与退避策略。128 收藏 -
Laravel查询构建器不支持havingBetween方法,因其未在底层硬编码,且having子句语义复杂;应使用havingRaw('SUM(price)BETWEEN?AND?',[100,500])实现安全区间判断。442 收藏 -
新增channel需在config/logging.php的channels数组中明确定义,且LOG_CHANNEL仅影响未指定channel的默认调用;daily驱动必须显式设'lock'=>false防并发卡顿,权限0664需配合属组可写,调用须用Log::channel('name')->info()。315 收藏 -
Symfony服务容器通过声明依赖自动注入,无需手动new或get();推荐构造函数注入,支持自动装配和接口绑定,手动配置仅用于特殊场景。201 收藏 -
腾讯云人脸特效API不支持PHPSDK直接调用,需手动调用facefusionREST接口,严格签名、multipart上传、校验图片格式与参数,并复用官方签名逻辑。457 收藏 -
Generator对象不能调用rewind(),因其是单向不可重置的迭代器,调用会抛出Fatalerror;需多次使用时应重新创建实例。282 收藏 -
DoctrineFixtures是专为测试和开发环境生成模拟数据的独立扩展包,非数据库迁移工具或ORM核心功能;需用--dev安装、正确配置bundles.php、匹配版本、继承Fixture类并使用ObjectManager参数。141 收藏 -
phpenvinstall命令报“commandnotfound”是因为该命令依赖php-build插件,需手动克隆安装;编译失败主因是系统缺少autoconf、build-essential等构建依赖或OpenSSL/zlib路径配置不一致。321 收藏 -
Workerman原生支持标准WebSocket协议,可与Vue3直接配合实现弹幕;关键在于后端用Worker("websocket://0.0.0.0:2347")启动服务,前端Vue3用newWebSocket("ws://...")连接,禁用Socket.IO等非标方案,避免协议不兼容导致断连。125 收藏 -
@Value不支持注入数组配置,因其仅支持基础类型转换;应使用ConfigInterface::get()手动获取数组,或转为JSON字符串后json_decode解析。189 收藏 -
PHP删除必须服务端二次确认、POST提交、校验数据归属、预处理SQL、重定向防重复。关键在于隔离确认与执行流程,并验证用户权限,否则易致越权或误删。206 收藏