私はSymfony &の初心者で、すでに病気になっています!Symfony:nullにメンバー関数has()を呼び出す
これは私の単純なコードです:
Error: Call to a member function has() on null in vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php (line 356)
わからないが、私は教義を取得するために失敗していると思う:
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use AppBundle\Entity\Users;
class ValidationController extends Controller
{
public function alreadyExists($email){
$repository = $this->getDoctrine()->getRepository('AppBundle:Users'); //ERROR IN THIS LINE
$user = $repository->findOneBy(array('email' => $email));
if($user==NULL) return true;
else return false;
}
}
?>
私はそれが私にこのエラーを与えている機能alreadyExists
呼び出し
vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php
ファイルで発生します。
protected function getDoctrine()
{
if (!$this->container->has('doctrine')) { ///LINE NO. 356
throw new \LogicException('The DoctrineBundle is not registered in your application.');
}
return $this->container->get('doctrine');
}
まったく同じ機能でもその同じコードや他のコントローラが、私があれば、別のコントローラでそれをカット&ペーストうまく機能します全く同じnamespace
& use
ステートメント。
私はこのエラーが何であるか教えてください。&どうしてこんなことが起こったのですか?
チェックアウトこのフェッチを実行するだけで、その後、最初の教義マネージャを取得必要があります:https://github.com/symfony/symfony/issues/23200 – Wreigh
はその$コンテナを言うだろうし無効である。ここを見て=> https://stackoverflow.com/questions/21129590/symfony-2-service-container-is-null – YaatSuka
@ YaatSukaしかし、私の場合は、サービス、そのコントローラではありません。私の知らないことを許しますが、コントローラとサービスの間でsymfonyがどの程度正確に違いますか? – Echoes