+ -
当前位置:首页 → 问答吧 → 顶尖PHP开发框架:symfony教学视频(连载)

顶尖PHP开发框架:symfony教学视频(连载)

时间:2010-08-14

来源:互联网

第一集:Symfony开发环境的安装

点击播放多媒体


FLASH视频地址: flash: http://player.youku.com/player.php/sid/XMTg2MjUxNDM2/v.swf


作者:新魔力symfony中文网站http://www.symfony-cxne.org
PS:作者在密集更新中,已出到10几集。



symfony介绍

来自百度百科的介绍:http://baike.baidu.com/view/1093932.htm?fr=ala0_1


概况

  Symfony是一个基于MVC模式的面向对象的PHP5框架。Symfony允许在一个web应用中分离事务控制,服务逻辑和表示层。同时,它还包含了很多工具和类用以缩短开发复杂的网络应用的时间。基于最佳Web开发实践,已经有多个网站完全采用此框架开发,symfony的目的是加速Web应用的创建与维护。
  它的特点如下:
  简单的模板功能
  缓存管理
  自定义URLs
  搭建了一些基础模块
  多语言与I18N支持
  采用对象模型与MVC分离
  Ajax支持
  适用于企业应用开发。


什么是框架(framework)?

  一个框架结构在编程语言之上加入了新的机制,并且这些机制能够为许多特定的目标自动提供一些开发模式。一个框架结构同样为编码增加了结构,并且促使程序员编出更好、更易读的、有持续性的代码。一个框架家结构能让编程变得更加简单,因为它把复杂的程序封装成了简明的陈述。
  一个框架的发展通常是以它所使用的语言所延伸出来的。一个php5框架是由一系列的用php5写成的文件组成的。
  一个框架将为应用划分出层次。从整体上来说,它可以将应用分为三个层次:
  *
  表现逻辑层(presentation logic) 用于处理用户与软件之间的交互
  *
  数据源逻辑层(data source logic) 提供了一个数据库同其他数据提供者的联系通道。
  *
  范围逻辑层(domain logic),或者叫事务逻辑层(business logic),这是剩余的部分。它包括关于输入的计算、处理表现层中的数据,以及根据从表现层收到的指令分派调度数据源逻辑层。
  网络应用框架致力于促进网络应用的开发(websites,intranets,等等)。建立一个基本的动态网站可以从现有的编程语言中轻易的实现,而PHP的知名就是由于它的简易性被广泛的应用。只需要php,你就可以查询数据库、管理会话(session,cookies)、访问服务器端文件等等。而当你需要构建一个更加复杂的站点,当事务逻辑大大的增加了用于维护的编码量的时候,你就需要一个网络应用的框架出现了。



