3 回答

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
您應(yīng)該在自動(dòng)加載后使用 use 語句:
<?php
namespace Cart;
use DI\ContainerBuilder;
use DI\Bridge\Slim\App as DIBridge;
class App extends DIBridge
{
protected function configureContainer(ContainerBuilder $builder)
{
$builder->addDefinitions([
'settings.displayErrorDetails' => true,
]);
//
}
}
并更改此文件:
session_start();
require __DIR__ . '/../vendor/autoload.php';
use Cart\App;
$app = new App;

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
您的 composer.json 需要看起來幾乎與教程中的一模一樣。我有同樣的問題。要要求舊版本,您只需執(zhí)行composer remove slim/slimthen之類的操作composer require slim/slim ^3.0。
特別是,您的 php-di 需要低于 v1.1。我的 composer.json:
{
{
"require": {
"slim/slim": "^3.0",
"slim/twig-view": "^2.1",
"illuminate/database": "^5.2",
"php-di/slim-bridge": "v1.0.2"
},
"autoload": {
"psr-4": {
"Cart\\": "app/"
}
}
}

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
您使用的是錯(cuò)誤的命名空間use DI\Bridge\Slim\App as DIBridge;
。包中不再有App
類。DI
反而
使用以下代碼use DI\Bridge\Slim\Bridge as DIBridge;
添加回答
舉報(bào)