编写可移植的PHP代码
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代码的更多相关文章
- 如何提升我的HTML&CSS技术,编写有结构的代码
前言 之前写了四篇HTML和CSS的知识点,也相当于是一个知识点汇总.有需要的可以收藏,平时开发过程中应该会遇到这些点,到时候再查看这些博客可能更容易理解.从这篇开始更多的介绍开发过程经常让人头痛的前 ...
- 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...
- 编写高质量JS代码的68个有效方法(八)
[20141227]编写高质量JS代码的68个有效方法(八) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(七)
[20141220]编写高质量JS代码的68个有效方法(七) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(六)
[20141213]编写高质量JS代码的68个有效方法(六) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(四)
[20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(三)
[20141030]编写高质量JS代码的68个有效方法(三) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(二)
[20141011]编写高质量JS代码的68个有效方法(二) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)
编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
随机推荐
- PMP(第六版)中的沟通方法总结与对比
- 5.3 Date类型
创建一个日期对象: var now = new Date( ); var now= new Date(); document.write(now); //Tue Apr 19 2016 11:43:5 ...
- opencv与灰度图
https://blog.csdn.net/qq_32211827/article/details/56854985 首先,灰度图可以是一个通道存成图片,也可以是3个通道存成图片,3个通道存成图片,其 ...
- 【转】 Solr的SolrCloud与Master-slave主从模式对比
第一印象 SolrCloud是Solr4.0引入的,主要应对与商业场景.它很像master-slave,却能自动化的完成以前需要手动完成的操作.利用ZooKeeper这个工具去监控整个Solr集群,以 ...
- Java构造方法经典例题
1.在程序中,经常要对时间进行操作,但是并没有时间类型的数据.那么,我们可以自己实现一个时间类,来满足程序中的需要. 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute) ...
- 关于后台获取不到HiddenField值的有关问题
服务器加载aspx程序时,首先要执行后台cs文件中的page_load等方法中的代码,其它按钮事件等是不执行的,生成页面发送到客户端.客户端执行时会响应js脚本,提交到服务器后除了执行page_loa ...
- L2TP用户添加和删除、搜索脚本
#!/bin/bash #author Template . /etc/init.d/functions DATE_TIME=$(date +%F-%T) FILE_PATH='/etc/ppp/ch ...
- MTCNN学习资源
MTCNN pytorch版本的实现 TropComplique/mtcnn-pytorch https://github.com/TropComplique/mtcnn-pytorch MTCNN实 ...
- shell脚本中的交互式输入自动化
shell中有时我们需要交互,但是呢我们又不想每次从stdin输入,想让其自动化,这时我们就要使shell交互输入自动化了. 1 利用重定向 重定向的方法应该是最简单的 例: 以下的te ...
- 库函数的使用:sscanf的使用方法
先贴代码,可以看懂代码的直接看代码: /***************************************************** ** Name : sscanf.c ** Auth ...