【问题标题】:Class 'PHPJasper\PHPJasper' not found?找不到类“PHPJasper\PHPJasper”?
【发布时间】:2018-02-19 07:35:46
【问题描述】:

我有一个使用 Laravel 5.4.9 和 PHP 7.0.2 的应用程序。

我安装了我需要安装 PHP Jasper,从这个 url:https://github.com/PHPJasper/phpjasper 通过运行

$ composer require geekcom/phpjasper:~1.16

接着跑

$ composer install

我相信我已经正确安装了它,但是当我尝试使用下面的代码时:

use PHPJasper\PHPJasper;

它会抛出以下错误:

MyController.php 第 714 行中的 FatalThrowableError:

找不到类“PHPJasper\PHPJasper”

我该如何解决这个问题?

【问题讨论】:

  • 作曲家转储自动加载?
  • 奥丁雷霆也试过
  • 顺便说一句,在你成功运行composer require vendor/package之后,不需要立即运行composer install
  • 查看文件 vendor/composer/autoload_classmap.php 并检查 geekom 和 phpjasper 的行是否存在

标签: php laravel laravel-5 composer-php


【解决方案1】:

正如https://github.com/PHPJasper/phpjasper#the-hello-world-example 所指出的,您需要首先通过要求vendor/autoload.php 来初始化作曲家自动加载器。

<?php

require_once __DIR__ . '/vendor/autoload.php';

use PHPJasper\PHPJasper;

$jasper = new PHPJasper;

既然看起来你有某种网络应用程序,你可能有一些入口点,也许是一个前端控制器。那里需要vendor/autoload.php,并调整它的路径以匹配您的目录结构。

有关参考,请参阅https://getcomposer.org/doc/01-basic-usage.md#autoloading

【讨论】:

  • 他正在使用 Laravel,不需要自动加载,因为它已经被 Laravel 完成了
【解决方案2】:

您可能只需要包含直接相对路径

require_once __DIR__ . 'vendor/geekcom/phpjasper/src/PHPJasper.php';

DIR,在这种情况下,指向项目根目录

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-24
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多