• 如何写出规范的PHP代码
    时间:2012-07-27   作者:csdn_0000   出处:iteye.com

    写出优秀的代码是一门艺术,要想如此,就必须在一开始就养成良好的编程习惯。良好的编程习惯不仅有助于项目初期的设计(如模块化),还可以使你编写的代码更易于理解,从而使代码的维护工作更轻松、更省力。不好的编程习惯则会造成代码bug,并且会使以后的维护工作困难重重。

    本文以PHP语言为例,介绍一些良好的编程习惯,希望能够对你有所帮助。

    1. 规划代码结构

    优秀的PHP代码应该有清晰的结构。PHP面向对象的特性允许程序员将应用程序分解为函数或方法。如果代码晦涩难懂,你也可以添加注释,使代码的功能一目了然。编码时应尽量将前端代码(HTML/CSS/JavaScript)与应用程序的服务端规则分开,或者你可以使用遵循MVC模式的PHP框架来构建你的应用程序。

    2. 编码风格统一

    优秀的PHP代码应该具备统一的风格。比如,为变量和函数制定统一的命名规则,为循环任务(比如数据库存取、错误处理)制定统一的接入标准,或者保持有规律的代码缩进,这些编码习惯都可以让别人阅读代码更加轻松。

    3. 可移植性

    优秀的PHP代码应该具有可移植性。程序员应学会运用PHP现有的特性(比如魔术引号和短标签等),应该了解产品需求,适应PHP的特点,保证写出的PHP代码具有可移植性和跨平台性。

    4. 代码安全性

    优秀的PHP代码应该具有安全性。PHP5具有卓越的特性和灵活性,但应用程序的安全往往掌握在程序员的手中。作为专业的PHP开发人员,应该对安全漏洞有一些深入了解,常见的安全漏洞有跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、代码注入漏洞和字符编码漏洞等。使用PHP中的特定功能和函数(比如mysql_real_escape_string等)可以帮助程序员写出安全的代码。

    5. 添加注释

    代码注释是代码中的重要组成部分,它解释了函数运行的目的,这种注释会在代码以后的维护中提供非常有用的帮助。

    6. 避免简写标记

    应使用完整的起始标记,不推荐使用简写的起始标记。

    7. 用单引号代替双引号

    由于PHP会对双引号中的内容进行变量搜索,为了避免这种搜索带来的性能影响,程序员应该使用单引号引用字符串。

    8. 转义输出

    应该在htmlspecialchars函数中使用ENT_QUOTES参数,保证单引号(')也可以被转义。尽管没有规定必须这样做,但这是一个好习惯。

    9. 使用逗号隔开字符串输出

    字符串连接符(.)可以将单一的字符串传递给echo语句进行输出,与之相比,逗号可以实现echo语句中字符串的分别输出,这对PHP来说是一个性能改善。

    10. 在输出前检查传递值

    应该记得在输出前检查$_GET['query'] 的传递值。使用isset函数或是empty函数可以检查变量值是否为空。

    网友留言/评论

    我要留言/评论

    相关文章

    Sphinx 在 windows 下安装使用:前一阵子尝试使用了一下 Sphinx ,一个能够被各种语言 (PHP/Python/Ruby/etc) 方便调用的全文检索系统。网上的资料大多是在 linux 环境下的安装使用,当然,作为生产环境很有必要部署在 *nix 环境下,作为学习测试,还是 windows 环境比较方便些。
    PHP抽取段落关键词程序:来源于Dede的PHP分词程序
    Mysql注入研究总结:攻击是现今最流行的攻击方式,依靠它强大的灵活性吸引了广大黑迷。所以程序员应该牢记的一句话:一切用户输入的都是不安全的。
    一致性哈希算法的一种PHP实现:一致性哈希算法的一种PHP实现
    PHP获取客户端IP:使用以下方式可以获取客户端的真实IP和所有代理IP,具体如下
    九大PHP开源Wiki(维基百科)程序评测:维基百科(wiki)是Web2.0的代表产物,跟博客、digg、视频分享等一样同样强调用户参与,分享互联网的精神。如果想自己编写一本百科全书,跟建一个博客一样,有已经开发好的程序可以使用,而且是开源的。有了这些工具,我们要实现编写百科全书的梦想就不难实现了。以下是九大基于PHP和 Mysql架构的wiki程序的介绍,有兴趣的朋友可以选择一款适合自己的wiki程序。
    starling试用手记:twitter最近将ruby实现的消息队列服务器starling开源了,这是一个支持memcache协议的轻量级持久化服务器,因此使用php/perl/ruby/java等多种客户端都没问题,可以将较慢的处理逻辑通过消息队列放在后台处理,同时也支持多点分布式处理。周末找了个闲置的centos 5机器搭了一套starling试用,配合php的memcache扩展测试一番,有点意思。
    PHP和Mysql中一些容易混淆的概念:对于初学者来说,PHP和Mysql中一些基础的东西比较容易混淆,本文简单介绍一下