问题标签 [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.
php - 为什么 Laravel 的 Response Facade 不是 Facade?
如果您查看 Laravel 的配置,您会看到已为符号设置了别名Response
实际类上的命名空间,以及 Laravel 使用别名来全局访问 laravel 外观对象的一般模式使得这看起来像是Response
一个外观。但是,如果您查看Illuminate\Support\Facades\Response
该类 的实际定义
我们可以再次看到,该类存在于Illuminate\Support\Facades
命名空间中,但它没有扩展Illuminate\Support\Facades\Facade
该类,也没有实现 getFacadeAccessor
方法,这意味着,令人困惑的是,它并不是真正的外观。
有人知道为什么吗?即是否有一个令人信服的框架原因,为什么 Facade 命名空间中的这个类没有被实现为一个实际的 Laravel 外观?
laravel - 门面类中的 Laravel 常量
我有一个名为的类Awesome
,并已使用ServiceProvider
和 将Facade
其注册到应用程序。现在我可以将它用作Awesome::Things()
.
我想向这个类添加常量,所以我尝试了
但是当我打电话时Awesome::$MOVIE
,我得到Access to undeclared static property: Helper\\Aesome\\Facades\\AwesomeFacade::$MOVIE
有人可以帮忙吗?
php - Laravel:外观和别名之间的区别
再会!
我读得越多,我就越困惑。Facade 和 Aliases 有什么区别?
我有这个类:
/app/libraries/Project/Data.php
和相应的门面,所以我可以只使用PJD::来访问。
根据周围的一些网页:
... Laravel Facades 是代理。它们在代码的底层真实实现上环绕并调用函数。此外,在 Laravel 应用程序的上下文中,这些 Facade 是通过将它们分配给别名来访问的。依赖注入容器的这种使用允许您通过简单地调用 File 来引用 Illuminate\Support\Facades\Filesystem 之类的东西。(http://ryantablada.com/post/proxies-service-locators-alias-facades-and-war)
但是,我还发现并成功测试了添加如下内容:
__app/config/app.php__
我也可以以同样的方式访问我的班级。
那么,有什么区别呢?
谢谢
编辑#01
我在/app/libraries/Project/Data.php中创建了一个名为 Data 的类
我有这个类数据的外观类/app/libraries/Project/DataFacade.php
我有他们的服务提供商:/app/libraries/Project/DataServiceProvider.php
我还添加到/app/config/app.php:
在composer.json我添加了一个 psr-4 行来将 PJ 命名空间定向到 /app/libraries/Project
通过这样做,我可以从项目中的任何地方访问我的课程,只需通过 PJD:: 而不是 PJ\Data::。
但是,我也注意到,只需添加到/app/config/app.php
没有所有的门面和服务提供者,我得到完全相同的结果。那么,一个或另一个的意义何在?
谢谢,很抱歉这篇大文章。
php - Laravel Illuminate\Support\Facades\Input
我是 Laravel 的新手,并查看了一些示例代码。
在控制器中,我看到了这个:
为什么我必须使用“ use Illuminate\Support\Facades\Input; ”?
我不能只使用例如 Input::get(); 就像我在路线文件中所做的那样?
php - Laravel:依赖注入与门面?
我之前一直在做的是只使用构造函数注入我的模型,并为 Laravel 提供的类使用外观,Session
例如,等等Auth
。如果我通过构造注入每个类(无论是我的还是 Laravel 的)并通过语法使用它,或者我应该使用构造函数注入我自己的类并将 Facades 用于 Laravel 提供的任何东西,Validator
这会是一个好主意吗?$this->..
更具体地说,这是我的控制器通常的样子:
我应该像下面这样构造我的方法吗?
php - 在 Laravel Facades 中使用静态变量
我有一个门面(在这种情况下是一个单例),我使用以下方法注册它ServiceProvider
:
服务提供者
正面
现在,我想在我的Facility
类中有静态变量:
设施.php
但是当我使用时Facility::$MODEL_NOT_FOUND
,我得到了Access to undeclared static property
。
我究竟做错了什么?
php - 关系中的 Laravel 命名空间让我感到困惑
在我的应用程序中,我有 Event 和 User 模型。由于 Event 模型,我必须将其放入命名空间。所以我创建了如下命名空间。
事件
用户
User 和 Event 之间的关系是简单的 OneToMany。所以在我的EventController中,我使用 POST 方法来创建新的事件资源。
同时我得到一个错误。
如果我没记错的话,我猜这是命名空间错误。但我猜命名空间已经正确声明了。但我尝试访问类似的问题并在关系中使用替代方式,然后效果很好。我个人觉得不满意。知道为什么会发生这种情况吗?
将上述关系更改为
php - Laravel 4.2 Illuminate Facade 没有得到解决
我通过以下链接创建了一个工匠命令来清除应用程序缓存
http://code.tutsplus.com/tutorials/your-one-stop-guide-to-laravel-commands--net-30349
我试图在我的仪表板控制器中调用它,如下所示
我对上面的代码有异常(上面代码中的方法一):
调用未定义的方法 Illuminate\Support\Facades\Artisan::call() 这意味着门面没有解析给服务提供者。
对于方法二,我得到了以下异常
“命令”命名空间中没有定义任何命令。
我尝试使用 xdebug 对 2 个不同的门面进行调试(其中一个(应用程序门面)在 Artisan 没有正确解析的地方得到解决)。
我对门面及其工作原理知之甚少,但它们来自 laravel 框架,所以帮助较少。
编辑 config/app.php 中的前两行提供程序数组
config/app.php 中的前三行别名
laravel - Dependency Injection in Laravel 5 Package To Use or Not To Use
I am developing a package for Laravel 5, I decided to benefit from dependency injection in my package when using the Core classes of Laravel, but after reading more and also having asked this question Best approach for Dependency Injection in Laravel 5 package
Now I came up with the idea that if we are using Facades
so much and calling static methods like FaceadeName:nameOfMethod
the Container actually creates an object for us and calls its method, so to some extend using dependency injection for laravel for classes which are also available through the Facades are is almost useless.
For example having this class:
doing this:
and then in the function:
is almost useless because we bind something to container that is already bound there
It is not a great idea to change the myFunction
to
as well, it might look like method injection but it doesn't bring so much advantages. Therefore it would be better not to use dependency injection
for Facades
in Laravel.
Please let me know if I am right or not and please argue my opinion with the right answer if I am wrong.
php - 在 Laravel 框架中搜索 Schema:table 静态方法定义
我正在尝试了解 PHP Laravel 框架。在处理数据库时,我们使用 Schema::table 在数据库中创建表。在我的应用程序中搜索我发现唯一的定义是
但是在类中或类中都没有table
静态方法。Schema
Facade
我缺少什么?