您的位置:首页 > 职场人生

PHP程序员应该使用的10个组件

2009-07-14 15:50 429 查看
简介

PHP程序程序员必须知道的十个项目组建,有了它们可以为你节省很多时间。

  作为一个PHP程序员,你应该知道PHP有着最大的代码库。所以无论你想在程序中添加什么
模块

,肯定能找到开源解决方案。

  开源解决方案可以给你很大的帮助,比如:

开源代码是由很多人一起完成的,因此往往比一个人完成的结果要好。

你可以获得免费的代码更新和升级,否则你需要自己来写这些新的内容。

你节省了
开发

时间,同时提高了项目的质量

  做了那么多年的网络
开发

人员,我自己整理了一份PHP组件的清单,这些组件可以非常容易地部署在任何项目中,我经常使用。

邮件发送


  每个网站都会需要发送邮件。PHP的email()函数虽然不错,但当我们需要发送附件或使用SMTP协议发送的时候,就无能为力了。所以在这样的情况下,你应该使用
phpmailer



用户管理


  另一个常用的
模块

是用户管理模块。使用该模块可以使用户进行登录、登出和注册等操作。我个人感觉找不到一个很好的组件来完成这个任务,所以就自己写了一个
Php user class

。这个组建甚至可以用在需要公开发布的应用中,因为它可以根据定制来使用不同的数据表、变量类型等。

获取RSS


  你有想过在你的程序中添加获取RSS信息的
组件

吗?虽然要编写一个这样的组件很容易(
教程

),但更多的时候你需要更全面的功能,这个时候你就需要使用
Magpie RSS



地理定位


  很多时候你会想知道网站的访客来自哪些国家和地区,
Maxmind

就给出了针对此问题的解决方案。(
教程



获取远程信息


  有时RSS的功能并不能满足你获取远程信息的需求,因为你想将整个网页的信息捕捉并保存起来。这时你肯定会需要
htmlSQL class

这个组件。你可以通过它使用SQL语句来获取网页信息,很酷吧?

引用通告


  在我们这个时代里,发送和接受引用通告是网站的一项非常重要的功能。如果使用
php trackback

这个组件就能非常容易地办到了。

模板系统


  模板系统是所有网站都会使用的一个
组件

。模板引擎可以节省你很多时间,而且可以让改变网站页面风格和设计变得非常容易。
Smarty

是一个非常优秀的模板系统,基本上所有的PHP网站都在使用它。

BB代码


  BB代码过去是论坛的一项功能,但随着越来越多的网站使用这项功能来让自己变得更加友好,相信你也想试一试这个功能吧。但问题在于BB代码
组件

的编写需要大量的时间和经历,不知道你是否能自己写出来。如果你不能,那就使用
StringParser BBcode class

吧。

PayPal支付系统


  你也许知道,对于那些想在自己的网站中设立PayPal支付系统的网站,PayPal提供一套非常好的应用程序接口(API)。
paypal IPN integration class

组件便可以让你在20分钟内实现这个功能。

编辑器控件


  对我来说,用
php

MyAdmin和一般的文本编辑器就可以很好地修改网站的内容。但对于我的客户来说,他们需要一种所见即所得(WYSIWYG)的功能强大的编辑器来帮助他们晚场工作。使用javascript编写的
tinyMCE control

就是这样一个组件,使用它可以让你节省很多时间。

所有PHP程序员都应该知道的五个工具

Phing - 一个项目构建系统



Phing

是一个基于
Apache ANT

的项目构建系统。它的名字是一个拗口的语句首字母缩写 - PH
ing I
s N
ot G
NU make 。Phing可以做传统构建系统比如
GNU make

能做的任何事情,同时没有陡峭的学习曲线。

在phing(以及其他的构建系统)背后的思想是评估一系列相关性,然后执行一系列PHP类去正确的安装和配置一
个应用系统。构建过程用一个简单的XML配置文件控制。Out of the box,
phing内置可以执行一系列替换(比如:在你的开发版本和产品版本间改变include路径)、执行SQL语句、移动和复制文件、运行外部脚本等等。通
过扩展包含在发行包中的“task”类,你也可以创造自己的定制任务。

对任何需要在超过一台服务器上部署大型PHP应用的人来世,Phing是一个无价之宝。同时我发现它对简单的PHP脚本也是很有用的。

Xdebug - 调试和分析
工具



Xdebug

是帮助你调试和分析脚本的一个PHP扩展。Xdebug中最有用的特性是在激活后显示的新注意信息、警告信息和错误信息。如果一个脚本不能正常运行,Xdebug将会输出关于错误信息的完整
堆跟踪

,会附带函数名称、参数值、源文件和行号。这对于厌倦了PHP默认只带的可怜的错误报告功能的程序员是一个值得欢迎的特性。

这个扩展有很多更先进的功能,允许开发人员进行代码覆盖率分析,收集分析信息以及交互式地调试脚本。
profiling functionality

功能尤其有用。分析器使用一个普通的输出文件格式,允许你使用象
KCacheGrind

这样的工具快速发现你代码中的瓶颈。对任何严肃的开发人员而言,一个好的分析器是基本工具,它使得你妥善优化你的代码,同时避免
过早优化带来的危害



PHPUnit - 单元测试框架



PHPUnit

是一个轻量级的PHP测试框架。它是在PHP5下面的
JUnit 3.8.1

完整移植,是
xUnit

测试框架家族的一员(它们基于
软件模式

先锋
Kent Beck

的设计)。

单元测试是几个现代
敏捷开发方法

的基础,使得PHPUnit成为许多大型PHP项目的关键工具。这个工具也可以被前面讨论的Xdebug扩展用来生成
代码覆盖率报告

,并且可以
与phing集成

来自动测试。

Propel - ORM(对象关系映射)框架



Propel

是一个PHP5下面的
对象关系映射

(ORM)框架,它起源于
Apache Torque

项目。它提供了一个复杂但是易用的数据库抽象层,使得你可以在PHP中象使用普通类和对象一样得使用数据库实体。Propel允许你使用一种简单的XML格式定义你的数据库,这个XML文件被用来映射数据库,生成应用中使用的静态类。

Propel被内嵌于流行的
Symfony PHP框架

(
还有其他的

),它使得代码更灵活、模块化以及可移植。这个项目有The project has
出色的文档

,以及很棒的支持社区。

php

MyAdmin / phpPgAdmin - 基于web的数据库管理系统



历史有点长可是还是很有用,
是对于任何数据库(对应PostgreSQL和SQLite是



)最有用的管理工具之一。它有助于做每一件事情 - 从为了调试应用去创建和删除数据库到做备份。安装它通常是我在一个LAMP服务器上面安装完 Apache, PHP和MySQL后做的第一件事情。如果你使用MySQL,不知何故还没听说过它,那么

现在就安装


php

SQLiteAdmin
php

PgAdmin
php

MyAdmin

其他
工具

还有很多优秀的
工具

用以符合各种需要,帮助PHP开发者创建一个丰富的开发环境 — 我希望我可以说到所有这些工具。我发现对自己有用的工具有
PHP Beautifier

,
Spyc

,
Creole


Smarty

。我确信还有很多我忘记或者没听说过的有用工具。因此,如果你知道某个我遗漏的PHP开发伟大工具,请留言让我(以及所有人)知道!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息