易截截图软件、单文件、免安装、纯绿色、仅160KB

基于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应用程序和服务器之间的交互隔离开来,以便进行数据的基础处理。在接口中将完成用户数据的收集和预处理(提取相应模块、动作名称,过滤非法字符、


相关文档:

PHP图像图形处理技术


<?php
     header("content-type:image/png");  //定义输出的图像类型;
     $image=imagecreate(300,155);        //新建图像;
     $bg=imagecolorallocate($image,220,40,120);   &nbs ......

PHP获取某年第几周德起始终止日期

防止以后忘掉,贴在这儿啦
 function GetWeekDate($week,$year)
 {
       $timestamp = mktime(0,0,0,1,1,$year);
       $dayofweek = date("w",$timestamp);
       if( $week != 1)
   &nb ......

PHP文件包含漏洞原理分析和利用方法


                 PHP文件包含漏洞原理分析和利用方法
本文章简单摘要:一、涉及到的危险函数〔include(),require()和include_once(),require_once()〕 include()&&require()语句:包括并运行指定文件。这两种结构除了在如何处 ......

[转]PHP autoload机制详解

2008.12.13注:关于SPL的autoload的函数手册,请参考 SPL函数手册:
http://www.phpinternals.com/blog/2008/12/translate-refs-spl-functions/
(1) autoload机制概述
 
 在
使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来 ......

php实现一个日历类

<?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
 {
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号