【问题标题】:How to call Doctrine CacheProvider function in Laravel 4 Controller如何在 Laravel 4 Controller 中调用 Doctrine CacheProvider 函数
【发布时间】:2013-09-26 14:37:25
【问题描述】:
我在
中看到了一些有用的功能,如下所示
vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php 的 laravel 4 安装。
public function flushAll()
{
return $this->doFlush();
}
如何从我的控制器调用这个函数。
【问题讨论】:
标签:
symfony
namespaces
doctrine
laravel
laravel-4
【解决方案1】:
这个问题在 Laravel 论坛和这里也被问过,但没有回应!
幸运的是,我已经为我的问题得出了解决方案。
Composer 供应商有一个class autoload map 文件,其中包含一个包含所有类名及其命名空间的数组。
此文件将在 composer install 或 composer update 的所有实例中更新,这些实例将由 composer dump-autoload 命令预先设置。
如果我在某处上课,我必须执行php artisan dump-autoload 命令才能正确地自动加载它们。
所以在vendor/composer/autoload_classmap.php 中,我们引用了所有供应商类,包括Symfony 和Doctrine。
Doctrine Cache Provider 的条目将是,
'Doctrine\\Common\\Cache\\CacheProvider' => $vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php'
在这里我可以看到它是哪个文件,以及命名空间是什么。
现在我们可以使用命名空间来调用函数了,
use Doctrine\Common\Cache\CacheProvider as DoctrineCache;
DoctrineCache::flushAll();
我们也可以用app.php将它添加到providers数组中