什么是symfony?

  Symfony是一个完整的框架结构,设计用来帮助并加速网络应用的开发。
  它是基于以下的一些观念的:
  *
  尽可能的兼容更多的开发环境
  *
  易于安装和配置
  *
  简单易学
  *
  企业级应用
  *
  规定而非配置,支持回调
  *
  在大多数情况下简洁明了,但是有足够的弹性为复杂情况做准备
  *
  包含大多数网站的共性
  *
  适应大多数 web “最佳实践(best practices)” 和 web “设计模式(design patterns)”
  *
  非常易读的代码、轻松维护
  *
  开源
  这些主要的基本概念突出了symfony的框架是使更多的公共任务自动完成,以使开发人员能够完全专注于一项应用任务的特殊细节所在。而在每次一个新的web应用建立的时候不需要重新反复劳动。
  为了实现这些需求,symfony完全由PHP5写成。它已经彻底的在各种现实项目应用中被测试过,并且实际上已经应用于一些高要求的电子商务网站。它可以同大多数现有的数据库兼容,具体如下:
  *
  MySQL
  *
  PostgreSQL
  *
  Oracle
  *
  MSSQL
  *
  和其他数据库(如果安装了Creole驱动)
  symfony的对象模型依赖于以下三个独立的层:
  *
  数据库抽象层(a database abstraction)
  *
  对象关系映射层(an object-relational mapping)
  *
  用于负责前台显示和后台事务的 模型-视图-控制器 模式层(a Model-View-Controller model for the front and back-office)
  web项目的公共特性可以轻易的由symfony自动得到:
  *
  国际化(internationalization)
  *
  模板和助手(templating with helpers)
  *
  表单确认(form validation)
  *
  缓存管理(cache management)
  *
  购物车管理(shopping cart management)
  *
  简洁的路径(smart URLs)
  *
  scaffolding
  *
  发送邮件(email sending)
  *
  分页(Pagination)
  *
  AJAX交互(AJAX interactions)
  另外为了满足企业已有的编码规范和项目管理规则,symfony可以全部重新用YAML配置文件。它是默认提供的,几个开发环境,和捆绑:
  *
  原型(prototyping)
  *
  内容管理(content management)
  *
  live configuration changes
  *
  部署(deployment)
  *
  单元测试(unit testing)
  *
  应用测试(applicative testing)
  *
  日志记录(logging)
  *
  调试(debugging)
  Symfony用到了其他一些开源项目的代码:
  *
  Creole, 用于数据库抽象层(for the database abstraction layer)
  *
  Propel, 用于对象关系映射层(for the object-relational mapping layer)
  *
  Mojavi, 用于MVC模型层(for the Model-View-Controller model layer)



symfony适合我吗?

  无论你是一个php5的专家还是一个在网络应用编程方面的新手都没有问题,影响你决定的最主要因素是你项目的大小。
  如果你只是想要开发一个简易的5-10页的站点,只需要有限的访问数据库和几乎不考虑性能、可用性或文档,那么你只需要单独使用PHP。你将不会从网络应用的框架结构的特征中获的太多的益处,使用面向对象或MVC模式只会使你的开发变慢。Symfony运行在一个只有CGI支持的共享主机上将不会高效优异的运行。
  另一方面,如果你开发大型的web应用,其中有大量的事务逻辑,那么单独使用PHP是不够的。如果你计划将来维护和扩展你的应用,你需要编写轻量级、易读的和高性能的的代码。如果你想直接使用最友好的用户交互界面(AJAX),你不能只写上数百行的Javascrīpt代码。如果你想享受并且快速的开发,那么单独使用PHP将是令人失望的。介于上述这些原因,symfony非常适合你。
  当然,如果你是一个专业的web开发人员,你已经知道了web应用框架的所有优点,并且你需要一个成熟的,具有详细文档和一个大的团体支持。那么不要再犹豫,symfony就是你的解决方案。




[ 此帖被gefeinmxyz在2010-08-14 12:37重新编辑 ]

作者: gefeinmxyz   发布时间: 2010-08-14

前提条件

请把你网络连接好
有一定的WEB应用开发经验
有一定的PHP或者其他语言的开发经验,最好熟悉面向对象开发理念
有一定的数据库使用经验

目标任务学会如何在Windows操作系统下,安装Symfony开发环境,以待我们后面可以使用Symfony技术开发Web应用程序。
相关话题Symfony是一种PHP框架技术,与传统的PHP软件开发差别不大,最重要一点是,Symfony对PHP的版本要求比较高,起码是PHP5.2.x以上的版本,而Symfony本身也是有版本的,我们后面的所有内容会在Symfony1.4.x的基础上进行讲解
内容简要       Symfony是建立在PHP技术之上的,对于知道传统PHP开发的朋友,Symfony环境安装应该没有什么大问题,对于没有PHP开发经验的朋友,也不用担心,我们会以步骤法并配备教学视频,让大家“坐享其成”,嘿嘿。


安装Mysql+PHP+APACHE的集成环境
测试安装环境
安装PHP的pear环境
使用pear安装Symfony开发环境
调试Symfony开发环境
1.教学步骤
安装Mysql+PHP+APACHE的集成环境下载我们为你准备好的Mysql+php+apache的集成包,并解压出来,点击目录夹中唯一的一个执行安装文件,进入环境向导安装。

