クライアントの共有ホスティングアカウント(メディアテンプル)で編集可能なPDFに入力するために、ZendPDFをインストールしようとしています。phpinfo http://i.imgur.com/lDiLk.pngで確認しましたが、今は有効にしていますが、その後、何を始める必要があるのかわかりません。Zend_Pdfクラスを読み込もうとすると、「致命的なエラー:クラス'Zend_Loader'が見つかりません」というメッセージが表示されます。
2 に答える
これらは非常に異なります。Zend Guard Loaderは、ZendGuardによってエンコードされたPHPスクリプトを実行するために使用されます。また、Zend Loaderコンポーネントは、特に開発を簡素化するために使用されます。たとえば、これは...
$pdf = new Zend_Pdf(); // what's Zend_Pdf, people?
Zend_Pdf
...ステートメントは、クラスが何であるかを知らない限り、PHPにとって無意味です。ありがたいことに、PHPには、これらのファイルを自動的にインポートする特別なメカニズムがあります-自動ロード。Zend_Loaderを使用してこれを行う方法は次のとおりです。
set_include_path(
implode(PATH_SEPARATOR, array(
get_include_path(),
PATH_TO_ZF_LIBRARY
)));
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
...
$pdf = new Zend_Pdf(); // no error, as correct file should be imported automatically
実際、Zendコンポーネントを使用するのが単一のファイルのみである場合は、自動ロードメカニズムを使用する必要はありません。単純なrequire_once
(しゃれは意図されていません)で十分です:
require_once 'Zend\Pdf.php';
...
$pdf = new Zend_Pdf(); // oh, now I know all about Zend_Pdf!
ZendGuardLoaderとZendLoaderは同じものではありません。Zend Guardは別のZend製品であり、ZendFrameworkとは何の関係もありません。Zend Loaderは、ZendFramework内のクラスローダーの名前です。
アプリケーション内にZendFrameworkのコピーがあり、この場所を指すようにインクルードパスを設定していることを確認してください。