問題タブ [psr-4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PSR-4 を使用してクラスが見つかりません
以下のように、composer.json ファイルに PSR-4 仕様があります。
上記は私のディレクトリ構造です。私の Core/Config.php ファイルには、名前空間の下にあるクラス Config がありますMyMVC\Core
。(問題の例としてConfigクラスを取り上げるだけで、これはすべてのクラスで同じです)。
今、私のConfig/config.phpファイルで、以下のコードを使用しています
しかし、これにより Class Config Not Found というエラーが発生します。を使用すれば問題を解決できますMyMVC\Core\Config;
。ただし、Config を明示的に使用しなくても機能するはずです。自動ロードされるはずのフレームワークユーザーによって追加されたファイルが存在する可能性があるためです。
ありがとう
php - PSR-4オートローディングを使用したLaravel 4でカスタムクラスが見つからないという奇妙なエラー
私のカスタムクラスで。
ファイル構造:
Composer.json
クラス 'CustomHelpers\API\App' が見つかりません
マニュアルに記載されていることを実行しましたが、 APIフォルダー内にAPPがないため、エラーが表示されるのは奇妙です。私は誰かが私を助けてくれることを願ってのコマンドを使用します.composer dump-autoload
アップデート
php - Peridot-php ブラウザで正常に動作しているときにコンソールで致命的なエラーが発生する
私は The Clean Architecture という本のケース スタディを読んで取り組んでいました。考えられるすべての方法を試してみたが、問題を解決できない場合は、現在のコードのリンクを次に示します。
これが問題です
Fatal error Fatal error: Class 'Webloper\CleanPhp\Invoicer\Domain\Entity\Order' not found in C:\xampp\htdocs\cleanphp\specs\domain\service\invoice-factory.spec.php 行 8
そのため、パブリックフォルダーと index.php ファイルを追加して、ブラウザーでの動作を確認し、ベンダーの autoload.php とその動作を確認しました。
そのため、再びベンダーの自動ロードをinvoice-factory.spec.phpファイルに追加しましたが、別のエラーが発生してストリームが見つかりません。
php - 未定義メソッドの呼び出し Composer\\Autoload\\ClassLoader::setPsr4()
複数のサブフォルダーを持つプロジェクトがあります。フォルダの 1 つで、それらはいくつかの「アドオン」です。これらのアドオンにはすべて composer.json と vendor-folder があります。独自のアドオンを作成し、新しいフォルダーを作成して、composer.json
そのディレクトリに配置したいと思いました。composer install
問題なく動作しますが、どういうわけかアドオンをインストールしているときにエラーが発生します
この問題の原因は何ですか? composer dump-autoload
インターネットでこれらのソリューションを見つけたので、私はすでに実行しcomposer global update
ましたが、それでも機能しません。サブフォルダーで機能させるために何か特別なことをする必要がありますか?
これは現在、私の composer.json です
それが役立つかどうかはわかりませんがvar_dump
、ローダーを実行すると、これが結果になります
その後、$loader->setPsr4
メソッドが呼び出され、致命的なエラーが発生します。
奇妙なことに、オートロードclassmap
の代わりに使用するとpsr-4
、問題なく動作します。
php - PHP テストはローカルでは成功するが、Composer、PSR-4 自動ロードを使用する Travis CI では失敗する
これらの単体テストがローカル セットアップを通過するときに CI で失敗する理由を理解するのを手伝ってくれる人はいますか。
リポジトリはhttps://github.com/jabranr/test-ciにあります
テストはhttps://travis-ci.org/jabranr/test-ciにあります
テストは CI で失敗し、次のような致命的なエラーが発生します。PHP Fatal error: Class 'JRI\JabranCI\Exception\FooBarException' not found in /home/travis/build/jabranr/test-ci/test/exception/FooBarExceptionTest.php on line 11
パッケージは PSR-4 オートローディングを使用します。composer.jsonとphpunitの構成は次のとおりです。前もって感謝します!
php - フレームワークなしで PSR-4 Composer を理解する
私は PSR-4 がどのように機能するかを理解し、学ぼうとしています。なぜなら、私はこの標準である小さなアプリでリファクタリングするのが好きだからです。
いくつかのマニュアルとスタック オーバーフローの投稿によると、私の構造とファイルは問題ありません。
ResellerApi.php コンテンツ:
私のcomposer.json(グローバル)
そして、私の仕事のディレクトリ /reseller.php で
PHPstorm はエラーを表示しません。
しかし、phpショーエラー...
編集: ファイル vendor/composer/autoload_psr4.php で composer dump-autoload (または composer update) を実行した後
あまりにも多くのマニュアルに例が示されていますが、Laravel、Sympony が混在しています ... PSR-4 を理解するのが好きです ...