简体   繁体   English

如何从 laravel controller 访问 package 文件

[英]How to access a package file form laravel controller

I am using gabrielbull/ups-api in my laravel project我在我的 laravel 项目中使用 gabrielbull/ups-api

composer.json as follows composer.json如下

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Ups\\": "vendor/gabrielbull/ups-api/src"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ]
},

The controller code as follows: controller代码如下:

use Ups\Rate;

$rate = new Ups\Rate($accessKey, $userId, $password);

but I am getting an error Class 'App\Http\Controllers\Ups\Rate' not found但我收到错误 Class 'App\Http\Controllers\Ups\Rate' not found

Your controller can't find the Ups\Rate.您的 controller 找不到 Ups\Rate。

You should be able to do:你应该能够做到:

$rate = new Rate($accessKey, $userId, $password);

If not: You should be able to debug this quick with the following code.如果不是:您应该能够使用以下代码快速调试。

require __DIR__ . '/vendor/autoload.php'
use Ups\Rate;
new Rate()
echo Rate::class; // output

It's a PHP package, so once you install it via composer, it's already autoloaded.这是一个 PHP package,所以一旦你通过 composer 安装它,它就已经自动加载了。 You don't have to mess with the composer.json file.您不必弄乱composer.json文件。 After installing run:安装后运行:

composer dumpautoload

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM