我正在通过Symfony2的第4部分,并在更新控制器和帮助程序类代码时,我收到以下错误消息
Undefined method 'getLatestBlogs'. The method name must start with either
findBy or findOneBy!
Run Code Online (Sandbox Code Playgroud)
在我将一些代码放入控制器之前,我按照教程的教导转移到了我的助手类,这导致了上述错误消息.
<?php
// src/Blogger/BlogBundle/Repository/BlogRepository.php
namespace Blogger\BlogBundle\Repository;
use Doctrine\ORM\EntityRepository;
/**
* BlogRepository
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class BlogRepository extends EntityRepository
{
public function getLatestBlogs($limit = null)
{
$qb = $this->createQueryBuilder('b')
->select('b')
->addOrderBy('b.created', 'DESC');
if (false === is_null($limit))
$qb->setMaxResults($limit);
return $qb->getQuery()
->getResult();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器文件索引操作代码: -
// src/Blogger/BlogBundle/Controller/PageController.php
class PageController extends Controller …Run Code Online (Sandbox Code Playgroud) 会打电话
$ httpd graceful
Run Code Online (Sandbox Code Playgroud)
清除APC缓存,或者我必须做一个全面的
$ httpd restart
Run Code Online (Sandbox Code Playgroud)
去做吧?(请记住,我知道有更好的方法可以做到这一点,比如以编程方式调用apc_clear_cache()).
当我们部署我们的应用程序时,我们只需创建一个新文件夹并指向它的符号链接,因此apache将始终找到最新版本的方式.
但是,当我们部署并继续测试而没有首先重新启动Apache服务器时,我们会遇到奇怪的错误.我们也有APC运行,并且感觉缓存与此有关.
在APC处于活动状态时部署新版本的php应用程序时,是否需要重新启动apache是否正常?或者有更好的方法,例如使用shell脚本清除APC缓存?