大佬教程收集整理的这篇文章主要介绍了php – Symfony CLI中的空转储()输出,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
稍后,打开PHP交互模式并包含以前的脚本我可以快速完成一些任务:
@H_489_1@/path/to/symfony/project$PHP -a Interactive mode enabled # BooTing the Symfony-sHell app PHP > require 'bin/app_dev_cli.PHP'; # check if one service has been registered successfully PHP > dump( $container->has('some_service') ); # Test some service PHP > dump( $container->get('some_service')->run($param) ); # Manage some entities and DB data flow PHP > $apple = new AppBundle\Entity\Fruit('Apple'); PHP > $em->persist($applE); PHP > $em->flush(); PHP > dump( $em->getRepository('AppBundle\Entity\Fluit')->findAll() ); # etc.这里的问题是dump()函数什么都没显示.我期待一个彩色的命令行输出,但是我试着用echo和var_dump()向我展示期望值,但对于对象,主要是输出密集且不可读.在这方面,VarDumper Component documentation说:
默认情况下,这对我不起作用,我确信PHP_SAPI是cli.此外,I found a workaround将debug.dump_desTination设置为PHP:// stderr,但是:
@H_489_1@# PHP interactive mode: PHP > dump("test"); hp sHell code on line 1: // <---- show the code line always "test"我不喜欢这个输出,也没有为此目的更改配置.
因此条件null === self :: $handler在该类代码的波纹管重现片段中始终为false,因此,未设置“cli”=== PHP_SAPI所需的转储器.
@H_489_1@public static function dump($var) { if (null === self::$handler) { /** ^--- this one **/ $cloner = new VarCloner(); $dumper = 'cli' === PHP_SAPI ? new CliDumper() : new HtmlDumper(); self::$handler = function ($var) use ($cloner,$dumper) { $dumper->dump($cloner->cloneVar($var)); }; } return call_user_func(self::$handler,$var); }来源:Symfony/Component/VarDumper/VarDumper.php
现在,了解这一点,您的解决方案就像将VarDumper的处理程序设置回null一样简单
工作代码:
@H_489_1@# bin/app_dev_cli.PHP <?PHP use Symfony\Component\VarDumper\VarDumper; require __DIR__.'/../app/autoload.PHP'; $kernel = new AppKernel('dev',truE); $kernel->boot(); /** This line (plus the use statement on top) does what you want **/ VarDumper::setHandler(null); // Useful global vars $container = $kernel->getContainer(); $doctrine = $container->get('doctrine'); $em = $doctrine->getManager();运行时:
@H_489_1@$PHP -a Interactive sHell PHP > require 'bin/app_dev_cli.PHP'; # bin/app_dev_cli.PHP PHP > dump('hi'); "hi"以上是大佬教程为你收集整理的php – Symfony CLI中的空转储()输出全部内容,希望文章能够帮你解决php – Symfony CLI中的空转储()输出所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。