问题标签 [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 投票
1 回答
2685 浏览

laravel - 在将 Laravel html 响应发送到浏览器之前对其进行操作

在将最终输出发送到浏览器之前操作最终输出的正确方法是什么?(laravel 5.*)

我创建了门面

在我使用的控制器动作中

但我收到损坏的输出(http 响应标头添加到/附加到 html)

很可能与 \Response 相关的 __toString 方法行为异常

有任何想法吗?(谢谢!)

0 投票
1 回答
4277 浏览

php - Laravel - Facades 与辅助方法的性能

我想知道在 laravel 5.1 中使用 Facades 和辅助方法之间是否存在性能差异。

例如,我开始删除use View;View::make()尽可能删除,认为这view()会更简单,可能更快。但我不知道。

Redirect::to()--> redirect()Redirect::back()-->back()等相同..

有区别还是没关系?

0 投票
0 回答
792 浏览

php - 动态 Laravel 风格外观

我正在使用 Laravel 的 Facade 架构(AliasLoader 类和 Facade 类)为我的应用程序创建外观。最初一切都很好,我将别名添加到加载器并注册它们,创建一个外观类和繁荣,到处都是外观。

但现在我正在尝试清理我的模型调用。

目前我正在像这样加载模型,这会在容器上Theme::model('sale/order')创建一个对象。model_sale_order我还想动态添加一个外观,以便我可以更优雅地调用模型SaleOrder::getOrders($customer_id)

添加别名没什么大不了的,但是指向哪里呢?也没有外观文件可以指出这一点。

是否可以设置一个可以动态检测我们正在从容器中查找的对象的类?

0 投票
1 回答
3679 浏览

php - 尝试在 Laravel 中的 Application::create() 上使用自定义外观导致“调用未定义的方法”?

我正在尝试为搜索功能创建自己的自定义外观,但我遇到了一点困难:

此错误是由我的代码命中引起的:

我的Search立面设置如下:

搜索服务提供者

搜索门面

搜索类

composer dump-autoload没有成功运行,我的门面和服务提供者加载app.php如下:

别名数组

提供者数组

在过去的 30 分钟里,我一直在调试和搜索这个错误,但没有任何修复。这里发生了什么?

编辑:我在堆栈跟踪中添加了,您可以在下面看到。此外,我可以看到它getFacadeAccessor()被正确调用,但除此之外的任何内容都超出了我的理解范围。

在此处输入图像描述

突出显示的框架代表最后一次正常操作,两个框架都Handler.php代表问题顶部错误的格式和输出。

0 投票
2 回答
2112 浏览

php - Laravel - 覆盖默认外观绑定 - 如何?

http://laravel.com/docs/5.1/facades

立面在底部的链接页面上列出。我的问题是......如何覆盖这些服务容器绑定?

例如,Request外观与Illuminate\Http\Requestkey绑定request。我想创建自己的类,它继承自Illuminate\Http\Request并将其与request键绑定,而不是当前类。而且我找不到哪个服务提供商绑定了这个。

0 投票
0 回答
56 浏览

laravel - 重命名外观 - 冲突

我正在尝试将vinkla/pusher包与 Laravel 5.1 一起使用。

由于冲突,立面不起作用是一个常见的已知问题:https ://github.com/vinkla/pusher/issues/2

一个解决方案是重命名外观。我该怎么做呢?我知道这不会像重命名文件那么简单..

谢谢!

0 投票
0 回答
391 浏览

php - Laravel 5.1:对扩展 TestCase 的 PHPUnit 测试类中命名空间和外观的工作方式感到困惑

我正在创建基本测试类,其他测试类可以从中扩展并使用 PHPUnit 运行。这个基础测试类扩展了 Laravel 提供的TestCase类。另外,我正在使用PHP Faker 库来创建一个 faker 生成器,并且,我正在调用 Laravel 的 Artisan 外观以在该setUp方法中运行数据库迁移。. 这是它最初的样子:

当我第一次运行 PHPUnit 时,它成功了,但也给出了这个警告:

PHP Warning: The use statement with non-compound name 'Artisan' has no effect in /Users/myusername/Sites/app/tests/BaseTester.php on line 3

好的,然后我想知道为什么它会给我那个。所以我尝试删除:

use Artisan;

BaseTester.php课堂上,它工作了,所有测试都通过了,输出中也没有警告。

现在,我想知道为什么我必须删除该use声明。然后我记得在我的config/app.php文件中,有一个可用于Artisan外观的别名。

所以它必须自动加载。config/app.php这意味着,如果文件中还有 Faker 外观的别名

那么它也必须被加载,所以我不必包括:

use Faker\Factory as Faker;

在我的BaseTester.php文件中,我可以调用其中的Faker::create方法。

所以我也删除了该use语句并运行 PHPUnit,但随后出现此错误:

PHP Fatal error: Class 'Faker' not found in /Users/myusername/Sites/app/tests/BaseTester.php on line 12

所以现在我真的很困惑,因为别名部分下Artisan的文件中包含的调用有效,但同一别名部分下的同一文件中也包含config/app.php的调用无效。Faker

最后,我的代码如下所示,

它可以在没有警告的情况下工作,但我不明白别名、命名空间和外观方面发生了什么,我觉得直到我掌握了这一点,我才真正理解 Laravel 是如何做到的。

我最终只是试图use在其他代码文件中找到正确的语句与 Laravel 外观组合,直到没有错误为止。

0 投票
1 回答
5156 浏览

php - Laravel Log useFiles 方法正在使日志写入多个文件

我在我的应用程序中使用Laravel Log Facade。而且我有几个服务,如 Mandrill、Twilio、Stripe 等,需要在单独的文件中登录。但是当我使用 Log::useFiles() 为服务包装类之一设置单独的文件时,如下所示:

我最终将日志写入 Laravel 日志文件和这个 Mandrill 日志文件。

有没有办法告诉 Log 只在一个文件中写入日志?

这样做通常很奇怪,因为当我直接使用Monolog时,它应该只写入一个文件。据我所知,Log Facade 正在使用 Monolog。

0 投票
1 回答
1704 浏览

php - PHPStorm complains about static call of instance method handled by __CallStatic facade

I have classes with static methods that I need to change to instance methods for unit testing. However I can not change the code that calls them statically. So I'm trying to implement a facade (similar to what Laravel does) so that I can call the functions both statically and dynamically. My code itself is working, but PHPStorm is complaining about the static calls. Here is my facade class with a test child class and phpunit test:

I have tried using phpdoc @method on Foo and @static on the TestMethod1 method, but neither seems to work. How can I get PHPStorm to stop complaining about the static calls? Is there a way to handle this other than turning off the inspection?

0 投票
3 回答
3255 浏览

laravel-5 - Laravel 外观和服务提供者

这是我第一次使用 Laravel 的 Facades 和 Service Providers(我在 Laravel 5 上)。

我有这个ServiceProvider

我的权限类如下所示:

我将此添加到我aliases的 in 中app.php

我将此添加到我providers的 app.php 中:

我创建了这个Facade类:

据我了解,我注册了一个别名,该别名指向一个 Facade 类,该类引用指向一个类的绑定。

我在 app.php 中注册的 ServiceProvider 中注册了绑定。

现在在我的路由文件中,我正在使用以下代码进行测试:

但是我收到此错误: