PHP开发大型项目的一点经验


Posted in PHP onOctober 09, 2006

一、变量
最好是把所有的变量存储在一个数组中,这样在程序的开发中可以带来很多的方便,特别是当程序很大的时候。变量的命名就当适合自己的习惯,不管是用拼音还是英语,至少应当有一定的意义,以便适合记忆。变量的命名尽量规范化,不要与PHP中的关键字相冲突。

二、函数
PHP自带了很多函数,这给我们程序的编写带来了很多的方便。当然,在大型程序中我们往往自己要定义许多个函数,几十甚至上百个。当然在使用了类的程序中就不叫函数了,就应该叫方法,这里暂且不谈类的使用方法。函数多了,难免就会搞混了。有什么方法可以解决这个问题呢?可以参照上面变量的使用方法一样,同样的,我们也可以把自己定义的函数名全都放在一个数组中。这样我们在使用的过程中可以直接在数组随时检查函数是否有无重复的定义。如果发现重复的现象,马上变可以改过来。提高了程序编写的速度。函数的使用还有一点要注意的是全局变量,虽然这是一个小问题,但却不容忽视,要不然当某个变量千呼万呼出不来的时候,呵呵。这时看看该变量是否在该函数中已经申明成了全局变量。

三、程序的注释
程序的注释是很重要的,不管是C还是JAVA,程序的注释往往可以体现出程序员的良好编程风格。无论是对于它人还是自己对大有好处,当然我们这里说的是大型项目的开发,团体合作精神是很重要的。当你的程序写出来别人都很难看懂那还怎么谈团体合作精神啊。当然如果这个大型项目是你一个人开发的那就另当别论了,或者是你时间紧迫,来不及写注释。不过一般来说这种情况是很少的。除非真的是非常时刻。一个优秀的程序员绝对会为他写的每个程序加注释,哪怕是给自己看的。

四、采用何种文本编辑软件写源程序
这其实也没一定的规定,只要自己喜欢就行了。我比较喜欢PHPEDIT,也许是用惯了,现在感觉一离开PHPEDIT写PHP就没感觉,初学PHP的时候用NOTEPAD写,因为程序比较简单。所以用NOTEPAD应付下就行了,对于有几百行的程序来讲,用NOTEPAD显然是不合适的。用PHPEDIT工作效率会提高几倍,哪怕你从来没用过。

五、数据库的设计
数据库的设计在开发大型项目中是很重要的一点,关系到整个项目开发的成败。具体也就不多说了。大家可以在自己的实践中积累经验,慢慢去体会。总之在数据库的设计中最好应该一开始就应该确定下来。虽然可以在开发的过程中去改变已经设计好的数据库结构,但这对于整个项目的开发效率来讲将大打折扣,有谁会愿意时不时的去改数据库的结构呢?
六、类的使用
类的使用主要是实现了代码的重复使用,以降低项目开发的时间,程序员的工作量也会减少许多。只要可以使用类的地方应当尽量使用类,使用类应该养成一个良好的习惯,这样才可以在真正使用类的地方得心应手。可以说一个大型PHP项目就是由类组成的。个中的滋味还是自己慢慢体会吧。
总之,在开发大型PHP项目的时候,要预算好时间。特别要小心客户在半途来个回马枪,那就功亏一篑了。

PHP 相关文章推荐
php 字符串替换的方法
Jan 10 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
Jul 15 PHP
PHP中对缓冲区的控制实现代码
Sep 29 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
php二维数组排序详解
Nov 06 PHP
php 不使用js实现页面跳转
Feb 11 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 PHP
php正则修正符用法实例详解
Dec 29 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP获取当前系统时间的方法小结
Oct 03 PHP
JAVA/JSP学习系列之六
Oct 09 #PHP
PHP的宝库目录--PEAR
Oct 09 #PHP
PHP中调用JAVA
Oct 09 #PHP
PHP数据库操作面向对象的优点
Oct 09 #PHP
PHP5中MVC结构学习
Oct 09 #PHP
PHP5/ZendEngine2的改进
Oct 09 #PHP
PHP模板引擎SMARTY
Oct 09 #PHP
You might like
Php header()函数语法及使用代码
2013/11/04 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
django认证系统 Authentication使用详解
2019/07/22 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
大学生毕业自荐信
2013/10/10 职场文书
建筑施工安全责任书
2014/07/24 职场文书
团代会开幕词
2015/01/28 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python
小程序实现文字循环滚动动画
2021/06/14 Javascript