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提供了大量的參數供用戶方便的配置各種功能,通過對不同環境下的各個功能進行配置,可以很方便的設置出一套適合你自己的工作/生産環境。