簡體   English   中英

如何在控制器中使用來自route.php的變量

[英]How to use variable from routes.php in controller

在CakePHP中,有一堆唯一的URL名稱在routes.php文件中重定向。 與此類似:

$beautiful_urls[0] = '/view/location-name/image-name.html';
Router::connect($beautiful_urls[0], 
                array('controller' => 'Foo','action' => 'bar',3,60));

我想基於美化的名稱創建like按鈕的facebook。 為了做到這一點,我需要在Foo控制器的routes.php中使用$beautiful_urls變量。

我如何從控制器訪問routes.php中的變量? 到目前為止,我嘗試將其與App::use('routes','Config');鏈接起來App::use('routes','Config'); 但它不起作用。 我還考慮過將值作為動作參數發送,但這似乎不是一個好習慣……我知道將配置文件與控制器的邏輯混合並不是一個好主意,但到目前為止我還沒有更好的主意。

我不是cakephp用戶,但簡單的搜索顯示有一個名為ClassRegistry的類。

您可以創建類BeautifulUrls並將其存儲在此處。 根據文檔,它是單例,並且可以從任何地方訪問。

另外,您可以使BeautifulUrls實現ArrayAccess接口,從而不必更改路由

我不知道這是否是一個好習慣,但是我的解決方案是使用CakePHP的Configure類。 它易於使用,並且可以在代碼和配置文件中的任何位置訪問。

您可以使用

Configure::write('key','value');

並再次閱讀

Configure::read('key');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM