私はCakePHP 3で動作するアプリケーションを持っており、私のパッケージはComposer経由でインストールしています。Composerを使用している場合、PHPパッケージのサブクラスを参照する正しい方法は何ですか?
最近、私はphpspec/php-diff
(https://packagist.org/packages/phpspec/php-diff)を追加し、composer update
を実行しました。しかし、このパッケージのドキュメントがhttps://github.com/chrisboulton/php-diff/blob/master/example/example.php#L43上の例としてこれを与え
// src/Controller/UrlsController.php
// ...
use Diff;
public function test()
{
$diff = new Diff(foo, bar);
// This works
}
:それはvendor/phpspec/php-diff/
に私はこのような私のCakePHPのコントローラのいずれかでクラスをインスタンス化することができ、予想通り、ファイルを入れていますの後にとなる(test()
で行われるように)Diff
となります。どこInline.php
生活それは作曲階層ではないので
require_once dirname(__FILE__).'/../lib/Diff/Renderer/Html/Inline.php';
$renderer = new Diff_Renderer_Html_Inline;
echo $diff->render($renderer);
明らかrequire_once
文は動作しません。
new Diff_Renderer_Html_Inline
をどのようにインスタンス化しますか?私はちょうどこのことエラーが
クラス「のApp \コントローラ\ Diff_Renderer_Html_Inline」私はrequire_once
でパスを変更することであってもよいと思った別の回避策は、それはそれを指して
見つからない
を言うようにそれを使用している場合は場所がvendor/
にあります。しかし確かに良い解決策がありますか?
おそらくでしょう(作曲をサポートしています)PSR-0スタイルの自動ロードですので、 '新しい\デフ\レンダラ\ Htmlの\ Inline' – apokryfos
ありがとう、私はすでに試してみましたが、同様のエラーが出ました。クラス 'Diff \ Renderer \ Html \ Inline'が見つかりませんでした。 – Andy
'new \ Diff_Renderer_Html_Inline'(ルートNS相対)おそらく動作するでしょう – apokryfos