可能会使用其中的若干——这就是项目的依赖。到目前为止,PHP还没有有效的 项目依赖管理方案。即使你手工的管理它们,你还不得不处理它们的自动加载问题。
目前主要有两个PHP包
管理系统:Composer和PEAR,哪个适合你呢?答案是两个都需要。
? 管理单个项目的依赖时使用Composer ? 管理整个系统的PHP依赖时使用PEAR
通常情况下,Composer包只在你项目中明确指定时才可用,而PEAR包在所有的PHP项目中可用。尽管PEAR听起来似乎更简单,但是根据每个 项目制定
方案可能更合适。
Composer and Packagist
Composer是一个出色的PHP依赖管理器,把项目的依赖列在composer.json文件中,然后通过一些简单的命令,Composer就会 自动的帮你下载这些依赖,并配置好自动加载路径。
现在已经有很多PHP库支持Composer,可以在项目中使用它们,具体
列表可以点击查看,这是官方支持的Composer兼容的PHP库。
如何安装Composer
Composer可以安装在本地(在当前
工作目录,不推荐这种方式),也可以安装在系统中(如/usr/local/bin)。假设你要在本地安装,在 项目的根目录执行:
它会下载composer.phar(PHP二进制
文档),然后你就可以用php运行它来完成项目依赖的管理。 请注意:如果 你通过管道直接把下载的代码传给PHP解释器,请先在线阅读代码以确保该代码是安全的。
如何手动安装Composer
手动安装composer有点麻烦,不过很多开发者可能更喜欢这种安装方式。使用交互式安装
程序,它会检查你安装的PHP:
? PHP版本满足要求
? .phar文件可以正确执行 - 相关目录的权限设置正确 - 没有加载某些不兼容的扩展 ? 相应的php.ini设置正确
而手动安装则需要你自己做这些事情,你必须自己权衡利弊,以决定是否手动安装。下面是手动获取Composer的方法:
目录$HOME/local/bin(或你自己选择其它目录)应该在你的$PATH环境变量中,从而可以直接运行composer命令。 这样
文档中描述的运行Composer的命令php composer.phar install,就可以用如下命令替代:
如何定义和安装依赖
首先,在composer.phar所在目录创建文件composer.json,下面是一个依赖Twig例子:
第二步:在项目根目录运行:
这会在vendors/下载和安装项目依赖。最后在应用的PHP入口文件添加下面代码,告诉PHP使用Composer自动加载器加载项目的依赖库:
? 学习Composer
PEAR
另外一个常用的包管理器就是很多PHP开发者喜欢的PEAR,它的运行方式类似,值得你深入学习一下,深入了解PEAR.
Coding Practices
基础知识
PHP是一个伟大的语言,可以让各个层次的程序员都能够快速高效地完成编码任务。虽然如此,我们还是经常会因为临时救急或者 坏习惯而忽视了PHP的基础。为了解决这个
问题,这部分专门给开发者回顾一下PHP的基础编码实践。
? 继续阅读
日期和时间
PHP使用DateTime类完成读取、设置、比较和计算日期与时间。虽然PHP中有很多日期和时间处理相关的函数,但是DateTime类提供了 完善的面向对象接口完成各项常见操作,而且还能处理时区,这里不作深入介绍。
要使用DateTime,可以用工厂方法createFromFormat()把原始的日期时间字符串转换为DateTime对象,或直接用new \DateTime 获得当前日期和时间的DateTime对象。用format()方法可以把DateTime对象转换成字符串输出。
DateTime计算时间时通常需要DateInterval类,如add()和sub()方法,都是将DateInterval作为参数。尽量避免直接用 时间戳表示时间,夏令时和时区会让时间戳产生歧义,使用间隔日期更为妥当。计算两个日期的差值使用diff()方法,返回 DateInterval对象,输出显示也很方便。
DateTime对象之间可以直接比较:
最后一个例子是DatePeriod类的用法,它用于循环事项(recurring events)的迭代。它的