PHP

给 PHP 开发者的编程指南-第一部分: 降低复杂程度

本系列的介绍

PHP 是一门自由度很高的编程语言。它是动态语言,对程序员有很大的宽容度。作为 PHP 程序员,要想让你的代码更有效,需要了解不少的规范。很多年来,我读过很多编程方面的书籍,与很多资深程序员也讨论过代码风格的问题。具体哪条规则来自哪本书或者哪个人,我肯定不会都记得,但是本文(以及接下来的另一篇文章) 表达了我对于如何写出更好的代码的观点:能经得起考验的代码,通常是非常易读和易懂的。这样的代码,别人可以更轻松的查找问题,也可以更简单的复用代码。

PHP最好用的依赖工具Composer介绍

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

依赖管理

Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

这种想法并不新鲜,Composer 受到了 node 的 npm和 ruby 的 bundler 的强烈启发。而当时 PHP 下并没有类似的工具。…

    

深入理解ob_flush和flush的区别

ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑…

其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情..

ob_*系列函数, 是操作PHP本身的输出缓冲区.

所以, ob_flush是刷新PHP自身的缓冲区.

而flush, 严格来讲, 这个只有在PHP做为apache的Module(handler或者filter)安装的时候, 才有实际作用. 它是刷新WebServer(可以认为特指apache)的缓冲区.

在apache module的sapi下, flush会通过调用sapi_module的flush成员函数指针, 间接的调用apache的api: ap_rflush刷新apache的输出缓冲区, 当然手册中也说了, 有一些apache的其他模块, 可能会改变这个动作的结果..…

使thinkphp 3.2.3兼容PHP7

一。

修改thinkphp下  /Library/Org/Util/String.class.php ,改个名字,比如 Stringstr.class.php  (因为string在php7中是保留字,不能用做类名)。

将Stringstr.class.php中的 类名修改为 Stringstr.  ,再将此文件中的String:: 修改为Stringstr::。

二。修改你 项目中的所有文件中的 use Org\Util\String; 为 use Org\Util\Stringstr; , 所有项目文件中的 String:: 修改为Stringstr::。

三。配置文件中的数据库类型改为 mysqli.,并将所有文件中的 mysql_*类函数修改为mysqli_*函数。

做了以上几点就可以做到使thinkphp 3.2.3兼容php7了,目前我的一个项目中运行正常。当然也可能有遗漏,如果有,以后再补充。…

            

每个程序员都应该知道的 15 个最佳 PHP 库

PHP是一种功能强大的web站点脚本语言,通过PHP,web网站开发者可以更容易地创建动态的引人入胜的web页面。开发人员可以使用PHP代码与一些网站模板和框架来提升功能和特性。然而,编写PHP代码是一个繁琐又耗时的过程。为了缩短开发时间,开发人员可以用PHP库替代编写代码来为站点添加功能。

使用PHP库来取代编写代码,可以显着地降低网站的开发时间,从而开发人员可以将时间投入到网站设计等重要环节。

今天我们要介绍的就是15个最佳的PHP库,它们将帮助网站开发人员轻松提高网站的功能,优化PHP的开发时间。…