Archive for 4月, 2014

CodeIgniterからWordprssを呼び出した際に苦労したから、FuelPHPからはどうだろうと思いやってみた。
とりあえずということでまずは投稿された記事が呼び出せるか?(ってか、まだこれしかしてない)
まずは、フォルダの構成。あまり深く考えず、ドキュメントルートにwordpressを置いてみた。

ドキュメントルートの名前はwpplus(適当)

wp_1

 

この状態でwordpressのインストールを実行。

 

次に、 /fuel/app/bootstrap.php の編集を行う。
ポイントは3行目の「 require ‘../wordpress/wp-load.php’; 」の部分。
10行目の「require COREPATH.’classes’.DIRECTORY_SEPARATOR.’autoloader.php’; 」の部分より、
前に呼び出す必要がある。

<?php

require '../wordpress/wp-load.php';

// Load in the Autoloader
require COREPATH.'classes'.DIRECTORY_SEPARATOR.'autoloader.php';
class_alias('Fuel\\Core\\Autoloader', 'Autoloader');

// Bootstrap the framework DO NOT edit this
require COREPATH.'bootstrap.php';
Autoloader::add_classes(array(
// Add classes you want to override here
// Example: 'View' => APPPATH.'classes/view.php',
));

// Register the autoloader
Autoloader::register();

/**
* Your environment. Can be set to any of the following:
*
* Fuel::DEVELOPMENT
* Fuel::TEST
* Fuel::STAGING
* Fuel::PRODUCTION
*/
Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::DEVELOPMENT);

// Initialize the framework with the config file.
Fuel::init('config.php');

次に、Controllerの作成。
ポイントは9行目の「 require_once ‘../wordpress/wp-blog-header.php’; 」の部分。
後はWordpressの関数を呼び出すことで記事の一覧を取得出来る。


というわけで、非常に簡単でした。

■modulesについて

・独立して動作させる

・HMVCを利用できる

・独立したルーティングを定義できる

 

■module化の手順

・config.phpの編集

/fuel/app/config/config.php を編集し、有効化する。

'module_paths' => array(
	APPPATH.'modules'.DS
),

・namespaceの設定

Controller や Modelに namespace の設定が必要になる。


■ルーティングの定義方法
/fuel/app/modules/(app名)/config/ にroutes.php を作成し、ルーティングを定義する。
ルーティングは通常の/fuel/app/config/routes.php とまったく同様。