首页 » 建站技术 » PHP 技术 » 浏览内容

十个你可能不知道的 PHP 的编程技巧


2007-12-29 00:10:30 4,192 0 发表评论 字体: 作者:C.K.
标签: 教书日志

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

在我曾经使用 PHP 开发的时候,我发现 PHP 既是一个“令人愤怒”,又是一个令人享受的语言。之所以说它“令人愤怒”主要是因为其函数的命名是如此的矛盾。事实上,尽管每天我都会用到它,但我仍不得不考虑到“是 str_pos 还是 strpos? str_split 还是 strsplit?”之类的问题。另一方面,我有时发现仅仅通过一行代码即可完美地解决手头的问题。

下面是一个简短的列表(对你来说,可能非常有用):

1. 使用 ip2long()long2ip() 函数将 IP 地址由字符串转换为整数存储到数据库。这样可以减少约四分之一(15字节的字符对比4字节的整数)的存储空间,更易于计算该 IP 地址的有效范围,而且还加速了搜索和排序的效率。

2. 通过 checkdnsrr() 函数来验证 Email 地址的 Domain 部分是否存在。此内置函数将检查指定域名是否解析到某一 IP 地址以验证其有效性。你可以在 PHP 文档的“用户评论”部分找到一个通过此函数来验证Email地址有效性的用户自定义函数。

3. 如果你正在使用 PHP5 和 MySQL 4.1及以上版本, 建议使用改进的 mysqli_* 函数代替 mysql_* 函数。它的一个优秀特性就是如果你正维护的网站非常依赖数据库的话,你可以用 mysqli_stmt_prepare 来提高查询的效率。附:一些测试

4. 熟悉,并喜欢三元运算符

5. 项目中,有时候需要重写某一模块,建议你在重写之前先看看 PEAR。 PEAR 是一个非常重要的资源,许多 PHP 程序员都知道它,但更多的还不知道。它是一个在线的知识库,包含了400个以上可以良好的作用于PHP程序的可重用的代码片断。除非你的项目真的很“独特”,否则你应该能够找到一个 PEAR 包,至少它可以节约时间。(参考 PECL

6. 使用 highlight_file() 输出一个被格式化和高亮的页面源代码复本。此函数很实用,尤其是在一些类似于留言薄,IRC等应用中。显然地,一些包含敏感信息诸如数据库连接,密码等信息的源文件需要引起注意。

7. 使用 error_reporting(0) 函数避免显示潜在的敏感信息给用户。理想的情况下,应该通过修改 php.ini 将错误报告完全地禁用。然而,如果你在一台多人共享的虚拟主机上,那么你便没有权限,所以最好的办法就是增加 error_reporting(0) 在每个脚本的第一行(或者通过 require_once() 包含它),如此当程序发生错误的时候,便可避免潜在的SQL查询语句和路径信息暴露给用户。

8. 存储一个大字符串到数据库之前,使用 gzcompress() gzuncompress() 进行压缩/解压。此内建函数使用 gzip 算法,其明文压缩率可以达到 90%。几乎每次我用 PHP 读写一个 BLOB 字段的时候都会用到它们(除需要全文索引时)。

9. 通过引用参数从一个函数返回多个值。就像三元运算符一样,许多拘谨于编程背景的程序员早已知道它。但是,比起 Pascal 更了解 HTML 的程序员可能会为“如何从一个函数中返回多个值?难道我只能返回一个值吗?”的问题而困惑。这个问题你可以通过在变量前面加上“&”以引用来解决。

10. 完全地理解“magic quotes”和SQL注入所带来的危害。我希望众多开发人员在读到这篇文章之前就已经熟悉SQL注入。然而,我把它列在这里的原因就是它的重要性是绝对有必要知道的!如果你从未听说过它,那么花费一天中剩下的时间用 Google 搜索并学习下吧!

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今4768 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2017-7-1 18:16:33
    • 您是本站第 13213812 位访客

    广告区 Guǎng Gào