Composer Autoload 不会自动加载 class
Composer Autoload does not autoload class
我正在学习有关如何创建作曲家开发环境的教程。
https://www.hostinger.com/tutorials/how-to-install-composer
我按照这个操作,但收到错误 'Class "Timer" not found'。
我采取的步骤:
- 为项目创建了一个文件夹
- 是否在文件夹上执行命令“composer require phpunit/php-timer”。这会自动创建必要的作曲家文件。
- 创建了一个名为 demo.php 的 php 文件并复制了教程中的代码(参见下面的代码)
- 尝试使用命令“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\Timer
的 namespace 中。因此,您必须使用完全限定的 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();
我正在学习有关如何创建作曲家开发环境的教程。 https://www.hostinger.com/tutorials/how-to-install-composer
我按照这个操作,但收到错误 'Class "Timer" not found'。
我采取的步骤:
- 为项目创建了一个文件夹
- 是否在文件夹上执行命令“composer require phpunit/php-timer”。这会自动创建必要的作曲家文件。
- 创建了一个名为 demo.php 的 php 文件并复制了教程中的代码(参见下面的代码)
- 尝试使用命令“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\Timer
的 namespace 中。因此,您必须使用完全限定的 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();