これは、Yiiが認識するwebrootと、実際のYiiのインストールディレクトリにズレがあるのを修正します。false,を設定します。いまのところまだ研究中なんですが、Yii2のCSRF対策がうまく効かなくなるので、自動化は中止します。必要であれば自前のヘルパを用意するのがよいでしょう。OK!NEXT!config/db.phpデータベース設定です。これはWPの設定を引き継ぎたいところです。$wpdb->prefix];このように設定します。WPの定数とプリフィックスを取得して設定すればOK。OK!これで設定は完了です。次に必要なのはコントローラーの設置です。----------------------------------------------------}と書きます。ここでは何をやっているかと言いますと、上述のweb.php設定の中で、いかなるURLであろうとも、一旦wordpressコントローラーのindexアクションを呼ぶように設定しています。このアクションの中で、WPの投稿であればsingle.phpなどを呼び、そうでなければ、Yiiのコントローラーアクションを呼ぶという設定をします。YiiではHMVCというデザインパターンを採用されており、コントローラアクション内から別のコントローラアクションをコールできるようにしています。そのことを利用してURLからYiiのコントローラーアクションがあればHMVCコールWPのページならWPのテンプレートという順番でルーティングを処理するようにしています。ここについてはURL構造の問題ですので、続編をお待ちください。最低限YiiがWPの中で動くことを想定しています。次に、WPのsingle.phpなどをYiiのビューとしてコピーします。このとき注意しなくてはならないのは、single.phpやarchive.phpなどWPから最初にコールされるファイルはYiiのビューファイルとして配置。header.phpなどのテーマファイルの中からコールされるファイルは、Yiiのルートに置く必要があります。yii2/views/wordpressフォルダを作成し、その中に404.phparchive.phpauthor-bio.phpimage.phpindex.phppage.phpsearch.phpsingle.phpsidebar.phpをコピー。それ以外のファイルはYiiのindex.phpと並ぶように配置します。よっしゃ次最後!views/layout/main.php最後に、Yiiのレイアウトファイルから余分なタグを削ります。本来であれば、WP側のheader.phpとの兼ね合いでタイトルを設定したりは必要だと思いますが、まずはこれだけあれば大丈夫でしょうという動きを。以上で、なんとかWPの中でYii2を動かすという流れでした。この状態でhttp://domain/giiを動かすとYiiのスカッフォールディングが動きます。▲上記のような画面構成になります。なんとかWPの中でYiiが動くようになりました。これで複雑な検索を必要とするページを作ったり、WPではまかない切れない難しい一覧ページを出力したりできます。WPのデータベース設定を継承するようにつくられているので、WPのデータベーステーブルに対してモデルファイルをつくっておけば、WPの複雑なリレーションに対して簡単なデータ呼び出しも可能になるでしょう。次回は、GETパラメータの処理header.phpの最適化WPのログオン情報を継承してYiiのコントローラにアクセス制限をやってみます。Comments今日は完全な覚書です。僕はYiiが大好きです。あ、PHPのフレームワークのことです。(ぼくにとっては)使いやすい。現在はYii2がベータ版で開発中。管理画面を作るにはとっても手軽、かつ、高機能に振る舞ってくれるCRUD画面をつくってくれます。いったフレームワークにかならずついてくるのがORMやらARやら。YiiにももちろんARがあります。CActiveRecordを継承したクラスをつくれば、それで「はい完成」。(もちろんテーブル名の設定などは必要ですが)ただし、CActiveRecordは、初期値でフレームワークに設定されるDBへの接続を前提につくられており、複数データソースに接続する場合はちょこっと改造が必要です。'utf8',),)初期値ではこんな感じの設定がconfigにあります。1つのデータソースへの接続ですね。'utf8',),)こんな風にすると、2つめのデータソースへはYii::app()->db2でアクセス可能です。