symfonyをウェブルートディレクトリではなく、一つ下の階層に入れた場合とかの設定(特にルーティング)のメモ

久々に書きますが、時間がないのでメモレベルで。
いつか時間とニーズがあればWordPressとSymfonyの連携の方法なんかも書いてみたいと思ってます。

たとえば、symfonyをabcというディレクトリに入れたとして、

apps/front/config/factories.yml

inc:
  routing:
    param:
      context:
        prefix:                         '/shop'

のようにして

symfony以外のプログラム(たとえばwordpressとか)では、ファイルの最初に

< ?php
//autoload symfony core class
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

sfCoreAutoload::register();
// add autoload my project class
$dir = dirname(__FILE__).'/../';
$sfSimpleAutoload = sfSimpleAutoload::getInstance();
$sfSimpleAutoload->addDirectory($dir);
$sfSimpleAutoload->register();

$configuration = ProjectConfiguration::getApplicationConfiguration('front', 'inc', true);
sfContext::createInstance($configuration);
?>
とかいうのを書いとく。
そうすれば、たとえばテンプレートで
< ?php
echo sfContext::getInstance()->getController()->getPresentationFor('parts','sidebar');
?>

とかしたときに、url_for()とかで指定したリンク先が
/index.php/test/aaa
とかならずに
/abc/test/aaa
となってくれる。

Share on Facebook
このエントリーをはてなブックマークに追加
はてなブックマーク - symfonyをウェブルートディレクトリではなく、一つ下の階層に入れた場合とかの設定(特にルーティング)のメモ
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です