Zend Frameworkと連携する
今日は、appendicesの2つを読みました。あと残りはFAQだけです。
参照元:appendices/integrating_zend_framework.wiki
Lithiumアプリケーション内でZendフレームワークを使う為には、まずapp/config/bootstrap.phpにいくつかの設定を追加する必要があります。
設定
下記の設定は、incubatorよりも先にtrunkからチェックアウトしたものを追加しています。pathはtrunk/library/Zendを直接librariesディレクトリにおいた場合 、うまくいかないことに注意して下さい。
Libraries::add("Zend", array( "prefix" => "Zend_", 'path' => '/htdocs/libraries/Zend/trunk/library/Zend', "includePath" => '/htdocs/libraries/Zend/trunk/library', "bootstrap" => "Loader/Autoloader.php", "loader" => array("Zend_Loader_Autoloader", "autoload"), "transform" => function($class) { return str_replace("_", "/", $class) . ".php"; } )); Libraries::add("Zend_Incubator", array( "prefix" => "Zend_", "includePath" => '/htdocs/libraries/Zend/incubator/library', "transform" => function($class) { return str_replace("_", "/", $class) . ".php"; } ));
使いかた
設定を追加しましたので、全てにおいて重要なステートメントであるuseを「use \Zend_Mail_Storage_Pop3」のように追加することでZendフレームワークのクラスにアクセスできます。
namespace app\controllers; use Zend_Mail_Storage_Pop3; class EmailController extends \lithium\action\Controller { public function index() { $mail = new Zend_Mail_Storage_Pop3(array( 'host' => 'localhost', 'user' => 'test', 'password' => 'test' )); return compact('mail'); } }
Zend_Mailクラスの使い方に関してはZendフレームワークから提供されているメールドキュメントを参照して下さい。