CakePHPと外部WordPressとかModXとかと連携させたい時のメモ
CakePHPをキック編
CMSなどの大きなシステム間を連携させる場合結構大変。
CakePHPなどは特にURLを基準にどうさするため面倒ですが、
ちょっとした仕組がわかれば外部から簡単に呼び出せます。
まずwebrootの.htaccessを見るとURLをwebroot/index.phpに
丸投げしているのがわかります。
?url=$1
webrootの.htaccess
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
つまりリクエストのあったURLを$_GET[‘url’]としてindex.phpを実行しています。
ここまで分かればあとはしめたもの$_GET[‘url’]を無理やり入れ込んで
includeしてあげればOKです。
$_GET['url'] = '/controller/action'; $include_path = "[CakePHPへのパス]/app/webroot/index.php"; include($include_path);
補足
このケース実は呼び出し元でのログインセッションがらみで
ちょっとややこしいケースでした。
外部管理画面ログイン→そこからCakePHP読込といった感じ
(CakePHP側で呼び出し元のシステムへのログインチェック(SESSION)確認が
行われるケースでした。
単純に呼び出すだけなら。
file_get_contents()とかでURL指定しちゃうべきですね。
コメントを残す