在流明中包括 laravel 5 包

Posted

技术标签:

【中文标题】在流明中包括 laravel 5 包【英文标题】:Including laravel 5 packages in lumen 【发布时间】:2015-08-21 23:10:52 【问题描述】:

我目前正在尝试将照明/文件系统包含到流明中

到目前为止,我已经成功安装了运行以下命令的包:

composer require Illuminate/Filesystem

但是我不知道如何在应用程序中注册静态类,我似乎无法在互联网上找到任何关于如何将 laravel 5 包实现到流明的内容。

我曾尝试将类别名添加到 lumen 的核心,但这对我来说似乎是错误的。

【问题讨论】:

Lumen 中已经包含 Illuminate/Filesystem 包,为什么还需要添加它? (lumen.laravel.com/docs/filesystem) 据我所知,这主要是让我可以访问存储空间,我正在寻找在 公共文件夹 中找到的文件。所以使用 File:: 确切地说是图像文件,位于“public/images/media”中 【参考方案1】:

File门面注册一个类别名并没有错,只是不要在框架源文件中(在vendor目录中)这样做。将它放在bootstrap/app.php 文件中的好地方。只需添加这个,你就可以开始了:

class_alias('Illuminate\Support\Facades\File', 'File');

无需安装其他软件包即可使用,因为 Illuminate/Filesystem 已经带有 Lumen。

【讨论】:

我玩了一下,从外观上看,我需要做的就是在控制器/播种机中包含以下内容,我计划在“使用 Illuminate\Support\Facades\File;”中使用它 是的,这也有效。类别名只是在全局命名空间中拥有外观的额外好处,其他外观的注册方式。 我个人无法让上述内容在控制器内工作,因为它不断出错。这是因为它无法在控制器命名空间中找到文件。 (我认为) 那是因为你在控制器命名空间中,你需要在类名前面加上一个反斜杠才能让它在全局命名空间中:\File::method()(但这适用于所有外观) .您可以在PHP Namespaces Docs 中阅读更多相关信息。

以上是关于在流明中包括 laravel 5 包的主要内容,如果未能解决你的问题,请参考以下文章

Laravel/流明 api 过滤器

使用 PhpUnit 测试在 Laravel 5 包中包含 @include 或 @extend 指令的刀片视图

如何ENV(“APP_DEBUG”,1),并登录::调试将影响流明/ Laravel的表现?

使用外部 Laravel 护照流明 api 进行 Laravel 客户端身份验证

Laravel/流明 |未能分发事件

将 laravel 应用程序转换为流明