现在的位置: 首页 > 综合 > 正文

Seagull PHP框架学习教程之一

2013年07月24日 ⁄ 综合 ⁄ 共 3122字 ⁄ 字号 评论关闭
    最近有网友提到 seagull的中文资料太少,作为seagull的使用者和中文文档和语言包的维护者,我有责任和义务为seagull社区贡献一份自己的力量,所以从这篇开始我将会制做一系列的Seagull框架的学习教程,这些教程在完善之后还会以PDF格式发布在Seagull框架的google中文讨论组,当然我也会努力进一步完善Seagull框架wiki的中文文档,欢迎大家指正我们翻译或理解上的错误,希望所有的Seagull使用者一起努力共同促进Seagull中文社区的发展

  今天我们就开始学习第一篇,你将了解Seagull框架并学会如何安装Seagull框架?

什么是Seagull?

   
    简单的说,Seagull是众多的基于MVC架构的PHP开源框架之一。所谓的MVC架构是指一个WEB应用分成M(Model,模型层,封装数据,流程和业务逻辑),V(View,视觉层,从Model中提取数据并加以呈现),C(Controller,控制并指导着整个流程的进行,接收客户端的输入,转换成 Model和View可以接受的形式)。

为什么要使用框架?
   
    如果你从未使用过框架,你肯定会说“我为什么要用框架?我没用也好好的!”。那么你在开发项目的时候是否遇到这样的问题呢:

    * 你是否有觉得经常需要剪切代码然后粘贴代码呢?
    * 你是否有觉得自己经常在做重复性的工作呢?比如:缓存,上传文件,发邮件等。
    * 你是不是有想过如何才能更好的利用已经写好的代码呢?
    * 你的项目队伍成员合作的一个项目会不会最后代码汇总时代码的风格各异呢?
    * 你是否想过将代码和外观分离呢?一份代码,在需要的时候只需鼠标点击就可以改变外观呢。
    借用Alan Knowles(Fexly框架)的话说,使用框架可以大量的减少代码,提高可读性并且大大降低后期的维护难度,因为使用框架后和项目直接相关或联系比较紧密的代码通常只占到总代码10 -20%。

    既然有这么多的好处,我们装一个来try一下吧!

安装Seagull?

1.获取Seagull代码?
    a、直接从sourceforge下载
    b、如果你有用SVN,你可以从Seagull的SVN 库来获取:

  1. $ svn co http://svn.seagullproject.org/svn/seagull/branches/0.6-bugfix

    svn上有不同的分支版本,你可以根据自己的需要来选择,上面的链接是取得最新版。

2.安装
    Seagull的安装过程是很简单的,只需要一个浏览器,然后按照网页上的提示一步一步进行。不过在安装之前,先认识一下我们下载下来的Seagull文件解压后软件包的目录:

  • CHANGELOG.txt是记录版本变化的日志
  • CODING_STANDARDS.txt是Seagull所采用的编码标准
  • COPYING.txt是版权说明
  • VERSION.txt是版本说明
  • docs目录保存一些开发人员会用到的文档,刚开始学习时你用不到,不过其中有些例子有不错的参考价值
  • etc目录保存一些文件,主要在安装时有用,安装后基本上没用了。刚开始学习时可不必考虑,不过如果要自定义安装,就需要在这里做修改。
  • lib文件夹是Seagull库文件所在地
  • modules目录是放模块的地方,这里刚开始只有Seagull的核心模块,你可以将它们当做教程来学习,之后你所开发的模块也是放在这里
  • tests目录存放一些单元测试的文件
  • var目录存放一些临时文件主要是缓存和全局配置文件
  • www目录就是Seagull的入口,正常情况下我们只会让用户可以浏览这个文件夹,这里面保存了Seagull的主题

Step1:Seagull软件使用协议,如果要继续安装你必须接受它的协议。


Step2:用户身份验证。你需要下载随机生成的AUTH.txt到你的Seagull主目录下。这个步骤目的是为了防止别人(非站点管理员)随便运行Seagull安装程序。


Step3:检测服务器上的PHP环境和PEAR的安装情况。Seagull对PHP的相关配置选项有给出建议的配置参数和它目前的实际参数,分别用黄色和绿色标识;如果有出错使安装程序不能继续,相关的配置选项会被标识成红色。


Step4:进行数据库连接的相关设置。


    “Database type”选择数据后台,目前Seagull供选择的有mysql和postgres。事实上它可以支持几乎所以的数据库类型。其中前两种是 Seagull自定义的mysql类型。当然如果你有特别的需要,你也可以自己定义数据库驱动器(driver,见 seagull/lib/pear/DB)
    “Store sequences in one table”是询问要如何处理sequence,Seagull建议是使用一个表来处理,这样可以减少表的数量,不过如果你考虑到性能,你可以选择 no。
    “Default storage engine”指定Seagull创建表时使用的默认存储引擎。据我  所知,在MySQL中不同的引擎有不同的特性,对数据库中事务,数据约束支持不同,当然除此之外有其它的差异,详细请查询相关手册。刚开始就不用理会了。事后可以在全局配置文件中更改。Server default是指使用数据库服务器的默认值。
    “Host”指定数据库服务器的IP或名称。
    “Protocol”指定和数据库通信所采用的协议。如果数据库在本机,使用unix会好一点。
    “TCP port”数据库服务器的通信端口。
    “Database username”和“Database password”用来连接数据库的用户名和密码,可以在全局配置文件中修改。

Step5:设置seagull要使用的数据库。


    “Use existing Db?”这个选项是指要不要使用某个现存的数据库。如果没有选择,则将创建一个指定名称的新数据库,如果选中,则使用指定名称的数据库。所以如果你没有选中这个选择,又指定了一个已经存在 的数据库名称作为数据库名时,就会出现错误。
    “Use existing Data? ”要不要使用现存数据库中的数据。
    “Database name”指定数据库的名称
    “Post Connect string”这个地方你可以指定一个SQL语句,Seagull会在连接上数据库后第一条执行该指令,所以可以用它来执行一些对数据库全局操作的指令。如设置Seagull和数据库通信时所使用的编码:SET NAMES UTF8。
    “Table prefix”指定Seagull所创建的表名的前缀
    “Include Sample Data”要不要安装Seagull提供的样例数据
    “Advanced options”高级选项,目前高级选项只包含了关于翻译是否要保存在数据库中这一项,不过这个功能目前还末完善,所以不建议使用。

Step6:创建一个管理员及其站点的相关信息


    这样,Seagull就安装完毕了。需要提醒一点的是,在整个安装过程中的这些参数设置都可以在安装后通过admin GUI,也就是管理员的管理后台来修改。或者你也可以直接使用编辑器来修改 seagull/var/[site].conf.php文件,也就是Seagull的全局配置文件。

    Seagull框架安装完之后,你就可以在Seagull框架下面进行开发了。事实上在Seagull下面的开发就是为Seagull开发一个个模块。在前面你已经知道,Seagull中所有的模块就存放在modules目录下面。所以下一节你将学习Seagull中关于模块的基本概念。

抱歉!评论已关闭.