问题标签 [laravel-facade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4488 浏览

laravel - Laravel 5: Auth::user() 每次使用时都会查询数据库吗?

在用户的编辑个人资料页面上,我想显示当前登录用户详细信息的现有值,例如姓名、电子邮件、性别等。我的问题如下

  1. 是否推荐用户 Auth::user()->name , Auth::user()->email 直接填充表单字段?或者我应该$user = Auth::user();在我的控制器中创建一个变量,然后像普通对象一样将它传递给我的视图到 $user?

  2. 每次我使用给定视图文件时,是否多次使用 Auth::user() 访问我的数据库?

    提前致谢。

0 投票
2 回答
3906 浏览

php - laravel 5:扩展外观

我需要根据客户处理不同类型的数据库。

我创建了一个名为MyDBFacade的 Facade ,我可以在其中调用自己的函数。

例如:

是否有可能以某种方式扩展 Facade DB::框架,我可以添加自己的函数然后调用DB::createUser("MyUser")

任何线索或想法将不胜感激。

在此先感谢,祝您有美好的一天。

0 投票
2 回答
1339 浏览

php - PHPUnit Laravel 哈希不可用

我在 Laravel 中有一个单元测试,用于测试如下所示的 API 调用,但是在运行它时出现以下运行时错误:

我在 setup 方法中创建了一个用户,目的是在 tearDown() 方法中再次删除它,然后运行我的身份验证测试。

首先,有没有更好的方法来做我想做的事?例如在不接触数据库的情况下模拟用户?其次,如何设置“立面根”或该错误究竟意味着什么?为了创建虚拟用户,我已经尝试不打扰该特定字段的哈希值,但是错误似乎转移到模型中,其中(再次)使用了 Hash 外观类。

是否有任何额外的步骤来设置环境,以便可以在测试中使用这些外观?

提前致谢。

0 投票
1 回答
452 浏览

php - 是否需要存储库或服务提供商?

我正在构建一个 Laravel 5.3 应用程序,它从许多潜在来源中提取数据。这是一个具有 3 个来源的后备系统:

  • 数据库
  • 如果没有找到,来源 1
  • 如果没有找到,来源 2

所有 3 个源都非常简单,可以使用以下 2 种方法以相同的方式访问:

  • function get($id)
  • function query($type, $string)

我知道围绕实现这一点的不同方法有各种术语,但在阅读文档后我不确定最干净的方法是什么。每个数据源都应该实现为Repository? 一个ServiceProvider包裹在一个容器里?我发现文档很详尽,但也缺乏整体/高级别的解释,所以任何指针都值得赞赏。

0 投票
1 回答
68 浏览

php - 在 Laravel 5.3 中创建外观时出错

我尝试在 laravel 中创建外观。

我的门面:

我的基类:

在通话中:

我得到错误:

这有什么问题?

有什么建议么 ?

0 投票
2 回答
312 浏览

php - Laravel 5.3 - Auth Scaffolding 如何插入错误

我对 Laravel 比较陌生,并试图理解一些东西。我创建了一个基本项目并使用了`

` php 工匠制作:身份验证

` 生成身份验证脚手架。

在生成的视图中,$errors 变量可用。我知道这可以通过使用 withErrors() 方法插入到视图中。

但是,我似乎无法在示例中找到它是如何插入的。在后台,以下功能似乎正在处理注册:

所以调用了默认 RegisterController 的验证器方法,它返回了一个验证器。但我无法理解验证器的错误是如何插入到 auth.register 视图中的。

0 投票
2 回答
1052 浏览

testing - 没有 Laravel 的模拟 Illuminate Config 外观

我正在开发一个依赖于Config外观的包。代码本身运行良好,但我在测试时遇到问题。

最初,我使用的是以下代码:

和其他许多一样,我遇到了一些问题。

后来我读到不鼓励Config嘲笑外观。

为了解决这个问题,大多数人倾向于建议使用以下方法:

如果您从 Laravel/Lumen 进行测试,我认为效果很好。

但我的问题是,我不是。我只依赖几个Illuminate包,所以这不起作用,因为我得到: RuntimeException: A facade root has not been set.

在这一点上,有些人可能会建议我应该只注入Config存储库依赖项,但我在模型使用Config的特征中使用外观Eloquent,所以 DI 不起作用。

有没有其他方法可以解决这个问题?

谢谢!

PS:这个问题也已经发布在Laracasts上

0 投票
3 回答
21220 浏览

php - Laravel 中使用的 Facades 是什么?

我对 Laravel 提供的 Facades 感到困惑。

Laravel文档指出:

外观为应用程序服务容器中可用的类提供“静态”接口。Laravel 附带了许多外观,它们提供了对 Laravel 几乎所有功能的访问。Laravel 外观充当服务容器中底层类的“静态代理”,提供简洁、富有表现力的语法的好处,同时保持比传统静态方法更多的可测试性和灵活性。

请帮助我理解:

  1. 为什么我们真正使用use Illuminate\Support\Facades
  2. 如何创建自定义外观?
0 投票
1 回答
796 浏览

php - laravel 5.2中的外观错误

我在 Laravel 5.2 中安装了一个名为jonnywilliamson/laragram的包

并输入config\app.php一个别名和服务提供商,如下所示:

在我的控制器中:

和路线:

我还运行以下命令:

但仍然显示如下错误:

我该如何解决?

0 投票
2 回答
1941 浏览

php - 如何扩展 Laravel Storage 门面?

在不知道 Laravel 外观如何工作的情况下,基于我的 PHP 知识,我尝试扩展 Storage 外观以添加一些新功能。

我有这个代码:

启动服务提供商时:

门面是:

使用时:

我收到此错误:

Facade.php 第 237 行中的 FatalThrowableError:调用未定义的方法 Namespace\MyStorage\MyStorage::disk()

尝试扩展MyStorage表单Illuminate\Filesystem\Filesystem并以其他方式得到相同的错误:

Macroable.php 第 74 行中的 BadMethodCallException:方法磁盘不存在。