0

在 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));

我想like根据美化名称创建 facebook 按钮。为此,我需要在控制器中$beautiful_urls使用的变量。routes.phpFoo

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

4

2 回答 2

0

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

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

你也可以让 BeautifulUrls 实现 ArrayAccess 接口,这样你就不必改变你的路线

于 2013-08-03T10:33:53.797 回答
0

我不知道这是否是一个好习惯,但我的解决方案是使用 CakePHP 的Configure类。在代码和配置文件中的任何地方都可以直接使用和访问。

您可以使用以下方式保存键值对

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

并再次阅读

Configure::read('key');
于 2013-08-08T14:32:46.073 回答