gpt4 book ai didi

namespaces - 命名空间助手不会在 Laravel 4 中加载

转载 作者:行者123 更新时间:2023-12-04 16:54:54 25 4
gpt4 key购买 nike

我有一个 Controller ,它在我的 app/helpers 目录中调用一个 helper 类,然后该 helper 调用它的命名空间中的另一个类,但它找不到那个类。

所以这是我的 Controller :

<?php

namespace App\Controllers\Dash;

use \App\Models\SalesFlyer;
use \App\Helpers\MyPdf;

class FlyerBuilderController extends BaseController {

public function getPdf($flyerId = null) {
$flyer = new SalesFlyer();
$flyerData = $flyer->getSalesFlyerName($flyerId);

$flyerPath = public_path().'/assets/media/flyers/'.Session::get('userid').'/'.$flyerData->name.'-'.$flyerId.'.html';

return MyPdf::downloadPdf($flyerPath, $flyerData->name);
}
}

它完美地捕获了 MyPdf 类。这是 MyPdf 类:
<?php

namespace App\Helpers;

class MyPdf {

public static function downloadPdf($filePath, $filename) {

$client = new PdfCrowd("anthonythomas", "1ebd0d6e3ec1dfa83a6c5f3dd32906f0");

// other code here
}
}

PdfCrowd 类位于 App\Helpers 命名空间中,如下所示:
<?php

namespace App\Helpers;

//
// Pdfcrowd API client.
//
class PdfCrowd { }

Class 'App\Helpers\PdfCrowd' not found



这是我的 start/global.php 文件:
<?php

ClassLoader::addDirectories(array(

app_path().'/commands',
app_path().'/controllers',
app_path().'/controllers/dash',
app_path().'/controllers/dash/product',
app_path().'/models/Product',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/helpers',

));

然后这是我的 Composer :
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/controllers/dash",
"app/controllers/dash/product",
"app/models",
"app/models/Product",
"app/helpers",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
}

知道为什么我会收到那个错误吗?...

最佳答案

一切看起来都很好,但你也必须记住

composer dump-autoload

每次创建一个新类。另外,检查文件
vendor/composer/autoload_classmap.php

你必须在那里看到你的 Helper 类。

但是如果你使用 PSR-4,你可以使用相同的命名空间并且你不会执行 composer dump-autoload再次:
"autoload": {
"psr-4": {
"App\\Helpers\\": "app/helpers"
}
},

只记得删除 "app/helpers",从类图。

关于namespaces - 命名空间助手不会在 Laravel 4 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22228915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com