Composer Autoload 不会自动加载 class

Composer Autoload does not autoload class

我正在学习有关如何创建作曲家开发环境的教程。 https://www.hostinger.com/tutorials/how-to-install-composer

我按照这个操作,但收到错误 'Class "Timer" not found'。

我采取的步骤:

  1. 为项目创建了一个文件夹
  2. 是否在文件夹上执行命令“composer require phpunit/php-timer”。这会自动创建必要的作曲家文件。
  3. 创建了一个名为 demo.php 的 php 文件并复制了教程中的代码(参见下面的代码)
  4. 尝试使用命令“php demo.php”运行 php 文件并出现错误。

代码:

<?php
require __DIR__ . '/vendor/autoload.php';
Timer::start();
// your code
$time = Timer::stop();
var_dump($time);
print Timer::secondsToTimeString($time)

phpunit/php-timer 中的 class 元素在名为 SebastianBergmann\Timernamespace 中。因此,您必须使用完全限定的 class 名称:

\SebastianBergmann\Timer\Timer::start();

或指定一个 use 别名:

use SebastianBergmann\Timer\Timer;
Timer::start();
// ...
Time::stop();

我没有仔细查看,但请注意,此包的文档没有显示静态用法,因此您可能必须这样做:

use SebastianBergmann\Timer\Timer;
$timer = new Timer();
$timer->start();
// ...
$timer->stop();