【发布时间】:2012-10-21 21:23:30
【问题描述】:
我正在尝试在我的家庭控制器中使用Faker 库,但我不知道如何包含它。图书馆的文档使用这个:
require_once '/path/to/Faker/src/autoload.php';
$faker = Faker\Factory::create();
但是Laravel有不同的方式loading classes,但是我没有找到这样的库的例子。
那我该怎么做呢?
【问题讨论】:
我正在尝试在我的家庭控制器中使用Faker 库,但我不知道如何包含它。图书馆的文档使用这个:
require_once '/path/to/Faker/src/autoload.php';
$faker = Faker\Factory::create();
但是Laravel有不同的方式loading classes,但是我没有找到这样的库的例子。
那我该怎么做呢?
【问题讨论】:
我猜你是用 composer 添加的? 我使用了一个带有 composer (Imagine) 安装程序的库,我想使用 composer 加载脚本,所以我在 start.php 中执行了此操作:
// Composer package
require_once $GLOBALS['laravel_paths']['base'] . 'vendor' . DS . 'autoload.php';
【讨论】:
你应该看看Registering a namespace,它应该能满足你的需要。 Faker 遵循 PSR0 命名空间标准,因此您需要告诉 laravel 如何找到这些文件。在您的 application/start.php 文件中放置这些指令:
Autoloader::namespaces(array(
'Faker' => path('libraries').'path/to/Faker/src/Faker',
));
希望有帮助!
编辑:
此外,我意识到如果将 src/Faker 文件夹作为 application/libraries/Faker 移动到 application/libraries,它应该会自动加载。
【讨论】:
application/routes.php 显示使用情况。