我正在尝试运行Behat(第一次为我)并且它有效.
但我有配置问题.我试图改变功能和引导的路径,如下所示:
#behat.yml
default:
paths:
features: app/tests/features
bootstrap: %behat.paths.features%/bootstrap
Run Code Online (Sandbox Code Playgroud)
现在我得到一个例外:
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException] Unrecognized options "paths" under "testwork"
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我有一些传统课程。许多类是使用工厂类实例化的。
还有一个单例类。
将来我想用 DIC 完全替换它们。目前,代码库很大,无法做到这一点。
现在我的目标是将 DI-Container 注入到由 Singleton 类实例化的每个服务中。Singleton 类有一个带有此签名的静态方法。
final class Singleton
{
private static $singletonCache = array();
public static function getInstance($namespace, $className)
{
}
}
Run Code Online (Sandbox Code Playgroud)
在这个函数内部,我想检查:
$instance = new $className();
if($instance instanceof ContainerAwareInterface)
{
// TODO: how do we get the container here
$instance->setContainer($container);
}
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能最好地将容器放入我的“单例类”中,它只是静态调用的?
我有多个以 Symfony 为基础的生产车间。现在我想编写一个日志文件来记录所有弃用情况。
我希望它们出现在“deprecated.log”文件中。这些弃用内容稍后会读入 kibana。
独白自述文件说
警告 (300):并非错误的异常情况。示例:使用已弃用的 API、API 使用不当、不受欢迎但不一定是错误的事情。
(https://github.com/Seldaek/monolog/blob/master/doc/01-usage.md)
所以我尝试了这个配置
monolog:
use_microseconds: false
handlers:
main:
type: group
members: [errors, deprecations]
errors:
type: error_log
level: ERROR
deprecations:
type: stream
level: WARNING
path: '%kernel.logs_dir%/deprecated.log'
channels: [php]
Run Code Online (Sandbox Code Playgroud)
但deprecated.log没有生成。我的错误是什么?错误日志似乎有效,但不是我的弃用。