laravel 门面的介绍和使用
#上文讲述了laravel中怎么用容器依赖注入类的示例。其实在服务提供者上面在封装一层静态调用,这就是门面。静态调用门面,返回了容器中注册的别名和实例。
#下面是测试的示例
#先创建要操作的类
<?php
/**
* Created by PhpStorm.
* User: xujun
* Date: 2018/3/10
* Time: 15:38
*/ namespace App\Http\Logic; class DirLogic
{
public function createDir(){
echo '创建目录';
}
}
#然后创建服务提供者
php artisan make:provider MDirProvider
#然后在服务提供者中静态绑定到容器
public function register()
{
//
$this->app->singleton(DirLogic::class, function ($app) {
return new DirLogic();
});
}
#然后创建门面在app/下创建目录Facades
<?php
/**
* Created by PhpStorm.
* User: xujun
* Date: 2018/3/10
* Time: 15:40
*/ namespace App\Facades; use App\Http\Logic\DirLogic;
use Illuminate\Support\Facades\Facade;
class DirFacades extends Facade
{
protected static function getFacadeAccessor()
{
return DirLogic::class;//容器中的真实映射名
} }
#然后修改配置文件
在服务提供者中添加
App\Providers\MDirProvider::class,
在aliases数组中添加
'DirFacade'=>App\Facades\DirFacades::class,
#测试的控制器
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DirFacade; class UsersController extends Controller
{
public function index1(Request $requser){
DirFacade::createDir();
}
}
#返回
创建目录
总结:门面其实是在提供一个静态类调用容器中的绑定对象作用。
laravel 门面的介绍和使用的更多相关文章
- laravel门面和服务提供者使用
关于laravel门面和服务提供者使用的一点见解,门面之词,不足之处,还请多多指教. 在laravel中,我们可能需要用到自己添加的类时,可以建立一个文件夹专门存放类文件,也可以使用laravel ...
- laravel门面与服务提供者区别
laravel门面模式与服务提供者区别 以 Laravel 自带的文件系统为例,在 config/app.php 的配置文件的 providers 数组中,注册了一个服务提供者: Illuminate ...
- Laravel 门面实例教程 —— 创建自定义 Facades 类
我们首先创建一个需要绑定到服务容器的Test类: <?php namespace App\Facades; class Test { public function doSomething() ...
- PHP重载以及Laravel门面Facade
目录 重载的概念 魔术方法中的重载 属性重载 方法重载 Laravel中的Facade 扩展 谈谈__invoke Laravel提供了许多易用的Facade,让我们用起来特步顺手,那么这些Facad ...
- laravel blade模板介绍
第一步:首先写好模板 在sites下新建立一个app.blade.php文件 写入模板如: <!DOCTYPT html><html><head> <titl ...
- laravel门面DB返回数组配置
在数据库配置文件中添加 'fetch' => PDO::FETCH_ASSOC, //但是这个配置好像是全局的,不能针对单个数据库连接进行配置 也可以在方法内使用php内置函数get_objec ...
- laravel或者lumen门面和服务提供者使用
关于laravel门面和服务提供者使用的一点见解,门面之词,不足之处,还请多多指教. 在laravel中,我们可能需要用到自己添加的类时,可以建立一个文件夹专门存放类文件,也可以使用lara ...
- laravel的重定向
Route::get("redirect1", function () { // redirct的三种写法 // return redirect()->route(" ...
- Laravel图表扩展包推荐:Charts
2016年11月15日 · 2283次 · 4条 · laravel,package,charts 介绍 在项目开发中,创建图表通常是一件痛苦的事情.因为你必须将数据转换为图表库支持的格式传输 ...
随机推荐
- Redis集群模式部署
以下以Linux(CentOS)系统为例 1.1 下载和编译 $ wget http://download.redis.io/releases/redis-4.0.7.tar.gz $ tar xzf ...
- PCA 降维
http://f.dataguru.cn/spark-751832-1-1.html 我们可以利用PCA算法将向量的维数降低,从而实现特征转化.具体原理在<机器学习>课程中有详细的讲述.故 ...
- nbtscan工具
这是一款用于扫描Windows网络上NetBIOS名字信息的程序.该程序对给出范围内的每一个地址发送NetBIOS状态查询,并且以易读的表格列出接收到的信息,对于每个响应的主机,NBTScan列出它的 ...
- kafka 消费者 timeout 6000
kafka 消费者 timeout 6000 1:查看zookeeper 的状态,kafka默认是自带zookeeper配置,我建议安装单独的zookeeper 服务,并且配置文件也很简单..直接改 ...
- java.net.NoRouteToHostException
1.之前一直默认的一个请求url,后来后台ip更换后,就报上述错误.网上好多方法说:关闭服务器端的防火墙,但试过没用. 问题有待重新测试解决
- Appium1.6,安装WebDriverAgent(WDA)
前提说明:Appium1.6通过WebDriverAgent来操作iOS,所以需要在Appium下安装一份WebDriverAgent,并且将程序安装到iOS真机上 (如果是模拟器不需要这步骤) ...
- javaService
JavaService.exe -install TestService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.pat ...
- UVA-10054.The Necklace(欧拉回路)解题报告
2019-02-09-21:55:23 原题链接 题目描述: 给定一串珠子的颜色对,每颗珠子的两端分别有颜色(用1 - 50 之间的数字表示,对每颗珠子的颜色无特殊要求),若两颗珠子的连接处为同种颜色 ...
- STL-queue和循环队列基本操作的实现
2018-11-13-17:53:44 1.可增长循环队列 队列是一种特殊的线性表,是一种先进先出(FIFO)的数据结构.它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入 ...
- 解决node-pre-gyp install --fallback-to-build 卡住不动
一般是因为需要下载国外的包,要么连VPN,要么使用淘宝的镜像: 使用cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.o ...