基于PHP的新Web开发框架
本文转自:http://www.msphome.cn/post/119/
最近因为要对一个项目进行重构,所以一直在研究PHP框架。大体看了看Zend Frameworks,仔细学习了下symfony,发现一个良好的MVC Web框架,足以改变开发习惯。但是无论是Zend Frameworks还是symfony,对于中小型项目的开发来说都过于臃肿,并不能很好的提升开发效率。在symfony中,一个PHP工程被分为项目/应用程序/模块的层次,对于扩展性要求比较高的大型PHP项目来说,这是一个很好的选择。国外框架在国内难以普及,很大一点障碍就是中文文档少,工程师培训成本较高。中小型项目则更期望一种高效的能够快速进行开发的PHP框架。
先来看MVC模式。做JAVA的朋友可能对MVC模式比较了解,对于大多数PHP程序员来说,很少听说PHP上实现MVC的项目,或者说使用MVC模式的PHP项目无一例外的是一些大型企业级项目。由于MVC模式结构较为复杂,并不太适合中小型项目,所以我们需要一种全新的模式来审视PHP开发框架。
一个项目使用框架,其主要目的就是简化开发,提高效率,同时提升程序本身的可扩展性,以便在客户需求发生变化时调整应用程序。同时框架的选择也应当考虑成本问题,即选择的框架是不是能够真正降低这个应用程序的开发和运营成本。对于中小型项目来说,开发人员希望能够快速地完成开发任务,客户则希望产品维护扩展方便、具有较高的效率。虽然像symfony这种框架能够实现相当强的可扩展性,但对于中小型项目来说,使用如此巨大的框架所需投入的开发成本、培训成本、维护成本都是巨大的。因此MVC的经典框架并不适用于中小项目的需求。
那么,怎样才能解决成本、效率、效率、可扩展性直接的矛盾呢?我们需要一种全新的Web框架设计思路。
对于一个中小型项目,需求往往较少,或者比较单一,但共同的地方无外乎三点:基本业务逻辑、用户管理、表现。我们将Web应用程序从B/S模型中抽取出来,作为一个独立的对象。这个对象对外的联系有三个——输入、输出、数据仓库。输入输出是基于HTTP协议而实现的,因此我们可以将其封装在同一个类中,这个类将作为Web应用程序获取、输出数据的基础。我们把它叫作Interface(接口)。接口主要将Web应用程序和服务器之间的交互隔离开来,以便进行数据的基础处理。在接口中将完成用户数据的收集和预处理(提取相应模块、动作名称,过滤非法字符、
相关文档:
#apt-get install apache2
//安装apahce2
#apt-get install php5
//安装php5
#apt-get install mysql-server
//安装mysql服务端
#apt-get install mysql-myclient
//安装mysql的客户端
#apt-get install php-mysql
//安装php-mysql的连结
apache+php+mysql 环境已经搭建好了
将以下的服务重启一下
#/et ......
http://blog.csdn.net/fleaphp/archive/2009/02/26/3940430.aspx
QeePHP 的架构模式
QeePHP 是一个与众不同的框架。
QeePHP 遵循“内核最小化,功能插件化”的原则,利用内核实现了一个快速、可扩展的架构。然后在核心之外,通过各种插件提供不同类型的基础服务。
QeePHP 的架构概貌
这种架构模式的 ......
PHP文件包含漏洞原理分析和利用方法
本文章简单摘要:一、涉及到的危险函数〔include(),require()和include_once(),require_once()〕 include()&&require()语句:包括并运行指定文件。这两种结构除了在如何处 ......
<?php
date_default_timezone_set("Etc/GMT-8");
header("content-type:text/html; charset=utf-8");
/**
* 自己定义的一个生成日历的类
* @author 张伟灿<yuanfen860913@163.com>
* @version 1.0.0
*
*/
class myCalendar
{
......
在网站设计中我们经常会遇到需要多语言支持的情况。多语言系统按照支持的方式一般可分为两种:
1.支持多语言,但不支持多种语言的同时存在,也就是说要么是中文要么是英文或者其他,这在一些需要国际化支持的网页系统中经常用来,以便方便用户本地化。 2.支持多语言并可同时浏览不同语言版本的网页。今天我想讨 ......