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 に答える