1. 保持配置集中放置。

  作为一个通用的准则,建议将大多数信息保存在一个位置(可能是一个文件中),这样在需要修改信息时,就能在同一个位置进行所有必要的修改。

  2. 编写可重用的代码;

  如果刚刚结束了其他站点或应用程序的开发工作,那么应该意识到您已经具有了县城的、可以很容易应用于新项目的代码。最好的方法是利用创建可重用组建或功能片的观念来编写面向对象的代码。

  权衡代码重用的可能性时,有许多重要问题需要考虑:

  (1)项目的需求出现变化时会发生什么?

  (2)向代码中添加新功能是否容易?

  (3)一段时间直呼,是否还能理解这些代码?

  (4)代码是否易于与其他应用程序继承?

  (5)所做的假设是否能够应用于其他站点上的工作?

  作为一位有经验的PHP开发人员,您有一个主要责任:应不断地了解软件开发各种更为深奥的知识,例如,设计模式、企业应用架构,作为一种提高开发技巧的方法,更重要的,也是一种节约时间的方法。您的知识面越广,开始下一个大项目时,失败的风险就越小。

  3. 始终使用完整的PHP标记;

  PHP支持用多种风格的标记来标识代码部分,包括短标记(<? ?>)和ASP风格标记(<% %>)。标记风格可以通过php.ini中的short_open_tag和asp_tag控制。但是要注意,尽管可以切换这些配置,但是其他服务器管理员可能没有进行修改,这会造成问题。PHP与XML卫兵打不过混合在一起时,短标记风格会造成问题。

  4. 始终使用超级全局变量,不要使用register_globals;

  确认php.ini文件中包含以下代码:register_globals = off;这可强制您听过特殊的预定义超级全局变量(例如,$_GET['username'])访问输入的数据,确保不会与脚本中创建的变量冲突。

  6. 始终检查magic quotes.

  magic quotes是PHP提供的一种功能,帮助PHP初学者防止开发的站点中出现安全漏洞。magic quotes功能可以在脚本能够访问进入的URL查询字符串、表单张贴文章和cookie数据之前,自动向这些值中添加转义字符(反斜杠),表示字符串中应该包括引号,而不是表示字符串结束的引号,如果将数据直接插入到数据库中,并且打开了magic quotes功能,那么就不会存在恶意用户可能篡改数据库的风险。

  不过,我更倾向于关闭magic quotes,而由自己处理SQL语句的转义数据。

编写可移植的PHP代码的更多相关文章

  1. 如何提升我的HTML&CSS技术,编写有结构的代码

    前言 之前写了四篇HTML和CSS的知识点,也相当于是一个知识点汇总.有需要的可以收藏,平时开发过程中应该会遇到这些点,到时候再查看这些博客可能更容易理解.从这篇开始更多的介绍开发过程经常让人头痛的前 ...

  2. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

  3. 编写高质量JS代码的68个有效方法(八)

    [20141227]编写高质量JS代码的68个有效方法(八) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  4. 编写高质量JS代码的68个有效方法(七)

    [20141220]编写高质量JS代码的68个有效方法(七) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  5. 编写高质量JS代码的68个有效方法(六)

    [20141213]编写高质量JS代码的68个有效方法(六) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  6. 编写高质量JS代码的68个有效方法(四)

    [20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  7. 编写高质量JS代码的68个有效方法(三)

    [20141030]编写高质量JS代码的68个有效方法(三) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  8. 编写高质量JS代码的68个有效方法(二)

    [20141011]编写高质量JS代码的68个有效方法(二) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  9. JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)

    编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

随机推荐

  1. 2018.5.19 Oracle数据操作和管理表的综合练习

    --作业一.使用自己的用户登录,完成如下操作,并且创建5条测试数据 -- 创建学生表(stu),字段如下: -- 学号(stuID) -- 姓名(stuName) -- 性别(stuSex) -- 入 ...

  2. python_23_tuple

    #元组只能统计和获取下表,不能插入之类的.元组和列表差不多,也是存一组数,只是它一旦创建,便不能再修改,所以又叫只读列表 names=('QiZhiguang','LiuGuannan','Liang ...

  3. java算法面试题:从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 ;读取docx 读取doc 使用poi 相关jar包提集提供下载

    从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 1,张三,28 2,李四,35 3,张三,28 4,王五,35 5,张三,28 6,李四,35 7,赵六,28 ...

  4. 用户和用户组以及 Linux 权限管理

    1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...

  5. mybatis的环境搭建

    mybatis是一个持久层框架,其主要思想就是想将程序中大量的SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置. 使得SQL与程序代码分离,即在不修改程序代码的情况下,直接在配置文件中修改S ...

  6. h5获取摄像头拍照功能

    完整代码展示 <!DOCTYPE html> <head> <title>HTML5 GetUserMedia Demo</title> <met ...

  7. Vuejs中关于computed、methods、watch的区别。

    Vue.js在模板表达式中限制了,绑定表达式最多只能有一条表达式,但某些数据需要一条以上的表达式运算实现,此时就可以将此数据放在计算属性(computed)当中. Vuejs中关于computed.m ...

  8. linux Ubuntu18.04 安装配置MySQL

    1.安装 ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server   2. apt-get install mysql ...

  9. ICSharpCode.SharpZipLib.dll

    using ICSharpCode.SharpZipLib.Checksums; using ICSharpCode.SharpZipLib.Zip; namespace { /// <summ ...

  10. 访问tomcat出现HTTP Status 500 - java.lang.IllegalStateException: No output folder

    问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在浏览器中访问http://localhost:8080,可能会出现500错误,错误提示如下:  localhost:8080 jav ...