Composerファイルの設定が間違っていますか?クラスを自動ロードしない-PHP

TheWebs

http://i.stack.imgur.com/BOMpu.jpg

上の画像であなたは私のを見ることができますcomposer.jsonこのファイルはFreya / Loader / Assetsに属しており、展開されていることがわかります。

また、ベンダーディレクトリが作成され、次のようなphpunit.xmlファイルがあることもわかります。

<phpunit
  bootstrap="bootstrap.php"
  backupGlobals="false"
  colors="true"
  convertErrorsToExceptions="true"
  convertNoticesToExceptions="true"
  convertWarningsToExceptions="true"
  >
  <testsuites>
    <testsuite>
      <directory suffix="Test.php">./tests</directory>
    </testsuite>
  </testsuites>
</phpunit>

phpunitこのディレクトリにいるときにターミナルで実行すると、次のエラーが発生します。

PHP Fatal error:  Class 'AssetLoader' not found in /vagrant/Freya/Loader/Assets/tests/AssetsTest.php on line 18

テストは次のようになります。

<?php

use Freya\Loader\Assets;

class AssetsTest extends WP_UnitTestCase {

    public function testAssetsAreRegistered() {
        // $assetsToregister = array(
        //     'css' => array(
        //         'some_file' => 'http://example.com'
        //     ),
        //     'js' => array(
        //         'some_file' => 'http://example.com'
        //     )
        //     'front_jquery_version' => '2.7.1'
        // );

        $assets = new AssetLoader();
        var_dump($assets->getAssets());

    }
}

このファイルが必要ない理由がわかりません。私はpsr-4標準を使用していますが、私が知る限り、composerファイルに問題はありません。クラスはドキュメントでかなり長いので、名前空間とクラス定義を表示するためにシェルを貼り付けてください。

AssetLoader.php

<?php

namespace Freya\Loader\Assets;

class AssetLoader { ... }

**私は何か見落としてますか?何か間違ったタイプですか?すべてが私には正しいように見えます... **

1つ更新する

要求に応じて、ブートストラップファイルを参照してください。

<?php

/** ---------------------------------------------------- **/
// Require the vendors autoload file.
/** ---------------------------------------------------- **/
require_once 'vendor/autoload.php';

/** ---------------------------------------------------- **/
// We neeed WordPress Bootstrap files for its test.
/** ---------------------------------------------------- **/
define('WP_TEST_DIR', parse_ini_file('test-config.ini')['test-location']);

// Include the bootstrap file.
require_once WP_TEST_DIR . 'includes/bootstrap.php';

// Include the Functions file
require_once WP_TEST_DIR . 'includes/functions.php';

アップデート2

だからcomposer dump-autoload誰かが私がやったことを実行することを提案しました、そして私はphpunitを実行しました、そして私は同じ問題を抱えました:

$ composer dump-autoload
Generating autoload files

$ phpunit

Configuration read from /vagrant/Freya/Loader/Assets/phpunit.xml

PHP Fatal error:  Class 'AssetLoader' not found in /vagrant/Freya/Loader/Assets/tests/AssetsTest.php on line 18
PHP Stack trace:
PHP   1. {main}() /usr/local/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/local/bin/phpunit:535
PHP   3. PHPUnit_TextUI_Command->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:105
PHP   4. PHPUnit_TextUI_TestRunner->doRun() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:153
PHP   5. PHPUnit_Framework_TestSuite->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:406
PHP   6. PHPUnit_Framework_TestSuite->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:722
PHP   7. PHPUnit_Framework_TestCase->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:722
PHP   8. PHPUnit_Framework_TestResult->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:699
PHP   9. PHPUnit_Framework_TestCase->runBare() phar:///usr/local/bin/phpunit/phpunit/Framework/TestResult.php:609
PHP  10. PHPUnit_Framework_TestCase->runTest() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:743
PHP  11. ReflectionMethod->invokeArgs() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:866
PHP  12. AssetsTest->testAssetsAreRegistered() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:866

