symfony2中有規律的動態路由

2021-07-09 11:17:37 字數 1966 閱讀 5195

比如我現在有3個路由

mall_goods_list_by_price_or_sales_or_create_time:path:/goods/list_by_price

defaults:

mall_goods_list_by_price_or_sales_or_create_time:path:/goods/list_by_sales

defaults:

mall_goods_list_by_price_or_sales_or_create_time:path:/goods/list_by_create_time

defaults:

大家會發現每個path都有共同的部分  

/goods/list_by_

這其實在symfony2中的文件中其實提出了解決的方法

路由方面這麼寫

mall_goods_list_by_price_or_sales_or_create_time:path:/goods/list_by_  (這就相當於乙個佔位符了)

defaults:

requirements:(這麼寫是為了告訴框架,只有有其中3個值的之一我才有這個路徑)

控制器中這麼寫

/**

* 按所給條件(**,銷售值,時間)獲取商品列表

*/public function listbyconditionaction(request

$request

, $condition

)if

($page

< 1)

$pagesize

= (int)

$request

->

request

->get(

'$pagesize'

);if (!

in_array

($pagesize

, array(8

, 16

)))

$sort_field

= array

('price'

=>

'minprice'

,'create_time'

=>

'createtime'

,'sales'

=>

'sales'

, );

$repository

= $this

->getdoctrine()

->getrepository(

);$goodslist

= $repository

->findby(

array

('warehouseid'

=>

$warehouseid

,'status'

=> 0,

),array

($sort_field[$condition]

=>

$order

),$pagesize

,$pagesize * (

$page - 1

));$ret

= $this

->_getlistbycondition(

$warehouseid

, $goodslist

);return new jsonresponse(

$ret

);}

symfony2中對異常的處理,個人總結

習慣了之前的出現錯誤,就立即解決的方式。現在在用symfony的用法,發現原來自己一直錯過了乙個東西 exception 現在講講symfony2中如何處理錯誤 baseexception.php的異常基類這裡還需要對其進行賦值noauthorityexception.phpnamespace ma...

symfony2中對於注入的進一步理解

arguments snc redis.data 舉個例子 我在控制器中可能會寫 redis this container get snc redis.data 這時候我就需要將snc redis.data為引數傳入其中,然後將redis作為services裡面的變數,注入到 construct中 ...

Symfony2之建立乙個簡單的web應用

symfony2 建立bundle bundle就像外掛程式或者乙個功能齊全的應用,我們在應用層上開發的應用的所有 包括 php檔案 配置檔案 css檔案 js檔案等都會包含在bunde系統中。可以通過兩種方法建立bundle,一種是 通過命令列建立,一種是 通過手動建立相應的檔案和資料夾。一 通過...