TOP

symfony框架學習
2017-10-10 12:05:06 】 瀏覽:8884
Tags:


symfony2是基于php的web框架

Symfony2框架實戰教程

 
window下安裝
在環境變量里面配置php,然后用php在cmd里面執行
php -r "file_put_contents('symfony', file_get_contents('https://symfony.com/installer'));"
上句執行好了,在執行這句,是創建一個新的symfony工程:php symfony new my_project_name
 
form表單的寫法
2點級版本的寫法
 $form=$this->createFormBuilder($task)
            ->add('task','text')
            ->add('dueDate','date')
            ->add('save','submit',array('label'=>'Create Task'))
            ->getForm();
3.0以上的寫法
$form = $this->createFormBuilder($task)
->add('task', TextType::class)
->add('dueDate', DateType::class)
->add('save', SubmitType::class, array('label' => 'Create Task'))
->getForm();
需要引入
 
  
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
 
  
return $this->redirectToRoute('login_index');重定向
注冊用的是orm映射
//這個方法是創建出一個注冊的form表單
public function indexAction(Request $request)
{
$user = new User();

$form = $this->createFormBuilder($user)
->setAction($this->generateUrl('/imgs/5d1eebd47d162bee40ac03d79d040a68'))
->setMethod('post')
->add('username', TextType::class)
->add('password', PasswordType::class)
->add('email', TextType::class)
->add('phone', TextType::class)
->add('gender', TextType::class)
->add('save', SubmitType::class, array('label' => 'Register'))
->getForm();

return $this->render('register/index.html.twig', array(
'form' => $form->createView()
));
}
 
  
//V層twig展現出來
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
 
  
//這個方法是得到form表單是數據,得到的form是一個對象优乐棋牌app下载优乐棋牌app下载,要轉化成數組,然后插入到數據庫
public function registerAction(Request $request)
{

$user = new User();

$user->setLoginIp($request->getClientIP());//得到本機的IP地址
$user->setLoginTimes(new \DateTime('now'));//得到當前時間
$form = $this->createFormBuilder($user)
->add('username', TextType::class)
->add('password', PasswordType::class)
->add('email', TextType::class)
->add('phone', TextType::class)
->add('gender', TextType::class)
->getForm();

$form->handleRequest($request);

$data = $form->getData();
json_encode($data);

$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();

return $this->redirectToRoute('login_index');
}
 在控制器里跳同控制器的方法 還帶傳參
 
  
 
 
  
 
  
 
  
 
  
 

請關注公眾號獲取更多資料



】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇[示例] 訪問類的私有屬性 下一篇php不使用copy()函數復制文件的方..