3

コントローラの 1 つで FPDF ライブラリを使用したいと考えています。

次のファイルを作成しました。

app
-Lib
--Fpdf
---files.php
---fpdf.php
---fdpf_wrapper.php <-- this is our class (FdpfWrapper) which extends the base FPDF class

コントローラ クラスの直前で、これを試します。

App::uses('FpdfWrapper', 'Lib/Fpdf');

しかし、毎回失敗します。私たちは何を間違っていますか?

4

2 に答える 2

4

まず第一に、パッケージ パスは で使用するために登録する必要があります。これはそのようなものApp::usesLib/Fpdfはなく、デフォルトではコア パッケージのみが登録されます。

既存のパッケージのパスを拡張することもできます。あなたの場合は次のようになりますLib

App::build(array('Lib' => array(APP . 'Lib' . DS . 'Fpdf' . DS)));

そして、使用しますApp::uses('FpdfWrapper', 'Lib');

http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#adding-paths-for-app-to-find-packages-in

または、新しいパッケージを追加することをお勧めします:

App::build(array('Lib/Fpdf' => array(APP . 'Lib' . DS . 'Fpdf' . DS)), App::REGISTER);

http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#add-new-packages-to-an-application

次に、使用できますApp::uses('FpdfWrapper', 'Lib/Fpdf');

最後になりましたが、もちろん、@Nunser で既に述べたように、ファイル名は CakePHP の規則に従う必要があります。つまり、名前を次のfdpf_wrapper.phpように変更する必要があります。FdpfWrapper.php

于 2013-10-01T17:30:38.417 に答える
1

私の場合は少し違いました。

App::uses('ExampleAPI', 'ExampleAPI')作業を行うには、次のことを確認してください。

  • /Lib/ExampleAPI/ExampleAPI.php存在し、読み取り可能
  • /Lib/ExampleAPI/ExampleAPI.phpclass ExampleAPI{}宣言を含む
  • new ExampleAPIあなたは参照コードを呼び出します
于 2016-05-14T21:07:01.640 に答える