gpt4 book ai didi

php - 未找到接口(interface) 'Silex\ServiceProviderInterface'

转载 作者:行者123 更新时间:2023-12-03 09:09:45 25 4
gpt4 key购买 nike

我是 silex、uploadcare 和 github 的新手。我正在 YouTube 上学习有关将图像上传到我的社交网站的教程。但我不断收到此错误。

这是我的一些代码。

namespace KLEIDDER\Providers;


use Silex\Application;
use Silex\ServiceProviderInterface;

class UploadcareProvider implements ServiceProviderInterface
{
public function register(Application $app)
{
$app['uploadcare'] = $app->share(function() use ($app) {

return new \Uploadcare\Api('6854166a3c2cd467beb8', '416e1509f07b6b17cbe0');

});

}
public function boot(Application $app)
{


}

}

来自index.php页面

$app->register(new KLEIDDER\Providers\UploadcareProvider);

$app->get('/', function() use ($app) {

var_dump($app['uploadcare']);
die();

最近有人告诉我应该使用 Pimple,所以我尝试了

namespace KLEIDDER\Providers;


use Silex\Application;
use Pimple\ServiceProviderInterface;

class UploadcareProvider implements ServiceProviderInterface
{
public function register(Application $app)
{
$app['uploadcare'] = $app->share(function() use ($app) {

return new \Uploadcare\Api('6854166a3c2cd467beb8', '416e1509f07b6b17cbe0');

});

}
public function boot(Application $app)
{


}

}

但现在我收到此错误, fatal error :KLEIDDER\Providers\UploadcareProvider::register() 的声明必须与 Pimple\ServiceProviderInterface::register(Pimple\Container $pimple) 兼容

最佳答案

看起来您已经有了 Silex 1.x 代码,并且安装了 Silex 2.x。

它在版本 ServiceProviderInterface 之间从 Silex 中移出,您需要使用 Pimple 的一个:


使用 Pimple\ServiceProviderInterface;

更新后续问题。

显然,Pimple\ServiceProviderInterfaceSilex\ServiceProviderInterface 不同,因此您需要相应地重新编码您的类。主要区别是 register 方法的方法签名也发生了相应的更改。在 Silex 下是:

public function register(Silex\Application $app)

现在使用 Pimple 的:

public function register(Container $pimple)

幸运的是,如果尝试继续使用方法签名的 Silex 版本,PHP 会给出一条错误消息,准确地告诉您出了什么问题;-)

另请注意,Pimple 的 ServiceProviderInterface 也不再需要 boot 方法。

文档: Silex / Providers > Creating a provider

关于php - 未找到接口(interface) 'Silex\ServiceProviderInterface',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43546502/

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