Laravel 4 パッケージの 1 つでクラスをロードするのに問題があります。composer.json
に適切な名前空間とパスのマッピングがない場合に発生する、一般的な「クラスが見つかりません」というエラーが表示されます。ファイルにすべてを追加しようとしましたが、何もcomposer.json
機能していないようです。ただし、新しいオブジェクトを宣言するときにクラスのフルパスを使用しようとすると:psr-0
classmap
files
$foo=new Myvendor\Mypackage\Domain\Models\Mymodel;
それは非常にうまく機能します。ただし、オブジェクトが必要になるたびにパス全体を宣言する必要はありません。完全なファイルパスを持つクラスが機能するという事実は、ソリューションに非常に近づいていることを示しています。
編集:いくつかのコード
次の場所にある私のクラス:src\Myvendor\Mypackage\Domain\Models\Complainant.php
パッケージルートからの相対位置
<?php namespace Myvendor\Mypackage\Domain\Models;
class Complainant {
public $fname;
public $lname;
}
私のcomposer.json
ファイルの一部:
"autoload": {
"psr-0": {
"Myvendor\\Mypackage": "src/"
}
},
このコードは機能しません:
$var=new Complainant;
以下は行いますが:
$c=new Myvendor\Mypackage\Domain\Models\Complainant;