在流明中包括 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 包的主要内容,如果未能解决你的问题,请参考以下文章
使用 PhpUnit 测试在 Laravel 5 包中包含 @include 或 @extend 指令的刀片视图
如何ENV(“APP_DEBUG”,1),并登录::调试将影响流明/ Laravel的表现?