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


Posted in PHP onOctober 09, 2006

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

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

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

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

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

PHP 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
php mysql 判断update之后是否更新了的方法
Jan 10 PHP
PHP 第二节 数据类型之转换
Apr 28 PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
thinkphp5实现无限级分类
Feb 18 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
Syphon 秘笈
2021/03/03 冲泡冲煮
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
php模板函数 正则实现代码
2012/10/15 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
一些mootools的学习资源
2010/02/07 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
js中回调函数的学习笔记
2014/07/31 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
用Python的urllib库提交WEB表单
2009/02/24 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
numpy中矩阵合并的实例
2018/06/15 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
python实现银行实战系统
2020/02/26 Python
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
servlet面试题
2012/08/20 面试题
初中生三年学习生活的自我评价
2013/11/03 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
python用tkinter开发的扫雷游戏
2021/06/01 Python