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 介绍 在项目开发中,创建图表通常是一件痛苦的事情.因为你必须将数据转换为图表库支持的格式传输 ...
随机推荐
- 学习JS的心路历程-范围Scope和提升(Hoisting)
在上一篇提到了JS有三种声明变量的方式,分别是var.const及let,var和const let最大区别就是范围(scope)的限制.所以在这一篇我们会详谈何谓范围链及他们的复写优先级. 范围Sc ...
- Python中的转换函数
https://www.cnblogs.com/wuxiangli/p/6046800.html python中的字符数字之间的转换函数 int(x [,base ]) 将x转换为 ...
- h5做列表 水平分割
移动端H5各种各样的列表的制作方法(三) by FungLeo 移动端H5各种各样的列表的制作方法(三) by FungLeo 前情回顾 在上一篇博文<移动端各种各样的列表的制作方法(二)> ...
- SPSS-非参数检验
非参数检验(卡方(Chi-square)检验.二项分布(Binomial)检验.单样本K-S(Kolmogorov-Smirnov)检验.单样本变量值随机性检验(Runs Test).两独立样本非参数 ...
- requests库的文档--快速上手
快速上手 迫不及待了吗?本页内容为如何入门 Requests 提供了很好的指引.其假设你已经安装了 Requests.如果还没有,去安装一节看看吧. 首先,确认一下: Requests 已安装 Req ...
- Java System
从jdk10中摘录自认为几个比较重要的方法 系统类包含几个有用的属性和方法.它不能被实例化. 系统类提供的工具包括标准输入.标准输出和错误输出流:对外部定义的属性和环境变量的访问:加载文件和库的方法: ...
- 8 种 NoSQL 数据库系统对比(转自: http://blog.jobbole.com/1344/)
导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型NoSQL数据库的文章. 虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只 ...
- 十:python 对象类型详解六:文件
一:文件 1.简介:内置open 函数会创建一个python 文件对象,可以作为计算机上的一个文件链接.在调用open 之后,可以通过调用返回文件对象的方法来读写相关外部文件.文件对象只是常见文件处理 ...
- 分布式监控系统Zabbix-3.0.3-完整安装记录
由于采用sendmail发送邮件,常常会被认为是垃圾邮件被拒,所以不推荐这种方式!这里,针对zabbix报警信息的发送,可以采用下面两种方式中的任意一种:1)利用sendEmail程序来发送报警邮件. ...
- 全国高校绿色计算大赛 预赛第一阶段(C++)第3关:旋转数组
挑战任务 在计算机中,一张数字图像,可以被看做是一个矩阵或者说数组. 学过线性代数的同学对矩阵肯定不陌生.一般来说,图像是一个标准的矩形,有着宽度(width)和高度(height).而矩阵有着行(r ...