在Silex中创建应用程序并尝试执行前几个步骤,其中一个步骤是设置我的服务/提供程序。
我目前正在使用YAML文件加载这些文件。我也尝试过注册每个人,就像文档说的那样。
$this->register( new TwigServiceProvider(),array() );
这是我当前的bootstrap文件(从文件加载服务):
<?php
namespace App;
use Igorw\Silex\ConfigServiceProvider;
use Silex\Application as Silex;
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\HttpFoundation\Request;
class Bootstrap extends Silex
{
public function __construct()
{
$this['debug'] = true;
$this->registerDefaultParameters();
$this->registerDefaultServices();
$this->registerRoutes();
}
protected function registerDefaultParameters()
{
$paths = isset($this['base_path']) ? $this['base_path'] : array();
if (!isset($paths['base'])) {
$paths['base'] = realpath(__DIR__ . '/../');
}
$defaults = array(
'config' => $paths['base'] . '/App/Config',
'twig.path' => $paths['base'] . '/public/themes/base/templates'
);
foreach ($defaults as $key => $value) {
if (!isset($paths[$key])) {
$paths[$key] = $value;
}
}
$this['paths'] = $paths;
}
protected function registerDefaultServices()
{
$this->register( new ConfigServiceProvider($this['paths']['config'] . "/Services.yml") );
foreach($this['services'] as $serviceName => $serviceData)
{
$this->register( new $serviceData['class'],(array_key_exists('parameters',$serviceData)) ? $serviceData['parameters'] : array() );
}
}
protected function registerRoutes()
{
$this->register( new ConfigServiceProvider($this['paths']['config'] . "/Routes.yml") );
$collection = new RouteCollection();
foreach($this['routes'] as $key => $value)
{
$collection->add( $key, new Route(
$value['path'],
$value['defaults'],
array(),
array(),
null,
null,
$value['methods']
));
}
$this['routes'] = $collection;
}
}
我的问题是:
对于每个提供商,我都会收到致命错误,例如
致命错误:未捕获的异常&#39; InvalidArgumentException&#39;带有消息&#39; Identifier&#34; this_is_an_identifier&#34;未定义。&#39;
我从文件中手动加载服务时收到此错误。和每个提供商的不同之处,例如
与树枝提供者相关的错误是:
致命错误:未捕获的异常&#39; InvalidArgumentException&#39;带有消息&#39; Identifier&#34; request_error&#34;未定义。&#39;
另一个与Monolog相关的是:
致命错误:未捕获的异常&#39; InvalidArgumentException&#39;与消息&#39;标识符&#34;调度员&#34;没有定义。
因此,每个提供商/服务都有一些错误,显然情况并非如此。所以我的问题是为什么我不断收到这些错误?从我可以看到我没有做错什么?
下面是我的作曲家文件,以防万一它是一个版本的东西:
{
"name": "cranbri/cvcms",
"description": "Cranbri CV CMS Silex",
"minimum-stability": "dev",
"require": {
"silex/silex": "1.2.2",
"symfony/yaml": "2.6.1",
"igorw/config-service-provider": "1.2.2"
},
"autoload": {
"psr-4":{
"App\\": "App/"
}
}
}
这完全阻止了我的发展,所以如果有人能给我任何细节,我将不胜感激。干杯
答案 0 :(得分:1)
我没有打电话给父母!因此,我没有父类所做的任何值,因此为什么许多$ app变量没有设置且无法找到