Laravel 4找不到类DB
问题描述:
问题:我试图引导对于某些文件(在app/workers
PHP-resque工人)L4框架使用,但工人不似乎能够找到一个类DB
行使用DB::table('tablename')...
。 composer dumpautoload
没有帮助。Laravel 4找不到类DB
我使用的引导程序没有加载DB
类吗?它似乎已经加载了工人班。
失败L4自举
<?php
// Bootstrap the laravel environment for our resque workers.
require __DIR__.'/bootstrap/autoload.php';
错误
PHP Fatal error: Class 'DB' not found in /var/www/dev/app/libraries/test.php on line 50
composer.json
{
"require": {
"laravel/framework": "4.0.*",
"chrisboulton/php-resque": "@stable"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/libraries",
"app/workers"
]
},
"scripts": {
"post-update-cmd": "php artisan optimize"
},
"minimum-stability": "dev"
}
答
你可以TR y以:
1)根据作曲家自动加载的文件,位于vendor/autoload.php
(你实际上是调用laravel之一)
2)复制在public/index.php
文件中的电话等test.php
文件,具体如下:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
$app->run();
$app->shutdown();
编辑:经过进一步检查,你可以尝试用裸铅丹做到这一点:
<?php
require '../vendor/autoload.php';
use Illuminate\Support\Facades\DB as DB;
// Test the DB Instance
$dbInstance = new DB;
var_dump ($dbInstance);
将输出
object(Illuminate\Support\Facades\DB)[2]
你能解释这样做'$ APP->的run()''然后$应用关机()' – Nyxynyx 2013-03-25 17:43:18
基本上由'require_once'指令返回的'$ app'对象的目的,返回'Illuminate \ Foundation \ Application'的一个实例。 – 2013-03-25 18:29:39
抱歉,评论得到了被截断的,我写: ..... omissis .... 如果你看一下这个类(/供应商/ laravel /框架/ src目录/照亮/基金/应用程序里面。 php),你会看到'run'方法(〜行446)负责将请求发送到路由器阵列。 经过进一步检查,最终你可以简单地 'require_once“ /vendor/autoload.php”; //加载作曲家autoload' 'require_once ' /bootstrap/start.php';'' //测试DB Instance' '$ dbinstance具备=新DB;'' 的var_dump($ dbinstance具备);' 到在没有引导整个框架的情况下加载它。 –
2013-03-25 18:44:10