- Moon.Wong
- 评论(0)
1
CakePHP 介绍
大多数技术类的书本开始都是简要概述该书所关的注技术的优越之处,以便说服读者,让他们觉得此类技术是值得学习的。但是与这些书不同,本书开头将会 给你一个警告:
"一旦读者通读此书后,将没有回头路可走!网页开发将会完全不同。开发网页应用将会变得相当的容易,这可能会让读者变得非常的懒。实际情况是,读者 甚至可能会忘记PHP的一些基本语法!对于这些读者而言,Cake一词也将被赋予一个全新的意思。(译者:马屁,读者请自行过滤。)"
如果你依然决定继续读下去,我们热烈欢迎!但是往后不要怪我们;我们已经事先警告过你!
在我们开始学习CakePHP的之前,我们会帮助你理解CakePHP是什么东西,以及它是如何帮助我们快速开发出易于管理和维护的网页应用的。说 点更为具体一点就是,在这一章节中,你可以读到如下内容:
- 什么是CakePHP?
- CakePHP是如何帮助我们组织和维护代码的?
- CakePHP是如何帮助我们减少开发时间和节省精力的。
- 以及,我们应该用哪个版本的CakePHP?
CakePHP是什么东西?
根据CakePHP官方的站点(http://cakephp.org) 上的描述:
"CakePHP是PHP语言的快速开发框架,它运用了为人熟知的设计模式,如Active Record,Association Data Mapping, Front Controller和 MVC。我们的主要目标是提供一个结构化的框架以使得任何水平的PHP使用者都可以快速的开发出健壮的Web应用,与此同时又不失灵活性。
"
不熟悉框架的读者可能无法理解这个定义。但是,如果能理解一些关键性的术语的话,你对于上面这个定义的理解就会轻松上许多。
PHP框架
PHP框架是一组代码,库,类,和运行环境的集合体,它可以帮助开发者更快捷的搭建网页应用。框架背后的主要思想是为开发者提供一些经常使用到的功 能和一个可以在此基础之上搭建他们应用程序的基本架构。 对于大多数有些经验的PHP开发者,他们都有一些自己的库和构架,以便加快他们的开发速度。但是,在像CakePHP这样的开源框架之上搭建一个网页应用 也有显而易见的好处。使用框架时,开发者不仅仅可以运用他们自己的经验,而且,他们也可以利用其他开发和使用过这一框架的开发者的经验.另外,框架更为可 靠,因为它经受住了众多开发者的实际检验。另外,使用像CakePHP这样的框架可以使得单一项目中的所有开发者都能够遵循同样的规则来搭建应用。这一特 点使得那些熟悉框架内在规则的项目新人可以非常方便的融入项目开发中来。
常见的设计模式
设计样式是对网页开发中经常碰到问题的的一个一般性的解决方案。设计模式并不是一组代码,而是对一个可以用来解决各种问题的方法的描述。在网页开发 中,有许多常见的设计模式可以用来解决重复而又普篇的问题。CakePHP整合了诸多的设计样式在上面的定义中已经提及一些:Active Record, Association Data Mapping, Front Controller 以及MVC. 。其中,MVC使由模型(Model)视图(View)控制器(Controlle)的第一个字母缩写而成,它也是CakePHP的核心所在。在这一样章 节的稍后部分,我们很快会讨论到MVC以及其他一些重要的设计模式。另外一些设计样式也会在本书的其他章节中讨论到。
快速网页应用开发
将设计模式整合到CakePHP之中,这意味着开发者无需在那些网页应用开发中出现的常见问题上浪费时间。在CakPHP中,这些常见的问题已经得 以解决!因此,开发之只要关注与网页应用具体的业务逻辑,而不是忙于重复应对前人已经解决过的问题。这使应用开发变得更为快捷。
适用于PHP4和PHP5
尽管在定义中并没有提及这点,但是,无论是PHP4还是PHP5,CakePHP都可以“拿来即用”,因此只要开发者遵循CakePHP的规则,他 们的应用就可以非常轻松的在PHP的两个版本之间转换。跟其他许多PHP框架不同,开发者无需担心兼容性问题。网页服务器无论是安装的PHP4还是 PHP5都可以欢快的跑CakePHP应用。但是必须要提一句,如果对项目来讲,兼容PHP5不是问题的话,最好还是使用PHP5。既然大多数 CakePHP应用都是定制的,是否兼容性PHP4通常都不是一个重要的考虑因素。因此,强烈建议使用PHP5来进行CakePHP的应用开发。
CakePHP是免费的开源PHP框架
对,没错:CakePHP是一个开源项目,每个想使用它的人都可以免费获得。它的发布遵循MIT许可。这一意味着,人们不但可以免费的使用 CakePHP,而且他们也可以查看CakePHP的源代码,了解这一切是如何神奇工作的。现在,我们对CakePHP背后的一些主要概念有了一个更加深 入的理解,再回到前面,看看定义!现在对于定义理解要容易多了。更为重要的是,我们现在清楚了我们能对CakePHP能有些什么指望,因为我们现在已经知 道CakePHP是嘛玩意了!
改进代码结构
PHP是一种非常棒的服务器端开发的编程语言。PHP的其中一个好处就是它非常容易学习。任何人只要有一点基本的编程技能(甚至是没有)也可以开始 动手编写动态的网页页面。PHP为开发者编写代码带来了很大的灵活性。换句话说,它没有限制开发者必须遵守某一构架。但这也是它最主要的缺点之一。随着程 序员新手开始编写大些的应用时,多数情况下,他们编写的代码会变得毫无组织条理,以至在Debug或是做出小变动时,他们会犯难。对于有经验的PHP开发 者而言,当应用变得复杂时,同样的事情也会发生在他们身上。当多个开发人员参与到单个项目之中时,事情会变得更糟糕,每个人都遵循他们自己的编程方式。这 一问题的主要原因是PHP并没有强制规定开发者必须遵循某一特定的架构
CakePHP通过强制让开发者遵循严格的架构解决了这一问题。这样一来,它确保了项目中所有代码都有一个易于管理和维护的结构。
CakePHP中用来维护结构化代码的一个最为重要的设计模式就是MVC模式(即,模型,视图,控制器)