`
- 浏览:
259693 次
- 性别:
- 来自:
未定
-
近期在准备使用PHP进行一个项目的开发,由于没有使用过PHP开发项目,所以正在思考应该以怎样的模式进行PHP项目的开发.
PHP框架使用轻量级的CI,数据库应该是mysql,可以考虑pgsql,开发工具eclipse+pdt,版本控制subversion,运行环境应该是linux + apache + php5.3,虽然个人更想尝试linux + nginx + php-cgi.
------
php-cgi 性能不行,推荐使用php-fpm(但是我编译成功后并不能运行php-fpm)
项目的顺利完成需要什么条件呢?
整个项目应该怎样管理才能达到高效,可维护,可控制?
1.前期需求分析
市场调研,客户沟通,引导客户
其实这挺笼统,具体到实施应该有许多细节需要考虑.
2.系统设计
印象里好像就是设计数据库表结构,
考虑系统的灵活性,可扩展性,适应多变的客户需求
系统不可能一步到位分析得很完美,
需要经历多次推倒重来的阵痛.
3.代码设计
团队协作需要代码规范,具体到变量名,方法名,返回值约定,各层之间的接口约定
Module类主要负责数据库的增删改查,为Controller提供数据,返回的数据以数组封装
Module类还可以根据业务逻辑验证客户端传递的数据,返回方式可以有两种:
a.以true/false代表验证结果,再加上提示信息
b.返回错误代码,让客户端(js)根据错误代码显示提示信息
Controller主要是控制业务逻辑,可能存在复杂的业务逻辑,可以使用额外的handler,helper帮助实现业务逻辑, Controller的方法应该是比较清晰的,不应该包含太多复杂的业务逻辑实现,这些交给helper,handler去完成.事务控制也应该在这里控制.
View是展示Controller的结果,尽量不使用模板引擎吧,里面的逻辑无非就是if,foreach.
view的结果可能是html片段(ajax请求),也可能是整个html页面.对于html片段比较简单,直接返回结果. 而如果是返回整个页面, 通过(layout)分离html的各个部分应该有不错的灵活性.
因为各个页面的样式都差不多. 而针对当前页面的css,js也可以在这里动态加载.
css, js应该与html分离.
4.数据缓存
数据库操作在PHP算是比较耗资源的了,因此缓存很重要,
由于PHP没有常驻内存,缓存只能靠文件方式,或者使用APC(alternate PHP Cache)或使用外部存储如memcached.
文件方式效率比较低,不推荐,PHP的session就是通过文件方式来存储信息的,因此可以不使用内部的Session机制,使用外部缓存实现session机制(数据库+memcached).
APC is a free, open, and robust framework for caching and optimizing PHP intermediate code.把PHP源文件的中间代码缓存起来,下次再请求时不再编译,直接使用上次编译结果执行.缓存方式是内存存储
APC也可以缓存只读为主的数据,比如系统的设置等,写太频繁的数据不适宜用APC,而应该使用memcached
缓存的另一种方式是页面的静态化,把结果用html格式缓存起来,请求时直接读取html文件.
5.代码测试
不太清楚PHP的相关测试方法,直接在页面测试结果吧,性能测试也不太清楚
6.维护
维护少不了文档,所以编码时必须有清晰明确的注释.
还少不了另外的系统说明文档
7.重构
适时重构
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
基于MVC模式下的开发框架建设与改进.pdf论文中主要介绍了基于MVC模式下的开发框架建设与改进,讨论了传统的PHP开发模式的缺陷,并提出了基于MVC设计模式的PHP实现THINKPHP框架的建设和改进。 知识点1:MVC设计模式 ...
### PHP与MVC开发模式详解 #### MVC设计模式概述 MVC,即Model-View-Controller,是一种广泛应用于软件工程,尤其是Web应用开发中的设计模式。该模式最早可追溯至20世纪70年代,旨在解决软件开发中的复杂性和耦合...
最近我在整理一些资料,现在发出一些,希望大家多提意见,多多扶持啊哈 ====================================== 面向对象的PHP开发模式(待完善中。。。) ====================================== 一、环境 服务器...
**MVC模式与PHP开发框架详解** MVC(Model-View-Controller)模式是一种软件设计模式,它在Web应用中广泛使用,旨在提高代码的可维护性和可扩展性。MVC将应用程序分为三个主要组件:模型(Model)、视图(View)和...
1. **Model1模式**:这是一种早期的PHP开发模式,它将业务逻辑、数据访问和用户界面紧密耦合在一起。在Model1模式中,通常一个PHP脚本负责处理整个页面的生命周期,包括与数据库的交互和页面的渲染。通过学习Model1...
为一进步完善抽奖平台的使用体验,降低抽奖数据管理...【抽奖平台开发(4)PHP+HTML+MySQL】基于MVC开发模式的抽奖平台后台开发,实现数据管理操作的可视化:https://dengxj.blog.csdn.net/article/details/100816981
4. **Zend_Framework_ZH.chm**:这是关于Zend Framework的中文版文档, Zend Framework是一个强大的PHP开发框架,用于构建企业级的Web应用。通过阅读,你可以了解如何使用该框架进行模块化开发、数据库交互、MVC结构...
### 使用PHP开发自己的MVC模式构架 #### 一、MVC模式简介 MVC(Model-View-Controller)模式是一种广泛应用于软件工程中的设计模式,尤其在Web应用开发领域非常常见。它将应用程序分为三个核心组件:模型(Model)、...
MVC模式PHP开发框架 MVC模式PHP开发框架是指基于模型视图控制器(Model...MVC模式PHP开发框架是一种灵活、可扩展和高效的开发模式,广泛应用于Web开发中。但是,它需要一定的学习和理解成本,并且需要编写更多的代码。
在PHP开发中,有许多基于MVC模式的框架,比如Laravel、CodeIgniter、Yii等。这些框架都遵循MVC的基本原则,但可能在细节实现上有所差异。 ##### 2.1 Laravel - **特点**:Laravel是一个优雅的PHP Web应用框架,...
这是一个根据MVC模式开发的一个小型框架。 说明: framework文件是框架文件,可将其重命名成你的项目名 Index.php文件是项目的入口文件 Config目录下的config文件配置了数据库的连接,网站url的访问方式 Control...
**PHP开发的设计模式** 在PHP开发中,设计模式是一种经过时间考验、被广泛接受的解决方案,用于解决常见的编程问题和创建可维护、可扩展的代码结构。这些模式来源于实际项目经验,通过标准化的方式,帮助开发者在...
因此,设计模式在PHP开发中的应用尤为重要,它可以帮助开发者编写出更加健壮的代码。 在本书中,读者将会学习到如何使用不同的设计模式来解决PHP程序设计中遇到的问题,比如如何使用工厂模式来实现依赖注入,或者...
TP3.2属于较早的版本,支持传统的PHP开发模式,注重基础功能和易用性。而TP5.0则是较大的升级,引入了更多现代Web开发的特性,如命名空间、注解、依赖注入等,同时也优化了性能和兼容性。 2. **Yii**: Yii是另一...
“PHP开发中MVC模式的应用研究” 本文旨在探讨PHP开发中MVC模式的应用研究,涵盖MVC模式的主要构成要素、设计原理、具体应用等方面。MVC模式是软件设计与开发中的一种重要模式,它的主要构成要素包括模型、视图、...
在这种背景下,《深入PHP面向对象、模式与实践》第三版应运而生,成为了PHP开发者提升自身技能、深入理解和实践面向对象编程、设计模式以及软件开发最佳实践的重要参考书籍。 本书以PHP面向对象编程的基础概念为...
《PHP设计模式指南》的目的不是为了介绍一个全面的软件设计模式名录,也不是为了开发任何新的设计模式或术语,而是为了突出介绍一些已有的,知名的设计模式。值得一提的是,《PHP设计模式指南》介绍了那些我自认为对...
**PHP设计模式详解** 在IT领域,设计模式是一种在特定情境下解决常见问题的标准方法,它们代表了软件...《Learning PHP设计模式》这本书正是为此目的而生,它将引导你深入理解这些模式,从而在实际开发中游刃有余。