开始apache 2.4.10服务器安装,点击下一步【NEXT】

接受协议,我想大家在这种完全免费的GNU协议下会毫不犹豫的同意吧!点击【I Agree】

选择安装目录夹,这个由你自己决定吧。最好可用空间大点哦!点击下一步【Next】

这个不用多考虑,全选即可。继续点击【Next】
Apache HTTP Server 阿帕奇WEB/HTTP服务器

MySQL Database MySQL数据库
PHP Hypertext Preprocessor  PHP
phpMyAdmin 管理MySQL数据库的Web应用程序

这个步骤稍微要添点内容

Server Name 服务器名称,可以随你意写一个。
Administrator’s Email Address 管理员邮件地址,这个填你的吧
Apache HTTP Port 默认为80端口,在你确信80端口没有占时候可以不填,如果安装IIS的朋友最好设一个其他的端口,为了后面的学习,最好统一为8080。
点击下一步【Next】

设置MySQL数据库

Enter root password 输入数据库访问密码,下面再输。即为root账号的密码
下面打勾 Enable InnoDB 可以使用数据库事务处理引擎。
其他无需变动了。
点击【Install】,等待安装完毕。

最后面板,就是告诉你已经安装完成了,点【Finish】,就开始启动Apache与MySQL服务了。

2.测试安装环境

安装之后,我们还要小作一下测试,打开你的浏览器,在地址栏里键入 http://localhost:8080,是否可以正常显示页面

如果可以看到这个结果,点击 phpMyAdmin Database Manager Version 2.10.3 ,弹出对话框,输入账号与密码,账号是root,密码你自己清楚,之前填的。

进入这个页面,后面需要用phpMyAdmin来查看数据库的一些信息。

下面测试命令提示符下php的可用性。
打开命令提示符界面,输入 php –v


如果没猜错,你会弹出类似的错误对话框,这个是安装包安装后的一个小BUG,所以我们需要纠正一下。

在运行下,输入php.ini 打开 php的配置文件。
通过查找php_mbstring.dll 定位到该行,我们需要剪切掉这行,并把它放到上面去,如下图所示。

保存,再在命令提示符下键入 php –v

该命令显示PHP的版本信息,OK了。
3.
安装PHP的pear环境Pear是什么?pear是一种分享可用的PHP组件的框架分布系统。意思,我们可以使用pear直接去寻找和下载我们想要的php有用代码或者组件,这里你可以认为Symfony就是可用的一个组件,我们后面会使用pear来安装Symfony环境,不过先得安装pear。Pear是基于php环境的,所以下面就简单多了。GO!
打开你的AppServ的安装目录夹,找到这个地址

点击,go-pear.bat批处理文件,进入命令行提示符,在这里我就不再细讲了,你就一直打回车就可以了。注意第二下回车后需要等待pear的安装,完了,继续回车。最后,点击在当前目录下的注册文件 PEAR_ENV.reg。
如果要测试pear的是否正常工作,可以在命令行提示符下键入pear,至于pear详细使用我们不在这里详解。
4.
使用pear安装Symfony开发环境参考地址http://pear.symfony-project.com/
打开命令提示符,按步骤键入以下命令





注册symfony pear 频道:
       pear channel-discover pear.symfony-project.com

列出可用的安装包:
       pear remote-list -c symfony


安装symfony 1.4.x:
       pear install symfony/symfony
最后一步请耐心等待吧。。。。安装包不是很大,估计4M以内,看你的网路速度如何。

5.
调试Symfony开发环境最后我们调试一下symfony环境是否正常运行了,这步很简单,在命令提示符下键入
symfony –V

显示的版本为1.4.5,只是官方最新的release版本。我们后面将以此版本演习与讲解。



更多详情参见:http://www.symfony-cxne.org/forum.php?mod=viewthread&tid=14&extra=page%3D1
[ 此帖被gefeinmxyz在2010-08-14 12:35重新编辑 ]

作者: gefeinmxyz   发布时间: 2010-08-14