【问题标题】:Composer Autoload does not autoload class [duplicate]作曲家自动加载不自动加载类[重复]
【发布时间】:2021-12-18 05:24:18
【问题描述】:

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

我遵循了这个,但收到错误“找不到类“计时器””。

我采取的步骤:

  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)

【问题讨论】:

  • 你能分享你的 composer.json 文件吗?

标签: php composer-php autoload


【解决方案1】:

phpunit/php-timer 中的类位于名为 SebastianBergmann\Timer 的 namespace 中。因此,您必须使用完全限定的类名:

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

或者指定一个use 别名:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-08-15
    • 2013-03-05
    • 2013-12-09
    • 1970-01-01
    • 2018-10-01
    • 2016-03-06
    相关资源
    最近更新 更多