Fatal error: Class 'AssetLoader' not found in /vagrant/Freya/Loader/Assets/tests/AssetsTest.php on line 18

Call Stack:
    0.0007     389896   1. {main}() /usr/local/bin/phpunit:0
    0.0789   13012000   2. PHPUnit_TextUI_Command::main() /usr/local/bin/phpunit:535
    0.0789   13012648   3. PHPUnit_TextUI_Command->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:105
    1.6249   38992520   4. PHPUnit_TextUI_TestRunner->doRun() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:153
    1.6292   39003688   5. PHPUnit_Framework_TestSuite->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:406
    1.6294   39007208   6. PHPUnit_Framework_TestSuite->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:722
    1.6305   39011272   7. PHPUnit_Framework_TestCase->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:722
    1.6305   39012816   8. PHPUnit_Framework_TestResult->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:699
    1.6306   39015248   9. PHPUnit_Framework_TestCase->runBare() phar:///usr/local/bin/phpunit/phpunit/Framework/TestResult.php:609
    1.6409   39068824  10. PHPUnit_Framework_TestCase->runTest() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:743
    1.6409   39069592  11. ReflectionMethod->invokeArgs() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:866
    1.6410   39069672  12. AssetsTest->testAssetsAreRegistered() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:866
ウーターJ
use Freya\Loader\Assets;

これは、他の言語から慣れているように、「この名前空間からすべてをインポートする」という意味ではありません。PHPでは、この唯一の手段:別名Freya\Loader\AssetsAssetsこのファイルインチ

これは、new AssetsLoader()それでもグローバルスコープからロードしようとすることを意味します(そのためAssetsLoader、ではなく、クラスに見つからないというメッセージが表示されますFreya\Loader\Assets\AssetsLoader)。

これを機能させるにnew Assets\AssetsLoader()は、(を覚えておいFreya\Loader\AssetsてくださいAssets)またはuse Freya\Loader\Assets\AssetsLoader(このように、AssetsLoaderこのFQCNにエイリアスされます)を使用します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPファイルを自動ロードしようとするとComposerはクラスを予期しましたが(見つかりません)

分類Dev

ffmpegのインストールとphpの設定でこれはどこが間違っていますか

分類Dev

ファイルが間違った名前でダウンロードされています。PHPの修正を手伝ってください

分類Dev

Herokuがcomposerファイルからphpバージョンを設定していません

分類Dev

PHP設定を変更した後、PHPファイルのアップロードが機能しない

分類Dev

単純なPHPユニットテストの自動ロードファイルが機能しない

分類Dev

PHP PDO、パラメータの列名が間違っているときにクラスメソッドがtrueを返しますか?

分類Dev

PHPが間違ったドライブでextフォルダを探しています

分類Dev

PHPは、Composerによって自動ロードされる必要があるライブラリからクラスを見つけられません

分類Dev

PHPスクリプトによって提供されるファイルをダウンロードしている間、Webサイトが使用できなくなります

分類Dev

PHPを使用してCSVファイルを作成すると行が間違っています

分類Dev

SmartyBCクラスファイルを使用している間、{php}が最新のsmartyで機能しない

分類Dev

PHPまたはWindowsエクスプローラーを使用してコピーされたファイルの作成日タイムスタンプが古くなっています

分類Dev

IDが正しく機能していないかファイルをチェックすることになっているPHPコード

分類Dev

Composerを使用してPHPクラスを自動ロードする

分類Dev

PHP / MYSQLクエリの結果がなく、エンコードが間違っていますか?

分類Dev

PHP Composer Autoload がクラスをロードしない

分類Dev

このPHPファイルの名前変更コードの何が問題になっていますか?

分類Dev

ユーザーがログインしていない場合、PHPファイルを制限しますか?

分類Dev

ファイルのアップロード/フィールド要素が無効になっている場合でもPHPスクリプトを挿入

分類Dev

