龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

Symfony2框架下一个简单Ajax留言板

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
这是一道来应聘题,bundle名我以这家公司名称命名。br / br / 要求是:使用symfony2框架实现一个Ajax留言板,所有资源文件放在一个bundle内,配置以yml文件形式。br / br / 搞了一个晚上,总算
这是一道来应聘题,bundle名我以这家公司名称命名。

要求是:使用symfony2框架实现一个Ajax留言板,所有资源文件放在一个bundle内,配置以yml文件形式。
       
搞了一个晚上,总算是学以致用,实践下了symfony2框架。

希望能对初学 symfony2框架 和 ajax 的童鞋有一定帮助。压缩包有简单的使用说明。




<?php

namespace Dp\DriveplusBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Dp\DriveplusBundle\Entity\Messageboard;

class MessageController extends Controller
{    
    public function indexAction()
    {
        $em = $this->getDoctrine()->getEntityManager();
        $query = $em->createQuery(
             'SELECT m FROM DpDriveplusBundle:Messageboard m ORDER BY m.id DESC'
         );
        $comments = $query->getResult();
        $count = count($comments);
        return $this->render('DpDriveplusBundle:Message:index.html.twig', array('comments'=>$comments, 'count'=>$count));
    }
    
    public function ajaxAction()
    {      
        $request = $this->getRequest();
        $ret = '';
             
        if ('POST' === $request->getMethod()) {       
            $name = $request->get('name');
            $message = $request->get('message');          
            $ret = '姓名:'.$name.'<br/> 留言内容:'.$message.'<hr/>';
            
            $comment = new Messageboard();
            $comment->setName($name);
            $comment->setMessage($message);
            $em = $this->getDoctrine()->getEntityManager();
            $em->persist($comment);       
            $em->flush();
            
            return new Response($ret);
        }
    }
}
精彩图集

赞助商链接