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


Posted in PHP onOctober 09, 2006

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

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

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

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

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

PHP 相关文章推荐
PHP字符串处理的10个简单方法
Jun 30 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
php 截取字符串并以零补齐str_pad() 函数
May 07 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
php启用zlib压缩文件的配置方法
Jun 12 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
Jun 21 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
Dec 09 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
Laravel 队列使用的实现
Jan 08 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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设计模式 Singleton(单例模式)
2011/06/26 PHP
php-perl哈希算法实现(times33哈希算法)
2013/12/30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
PHP之预定义接口详解
2015/07/29 PHP
PHP读取Excel类文件
2017/05/15 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
js 异步处理进度条
2010/04/01 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
python实现字符串和日期相互转换的方法
2015/05/13 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
django-csrf使用和禁用方式
2020/03/13 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
工商管理应届生求职信
2013/10/07 职场文书
英语教研活动总结
2014/07/02 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
售后服务质量承诺书
2015/04/29 职场文书
天河观后感
2015/06/11 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
使用MybatisPlus打印sql语句
2022/04/22 SQL Server