ファイルのアップロード/フィールド要素が無効になっている場合でもPHPスクリプトを挿入

分類Dev

サーバーへのアップロード後にPHPが間違った形式のURLファイルパスを生成しました

分類Dev

ComposerがMacSierraで間違ったバージョンのphpを使用しています

分類Dev

PHPでファイルをダウンロードしている間、複数の接続を防止します

分類Dev

Squarespace RSSフィードはPHPファイルのプルリクエストによってブロックされていますか?

分類Dev

Apache 2.4 + PHP-FPM、存在しないphpファイルのエラーページを設定する方法

分類Dev

PHP include()がファイルアクセス時間を変更しないのはなぜですか?

分類Dev

php my adminのデフォルトのタイムスタンプは、正しいタイムゾーンを使用しても間違っています

分類Dev

エラー「申し訳ありませんが、作業するにはwp-config-sample.phpファイルが必要です。WordPressインストールからこのファイルを再アップロードしてください。」

Related 関連記事

  1. 1

    PHPファイルを自動ロードしようとするとComposerはクラスを予期しましたが(見つかりません)

  2. 2

    ffmpegのインストールとphpの設定でこれはどこが間違っていますか

  3. 3

    ファイルが間違った名前でダウンロードされています。PHPの修正を手伝ってください

  4. 4

    Herokuがcomposerファイルからphpバージョンを設定していません

  5. 5

    PHP設定を変更した後、PHPファイルのアップロードが機能しない

  6. 6

    単純なPHPユニットテストの自動ロードファイルが機能しない

  7. 7

    PHP PDO、パラメータの列名が間違っているときにクラスメソッドがtrueを返しますか?

  8. 8

    PHPが間違ったドライブでextフォルダを探しています

  9. 9

    PHPは、Composerによって自動ロードされる必要があるライブラリからクラスを見つけられません

  10. 10

    PHPスクリプトによって提供されるファイルをダウンロードしている間、Webサイトが使用できなくなります

  11. 11

    PHPを使用してCSVファイルを作成すると行が間違っています

  12. 12

    SmartyBCクラスファイルを使用している間、{php}が最新のsmartyで機能しない

  13. 13

    PHPまたはWindowsエクスプローラーを使用してコピーされたファイルの作成日タイムスタンプが古くなっています

  14. 14

    IDが正しく機能していないかファイルをチェックすることになっているPHPコード

  15. 15

    Composerを使用してPHPクラスを自動ロードする

  16. 16

    PHP / MYSQLクエリの結果がなく、エンコードが間違っていますか?

  17. 17

    PHP Composer Autoload がクラスをロードしない

  18. 18

    このPHPファイルの名前変更コードの何が問題になっていますか?

  19. 19

    ユーザーがログインしていない場合、PHPファイルを制限しますか?

  20. 20

    ファイルのアップロード/フィールド要素が無効になっている場合でもPHPスクリプトを挿入

  21. 21

    ファイルのアップロード/フィールド要素が無効になっている場合でもPHPスクリプトを挿入

  22. 22

    サーバーへのアップロード後にPHPが間違った形式のURLファイルパスを生成しました

  23. 23

    ComposerがMacSierraで間違ったバージョンのphpを使用しています

  24. 24

    PHPでファイルをダウンロードしている間、複数の接続を防止します

  25. 25

    Squarespace RSSフィードはPHPファイルのプルリクエストによってブロックされていますか?

  26. 26

    Apache 2.4 + PHP-FPM、存在しないphpファイルのエラーページを設定する方法

  27. 27

    PHP include()がファイルアクセス時間を変更しないのはなぜですか?

  28. 28

    php my adminのデフォルトのタイムスタンプは、正しいタイムゾーンを使用しても間違っています

  29. 29

    エラー「申し訳ありませんが、作業するにはwp-config-sample.phpファイルが必要です。WordPressインストールからこのファイルを再アップロードしてください。」

ホットタグ

アーカイブ