Symfony2——建立bundle
bundle就像插件或者一個功能齊全的應用,咱們在應用層上開發的應用的全部代碼,包括:PHP文件、配置文件、圖片、css文件、js文件等都會包含在bunde系統中。
能夠經過兩種方法建立bundle,一種是
經過命令行建立,一種是
經過手動建立相應的文件和文件夾。
一:經過命令行建立,以下:
圖1
執行以上命令 src/Acme/HelloBundle
被建立,指定使用的配置文件格式yml(還能夠使用xml和php),同時自動在 app/AppKernel.php
添加一行代碼,使得bundle註冊到kernel。
圖2
Symfony2——建立一個簡單的web應用(配置文件均已yml爲例)
step 1:建立路由地址
路由的默認配置文件 app/config/routing.yml
,打開該文件你會看到當你建立bundle的時候,Symfony已經在該文件中添加了 AcmeHelloBundle
路由配置文件的入口,該入口會告訴Symfony到哪裏加載AcmeHelloBundle
的路由配置。
圖3
打開 Resources/config/routing.yml
定義URL對應的執行的控制器。
圖4
路由設置包含了兩方面,path對應了相應的URL,defaults指向URL執行的controller。佔位符{name}是一個通配符,用來匹配URL中,如:/hello/jc 或者 /hello/jack 的 jc 或者 jack ,同時匹配的值做爲參數傳入到indexAction方法中。
step 2:建立controller
web應用系統解析相應的URL,交由symfony框架執行相應的controller(AcmeHelloBundle:Hello:index),該controller對應的是Acme\HelloBundle\Controller\Hellotroller類中的indexAction方法。
圖5
controller其實就是一個PHP方法,該方法由咱們去建立,symfony可以執行的方法。
編寫indexAction方法,並返回Response對象,最後由symfony框架輸出Response對象。(Response類是Symfony框架提供的)
圖6
step 3:建立輸出模板