phpthumb を zend フレームワークに統合する簡単な方法はありますか? 可能であればサンプルコードを教えてください、ありがとう
3 に答える
アプリケーション/Bootstrap.php
protected function _initAutoload()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('PhpThumb_');
return $autoloader;
}
アプリケーション/設定/application.ini
[production]
includePaths.library = APPLICATION_PATH "/../library"
ファイルを入れる
library
--PhpThumb
私の答えは、David Weinraubによるこの答えに基づいています。その答えをあなたの状況にどのように翻訳するかが明確ではないかもしれません. そうでなければ、この質問を投稿しなかったと思います。
Zend Framework 推奨のディレクトリ構造を使用していると仮定しています。
ディレクトリの下にlibrary
ディレクトリを作成phpthumb
し、zip アーカイブからすべてのファイルをそこにコピーします。
次の行を application.ini に追加します。
autoloadernamespaces[] = "phpthumb_"
オートローダーを作成します。私のものはApp/Loader/Autoloader/PHPThumb.php
次のようになります:-
class App_Loader_Autoloader_PHPThumb implements Zend_Loader_Autoloader_Interface
{
public function autoload($class)
{
if ('phpthumb' != $class){
return false;
}
require_once 'phpthumb/phpthumb.class.php';
return $class;
}
}
ブートストラップでオートローダーを初期化します:-
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoloading() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->pushAutoloader(new App_Loader_Autoloader_PHPThumb());
}
}
それが完了したら、次のように php サムを使用できます。
$phpthumb = new phpthumb();
var_dump($phpthumb);
phpthumb のインスタンスをインスタンス化する場合に限り、これをテストしましたが、その機能はテストしていません。また、phpthumb ディレクトリ内のファイルの多くはデモ ファイルのように見えるため、それらのファイルの多くを削除できる場合があります。
「library」フォルダー内にディレクトリ名 custom を作成します。この「Custom」ディレクトリ内に PHPThumb ライブラリをそのまま配置します。基本的に、ライブラリ ディレクトリが include_path の一部であるという事実を利用しています。だから今、あなたがそれを使いたいところはどこでも、単にそうするだけです
require_once'Custom/PHPThumb/ThumbLib.inc.php'