问题标签 [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 回答
370 浏览

php - Laravel 门面是依赖项吗?

我读过一个类不应该有太多的依赖关系。在一本书中,它指出 4 个依赖项可能表明类可能做得太多。

假设我编写了一个使用 10 个依赖项的类:6 个类和 4 个外观。我应该只关心这 6 个类并将它们拆分,还是也应该关心 4 个外观?

如果有人想知道我是如何得到这么多外墙的:

这些都是经常需要的。我听说过一个问题 - 为什么我需要应用程序?调用函数:

有人说门面不是依赖项,也在这里:

多态性和依赖注入——太多的依赖

关于这个问题有很多不同的观点(类什么时候依赖某些东西),但是类依赖通常被视为传递给构造函数的内容,即类被实例化为对象所需的内容。

我想我可以自己从一个类创建一个外观,我会以这种方式减少依赖关系。但这有意义吗?

例如这篇文章指出——我们不应该使用门面:

http://taylorotwell.com/response-dont-use-facades/

从它我明白门面不会那么糟糕,但不好的是班级开始做太多事情。

我说的是 Laravel 4,但可能同样适用于 Laravel 5 或其他使用相同的框架。我刚刚听说 Laravel 5 使用的门面没有 Laravel 4 那么多。

更新:

我也想得到这样的论据,以便在讨论这个话题时可以与其他人一起使用。就像我说的那样-互联网上的某个人(即使具有良好的stackoverflow配置文件)对我说外观很糟糕,它们就像全局变量,它们会立即告诉您-这与全局不同,它们是可模拟的,您不应该关心。他们也可能会说,这是那些家伙的意见。所以我想要一个强项来保护自己。所以我可以把它解释为 2*2 = 4 并且没有人会不同意。或者至少接近那个。

更新:

如果这些是依赖项,并且我希望一个类最多有 4 个依赖项,我只有一个想法——创建分组类,就像类树一样。但我最终得到了许多用于小功能的类。就像这 10 个依赖项一样,如果我想拥有最多 4 个依赖项,我想我需要 3-5 个类而不是 1 个。所以如果我有大项目,你将拥有数百万个小类。那它看起来不会更复杂吗?就像我看到的 Laravel 有很多类,而 CodeIgniter 的类少得多,并且看起来更易于阅读/遵循、扩展。

0 投票
2 回答
763 浏览

php - Laravel 5 图像类冲突

我有一个图像模型,但是在我开始使用干预图像来调整图像大小之后,我遇到了类冲突问题,因为它们都有类名 Image。

我试图更改 app.php 中的别名,以便干预外观名称是 imageIntervention 而不是 image:

但是如何在我的 imageController 中使用这个外观?

谢谢 - 安德烈亚斯

0 投票
1 回答
4383 浏览

php - 未找到 Laravel 5 类“Illuminate\Support\Facades\FormFacade”

好吧,这让我发疯了。我正在尝试在 Laravel 5 中包含 FormFacade 的表单功能,但我不断收到此错误:

我会写下我所做的:

  • laravel 5 安装后,我在 laravel 中添加了FormFacade
  • 使用以下行更新了 app.php 文件:

    /li>
  • 然后,我检查了我的 composer.json 文件:

    /li>
  • 作曲家更新了吗

  • 检查我是否真的下载了文件

所有这一切都完成了,但我仍然找不到问题所在。我寻求帮助,但似乎没有任何效果。

搜索努力:

仍然没有运气。我错过了什么吗?

PS:我在Windows上运行。

0 投票
1 回答
11681 浏览

php - Laravel 输入外观与请求外观

基于Input Facade APIRequest Facade API,Input::get() 方法似乎是唯一的区别。我在这里错过了什么吗?

我知道验证可以应用于请求,但我不确定输入门面是否也是如此。

0 投票
1 回答
1417 浏览

php - 如何为独立的 Illuminate IoC 容器创建 Illuminate/Support/Facade/App 外观

在我的独立(没有 Laravel)项目中,我想使用 Illuminate IoC 容器。我也想通过组件App提供的外观访问应用程序容器。illuminate/support我安装了两个组件(v5.0.28)。这是我的(简化的)代码:

不幸的是,尝试绑定某些东西会导致:

这是该行的代码

、和的$instance实例在哪里。问题是它不是一个实例,并且类不支持在其静态属性上调用任意函数。Illuminate\Support\Facades\App$method == 'bind'$args[0] == 'w'$args[1] == 'Widget'$instanceIlluminate\Container\ContainerIlluminate\Support\Facades\App$app

为了使它工作,我添加了以下功能Illuminate\Support\Facades\App

但是编辑外部组件肯定不是正确的做法!!!肯定有人遇到过这种情况!

所以问题是:这样做的正确方法是什么?

0 投票
1 回答
293 浏览

php - 有没有办法让 netbeans 导航到 Laravel 5 Facade 类?

我正在使用 Netbeans 处理 Laravel 5 应用程序,Laravel 5 鼓励您为某些类定义别名(称为 Facades)。然后,您可以在您的类中扩展这些别名。

但是,Netbeans IDE 不允许您在这些类上单击(ctrl+单击类名),因为它只知道它们的原始名称。有没有办法使这项工作?

例子:

应用程序.php

程序.php

在此示例中,netbeans 无法从 Procedure.php 导航到 \Eloquent 类。

0 投票
3 回答
1159 浏览

php - Laravel - 无法使 PHP-Vars-To-Js-Transformer 包工作

我是 Laravel 5 的新手,我正在尝试设置PHP-Vars-To-Js-Transformer 。问题是,我无法在控制器中使用JavaScript外观。找不到这个类。

我的控制器:

我的 // app/config/app.php

我还运行了命令php artisan vendor:publishcomposer install. 我不知道,如果我错过了一些特别的东西.. 谢谢

0 投票
1 回答
569 浏览

laravel-5 - Laravel5,我喜欢将 Event::listen() 放在一个单独的文件中,但是 Event 门面是未知的

我想Event::listen()在一个单独的文件中有一组 s,这就是我到目前为止所做的。

引导/自动加载.php

引导程序/listeners.php

错误是找不到类事件

我的要求的正确方法是什么?我不确定创建一个新的 .php 文件并从bootstrap/autoload.php中要求它是否适合此要求。

请帮忙。谢谢

0 投票
0 回答
95 浏览

php - Laravel5 外观未解决

我已经在 中注册了一个服务提供者config/app.php,它正在被加载和执行。

在服务提供者的 register() 方法中:

接下来,我创建了这样的外观

接下来,我添加了外观实现

最后,我添加了别名config/app.php

当我做

我得到以下

怎么了?

编辑

Foo\Facades\Timer正在正确加载。

此外,Foo\Utils\Timer正在解决,因为我能够做到

没有任何错误。

0 投票
2 回答
3045 浏览

php - laravel-ide-helper 的问题

我正在浏览 Laravel 5 Fundamentals Laracasts 视频集,但在我的 IDE(Phpstorm 8)中使用 Facades 时遇到了一些困难。我有一个使用 Eloquent 外观的模型use Illuminate\Database\Eloquent\Model;

我需要 laravel-ide-helper composer require barryvdh/laravel-ide-helper,将服务提供者添加到 providers 数组'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',中,重新生成文档并重新启动我的 IDE,但没有成功。

我的控制器中有一个模型声明,$article = Article::findOrFail($id);但该findOrFail方法被突出显示并标记为在类 App\Article 中找不到方法“findOrFail”。

我是 Laravel 和 Facades 概念的新手,但我迷路了,无法为我的问题找到现有的答案。