symfony2是一款免费的php5的web应用框架,可以轻松的安装在任意设置上,加速web应用的开发以及维护,减少重复的编码工作。拥有整个设置的控制权:从路径结构到外部库,几乎一切都可以自定义。小编带来的是symfony2,需要的朋友可以下载!
symfony特色:
简单的模板功能
缓存管理
自定义URLs
搭建了一些基础模块
多语言与I18N支持
采用对象模型与MVC分离
Ajax支持
适用于企业应用开发。
框架
新机制
一个框架结构在编程语言之上加入了新的机制,并且这些机制能够为许多特定的目标自动提供一些开发模式。一个框架结构同样为编码增加了结构,并且促使程序员编出更好、更易读的、有持续性的代码。一个框架结构能让编程变得更加简单,因为它把复杂的程序封装成了简明的陈述。
一个框架的发展通常是以它所使用的语言所延伸出来的。一个php5框架是由一系列的用php5写成的文件组成的。
层次
一个框架将为应用划分出层次。从整体上来说,它可以将应用分为三个层次:
◆表现逻辑层(presentation logic) 用于处理用户与软件之间的交互
◆数据源逻辑层(data source logic) 提供了一个数据库同其他数据提供者的联系通道。
◆范围逻辑层(domain logic),或者叫事务逻辑层(business logic),这是剩余的部分。它包括关于输入的计算、处理表现层中的数据,以及根据从表现层收到的指令分派调度数据源逻辑层。
网络应用框架
网络应用框架致力于促进网络应用的开发(websites,intranets,等等)。建立一个基本的动态网站可以从现有的编程语言中轻易的实现,而PHP的知名就是由于它的简易性被广泛的应用。只需要php,你就可以查询数据库、管理会话(session,cookies)、访问服务器端文件等等。而当你需要构建一个更加复杂的站点,当事务逻辑大大的增加了用于维护的编码量的时候,你就需要一个网络应用的框架出现了。
symfony安装教程:
1.Linux/Mac OS
在控制台执行如下命令:
$ sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony
将会在你的操作系统创建一个全局命令symfony
2.Windows
在控制台执行如下命令:
c:\> php -r "readfile('http://symfony.com/installer');" > symfony
将下载下来的symfony文件移到你的项目目录,然后执行以下命令:
c:\> move symfony c:\projects
c:\projects\> php symfony
3.创建一个symfony应用
使用new命令创建第一个symfony应用
# Linux, Mac OS X
$ symfony new my_project_name
# Windows
c:\> cd projects/
c:\projects\> php symfony new my_project_name
Symfony2运行环境设置教程
在我所演示的项目中,已经包含了一个页面,通过输入这个地址来打开它:http://your.host.com/appdev.php/testpage_1。出现的页面如下图所示:
我们打开浏览器自带的调试功能,然后刷新页面:
可以看到,该页面充斥着大量的js/css/图片文件,而整个页面的加载速度竟然达到了9.6秒。而如果打开这个页面:http://your.host.com/app.php/testpage1,出现的页面如下图所示:
我们发现页面的加载速度变成了4秒,同时众多js和css文件被各自合并成为了两个单独的文件(图中红框的部分)。造成上面两个页面打开速度截然不同的原因在于:如果通过不同的入口文件(app.php和appdev.php)进入页面,Symfony2会根据入口文件的不同,切换到不同的运行环境。比如在默认配置中:通过app.php访问的页面,就是生产环境 ,而通过appdev.php访问的页面,则是开发环境 。Symfony2根据运行环境的不同,运行程序时的配置也会不同。比如细心的读者可能会发现,开发环境中页面的下方多了一条像是工具栏一样的东西(这是Symfony2特有的开发调试栏)。环境的不同会影响Symfony2程序运行的各个环节,以下列举了一些比较重要的不同配置下的差异处:功能开发环境生产环境
---------------
开发调试栏会出现不会出现
日志记录记录详细的程序执行信息只在程序出现错误的时候记录
css/js合并不会会
所以可以看出,css/js文件合并其实是Symfony2自动根据环境不同所开启或关闭的一个自带功能罢了,这个功能在Symfony2中叫做Assets管理,当然我们也可以通过控制入口文件来实现开启或者关闭其他更多的功能。通过Symfony2的环境配置功能开启或关闭各种自带功能就像在文本里改一个参数那么简单,而每个不同的环境又有一套独立的环境配置。Symfony2提供了大量的参数供用户方便的配置各种功能,通过对不同环境下的各个功能进行配置,可以很方便的设置出一套适合你自己的工作/生产环境。