如何在控制器中使用routes.php中的变量

如何在控制器中使用routes.php中的变量,php,variables,cakephp,controller,Php,Variables,Cakephp,Controller,在CakePHP中,在routes.php文件中重定向了一组唯一的URL名称。 与此类似: $beautiful_urls[0] = '/view/location-name/image-name.html'; Router::connect($beautiful_urls[0], array('controller' => 'Foo','action' => 'bar',3,60)); 我想根据美化后的名字创建类似facebook的按钮。为了做到

在CakePHP中,在
routes.php
文件中重定向了一组唯一的URL名称。 与此类似:

$beautiful_urls[0] = '/view/location-name/image-name.html';
Router::connect($beautiful_urls[0], 
                array('controller' => 'Foo','action' => 'bar',3,60));
我想根据美化后的名字创建类似facebook的
按钮。为了做到这一点,我需要在
Foo
控制器的
routes.php
中使用
$beautiful\uURL
变量

如何从控制器访问routes.php中的变量?
到目前为止,我试图将它与
App::use('routes','Config')链接但它不工作。我还考虑过将值作为动作参数发送,但这似乎不是一个好的做法。。。我知道把配置文件和控制器的逻辑混合在一起不是一个好主意,但到目前为止我还没有更好的主意。

我不是cakephp用户,但简单的搜索显示有一个名为的类

您可以创建类BeautifulURL并将其存储在那里。根据文档,它是单例的,可以从任何地方访问


此外,您还可以让BeautifulURL实现ArrayAccess接口,这样您就不必更改路由

我不知道这是否是一种好的做法,但我的解决方案是使用CakePHP类。它使用起来很简单,在代码和配置文件中随处可见

可以使用保存键值对

Configure::write('key','value');
然后用同样的方法再读一遍

Configure::read('key');