i new in symfony2, register user in profile_tbl. here code in controller.
<?php namespace ai\qablogbundle\controller; use ai\qablogbundle\entity\profile_tbl; use symfony\bundle\frameworkbundle\controller\controller; use sensio\bundle\frameworkextrabundle\configuration\route; use symfony\component\httpfoundation\request; use symfony\component\httpfoundation\response; class qablogcontroller extends controller { /** *@route("/" , name= "home") */ public function homeaction() { return $this->render('aiqablogbundle:qablog:primaries/index.html.twig'); } /** *@route("/register/" ,name= "register") */ public function registeraction(request $request) { $profile = new profile_tbl(); $form = $this -> createformbuilder($profile) -> add ('fname' , 'text') -> add ('lname' , 'text') -> add ('gender' , 'text') -> add ('email' , 'text') -> add ('register' , 'submit') ->getform(); $form->handlerequest($request); if ($form->isvalid()) { $em = $this->getdoctrine()->getmanager(); $em->persist($profile); $em->flush(); return new response('news added successfuly'); } $build['form'] = $form->createview(); return $this->render('aiqablogbundle:qablog:primaries/registration.html.twig', $build); } }
when try run in browser gives error "attempted load class "profile_tbl" namespace "ai\qablogbundle\entity". did forget "use" statement namespace?"
i don't know wrong .. can me?
my profile_tbl entity
<?php namespace ai\qablogbundle\entity; use doctrine\orm\mapping orm; /** * profile_tbl * * @orm\table() * @orm\entity */ class profile_tbl { /** * @var integer * * @orm\column(name="id", type="integer") * @orm\id * @orm\generatedvalue(strategy="auto") */ private $id; /** * @var string * * @orm\column(name="fname", type="string", length=255) */ private $fname; /** * @var string * * @orm\column(name="lname", type="string", length=255) */ private $lname; /** * @var string * * @orm\column(name="gender", type="string", length=255) */ private $gender; /** * @var string * * @orm\column(name="email", type="string", length=255) */ private $email; /** * id * * @return integer */ public function getid() { return $this->id; } /** * set fname * * @param string $fname * @return profile_tbl */ public function setfname($fname) { $this->fname = $fname; return $this; } /** * fname * * @return string */ public function getfname() { return $this->fname; } /** * set lname * * @param string $lname * @return profile_tbl */ public function setlname($lname) { $this->lname = $lname; return $this; } /** * lname * * @return string */ public function getlname() { return $this->lname; } /** * set gender * * @param string $gender * @return profile_tbl */ public function setgender($gender) { $this->gender = $gender; return $this; } /** * gender * * @return string */ public function getgender() { return $this->gender; } /** * set email * * @param string $email * @return profile_tbl */ public function setemail($email) { $this->email = $email; return $this; } /** * email * * @return string */ public function getemail() { return $this->email; } }
i try rename or make entity ..
steps tried generate new entity. creating database:
php app/console doctrine:database:create
generate entity:
php app/console doctrine:generate:entity
generate getters , setters:
php app/console doctrine:generate:entities aiqablogbundle
after run in browser.
and gives me error ,
attempted load class "profile" namespace "ai\qablogbundle\controller". did forget "use" statement e.g. "twig_profiler_profile" or "symfony\component\httpkernel\profiler\profile"?
this happened me few times. happens when copy-paste old class file create new class. check classname , filename of file containing class; should same. in case should profile_tbl
, profile_tbl .php
respectively.
update
profile_tbl
converted profile/tbl.php
per psr-0 autoload convention composer uses default load classes inside src/
directory. you'll have rename class not use underscore e.g. profiletbl
or profile
.
// should in file: src/ai/qablogbundle/entity/profile.php namespace ai\qablogbundle\entity; /** * profile * * @orm\table() * @orm\entity */ class profile { // ... }
credits pazi pointing out.