2017-03-19 4 views
0

私はアプリケーション内でdump関数を使用していましたが、開発中にクライアントに慣れました(私はプロダクトではうまくいかないことはわかりませんでした)。今度はアプリケーションが稼働しているので、これ以上debugモードを意味しなくなり、dumpの機能は無効になります。Symfonysダンプをプロダクションで使用する

prod中にdump機能を有効にする方法はありますか?生産ENVでの使用dump()の奇妙な意志にもかかわらず

+0

dump()に使用されているクライアント?それは特有の種類のクライアントです。そして厄介な習慣、私は言うだろう。 –

+0

生産時にdump()は動作しません。私はあなたvar_dump()関数をお勧めします。 –

+0

'if(function_exists( 'dump'))...'を使って別の関数を作成し、 'print_r()'や 'var_dump()'などを使う 'dump()'を宣言してください。また、それをオフにする何らかの方法(おそらく、セッションの管理者スイッチで可能になるでしょうか?)。 –

答えて

1

...

私は間違っていないよ場合dump()のみdevtest ENVで有効になっているDebugBundleからです。あなたがDebugBundleの上に見ることができるように

public function registerBundles() 
{ 
    $bundles = [ 
     new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), 
     new Symfony\Bundle\SecurityBundle\SecurityBundle(), 
     new Symfony\Bundle\TwigBundle\TwigBundle(), 
     new Symfony\Bundle\MonologBundle\MonologBundle(), 
     new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), 
     new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), 
     new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), 
     new AppBundle\AppBundle(), 
    ]; 
    if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { 
     $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); 
     $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); 
     $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); 
     if ('dev' === $this->getEnvironment()) { 
      $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); 
      $bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle(); 
     } 
    } 
    return $bundles; 
} 

だけ前の上記ENVSに登録されています。おそらくifからそれを移動すると、dump()をプロダクションで使用できるようになります。

関連する問題