PHP技术
-
浅谈如何提高PHP代码质量之单元测试
1、单元测试 通过实现单一责任原则(我们的代码应该只关注功能的单个部分),我们将确保在测试期间,我们只会同时关注项目的一小部分 通过使用 Liskov 替换原…… -
-
-
详解Laravel框架的依赖注入功能
概述 任何时候,你在一个控制器类中请求一个依赖,这个服务容器负责: 1.自动地在构造函数中检测依赖关系 2.如果需要构建这个依赖关系 3.通过构造函数创建对象…… -
如何理解PHP程序执行的过程原理
概述 Web环境我们假设为Apache。在编译PHP的时候,为了能够让Apache支持PHP,我们会生成一个mod_php5.so的模块。Apache加载这个模块,在url访问.php文件的时候…… -
如何使用Zephir轻松构建PHP扩展
简介 比如,在 PHP 中需要与 SQLite3 交互,我们可以自己写方法与之进行连接,再写 SQL 语句请求数据。然而,这都是些既琐碎又重复度相当高的工作,因此,所有…… -
浅谈一种Laravel路由文件划分方式
最初,我想到了利用路由组方法可以接收文件,这就是 laravel 在 RouteServiceProvider 处拆分路由的方式。 <?php namespace AppProviders; use Illum…… -
浅谈如何提高PHP代码质量之端到端集成测试
概述 在这里,我们可以使用为行为驱动开发构建的工具——官方 PHP 的 Cucumber 实现——Behat。我们可以通过运行以下代码来安装它: $ php composer.phar require…… -
如何使用Casbin作为ThinkPHP的权限控制中间件
概述 PHP-Casbin是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理。 Think-Casbin是一个专为 ThinkPHP5.1 定制的 Casbin 的扩展…… -
浅谈swoole的作用与原理
PHP 中的 Node ?Swoole 到底是什么? 我先从官方文档中引用下 Swoole 的定义: Swoole:面向生产环境的 PHP 异步网络通信引擎。 使 PHP 开发人员可以编写高性…… -
-
-
详解PHP框架EasySwoole
安装 使用 Composer 安装 composer require easyswoole/easyswoole=3.xphp vendor/bin/easyswoole install 启动框架 php easyswoole start nginx转发 ser…… -
-
php回溯算法计算组合总和的实例代码
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。…… -
如何使用PHP7的Yaconf
简介 我见过很多的项目中, 用PHP文件做配置的, 一个config目录下可能有十几个甚至数十个.php配置文件, 里面都是各种各样的array, 还有甚者会把一些词典文件(比…… -
如何在Laravel中验证zip里的文件
目录 概述 PHP 的libzip扩展 如何操作 ZIP 文件 集成到 Laravel 程序中 最佳实践 概述 如果我们希望用户上载 ZIP 文件,我们可以结合规则并像如下所示的内容…… -
php中array_pad()函数用法及实例
1、array_pad($array,$size,$value)函数可以将某个键值$value插入到数组$array中,从而将数组填补到指定的长度$size。($size参数可以理解为数组中元素的最终…… -
如何使用PHP依赖管理工具Composer
前言 别再到处搜PHP类扩展包了,对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不…… -
-
如何使用PHP对象POPO来优化你的代码
目录 我们有如下的问题 结论 我们有如下的问题 1.那么在另一种编程语言中 POJO 的名字是什么呢? 关于普通旧对象的约定是 “普通旧编程语言对象”。如果你在 R…… -
Fatal error: 'break' not in the 'loop' or 'switch' context in Function.php
今天本地改代码改完做测试发现现在的文件中打开是Break' not in the 'loop' or 'switch' context“这样的;当时一脸懵逼,这是一个老项目最近也没动啊怎么回事…… -
详解PHP多进程消费队列
目录 引言 nginx进程模型 进程设计 进程信号量设计 PHP安装修信号量 信号量和系统调用 daemon(守护)进程 命令设计 启动命令 强制停止命令 强制重启命令 …… -
浅谈Laravel中如何对大文件进行加密
我已经搜索过用于解决此问题的软件包或解决方案,并遇到了这个 Stack Overflow 回答和这个 PHP 解决方案,该解决方案基本上是 Stack Overflow 所描述的解决方…… -
浅谈Laravel中使用Slack进行异常通知
概述 通常,我们可以依靠用户反馈、经常查看程序日志来发现程序存在的问题。但这要么不可靠要么不及时,所以下面我们介绍一种比较有效的做法--使用 Slack 通知……