我的编程空间,编程开发者的网络收藏夹
学习永远不晚

laravel门面指的是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

laravel门面指的是什么

这篇文章将为大家详细讲解有关laravel门面指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在laravel中,门面是为应用服务容器中的绑定类提供的一个“静态”接口。维护时能够提供更加易于测试、更加灵活、简明优雅的语法,所有的门面都定义在“Illuminate\Support\Facades”命名空间下。

本文操作环境:Windows10系统、Laravel6版、Dell G3电脑。

laravel门面

Facades 为应用服务容器中的绑定类提供了一个“静态”接口。

Laravel 内置了很多 Facades ,可以访问绝大部分 Laravel 的功能。

Laravel 的门面作为服务容器中底层类的“静态代理”,相比于传统静态方法,在维护时能够提供更加易于测试、更加灵活、简明优雅的语法。

Laravel 的所有门面都定义在 Illuminate\Support\Facades 命名空间下。

我们可以轻松访问到门面:

use Illuminate\Support\Facades\Cache;Route::get('/cache', function () {    return Cache::get('key');});

在整个 Laravel 文档中,很多例子使用了门面来演示框架的各种功能特性。

何时使用 Facades

门面有诸多优点,其提供了简单、易记的语法,让我们无需记住长长的类名即可使用 Laravel 提供的功能特性,此外,由于他们对 PHP 动态方法的独到用法,使得它们很容易测试。

在使用 Facades 时,有些地方还需要特别注意。

使用 Facades 最主要的风险就是会引起类作用范围的膨胀。

因为 Facades 使用起来非常简单而且不需要注入,就会使得我们在不经意间在单个类中使用许多 Facades,从而导致类变的越来越大。

而使用依赖注入的时候,使用的类越多,构造方法就会越长,在视觉上就会引起注意,提醒你这个类有点庞大了。因此在使用 Facades 的时候,要特别注意控制好类的大小,让类的作用范围保持短小。

在开发与 Laravel 进行交互的第三方扩展包时,建议最好选择注入 Laravel 契约 ,而不是使用 Facades 的方式来使用类。因为扩展包是在 Laravel 本身之外构建,所以你无法使用 Laravel Facades 测试辅助函数。

Facades Vs. 依赖注入

依赖注入的主要优点之一是切换注入类的实现的能力。这在测试的时候很有用,因为你可以注入一个 mock 或者 stub ,并断言在 stub 上调用的各种方法。

通常,真正的静态方法是不可能被 mock 或者 stub。但是,因为 Facades 使用动态方法来代理从服务容器解析的对象的方法调用,我们可以像测试注入的类实例一样来测试 Facades。例如,像下面的路由:

use Illuminate\Support\Facades\Cache; Route::get('/cache', function () {    return Cache::get('key');})

我们可以这样编写测试来验证 Cache::get 方法以我们期望的方式被调用:

use Illuminate\Support\Facades\Cache;public function testBasicExample(){Cache::shouldReceive('get')->with('key')->andReturn('value');$this->visit('/cache')->see('value');}

关于“laravel门面指的是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

laravel门面指的是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

laravel门面指的是什么

这篇文章将为大家详细讲解有关laravel门面指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在laravel中,门面是为应用服务容器中的绑定类提供的一个“静态”接口。维护时能够提供更加易于测试、
2023-06-29

laravel门面的作用是什么

这篇文章主要为大家展示了“laravel门面的作用是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“laravel门面的作用是什么”这篇文章吧。在laravel中,门面Facades用于为应用
2023-06-29

laravel要用门面的原因是什么

本篇内容介绍了“laravel要用门面的原因是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在laravel中,因为门面能够为应用的服务
2023-06-30

laravel中guard指的是什么

今天小编给大家分享一下laravel中guard指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在laravel中,
2023-06-30

laravel中homestead指的是什么

今天小编给大家分享一下laravel中homestead指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。larave
2023-06-29

laravel中lts指的是什么

这篇文章主要介绍“laravel中lts指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel中lts指的是什么”文章能帮助大家解决问题。在laravel中,lts是长期技术支持的意
2023-06-30

laravel中spark指的是什么

这篇文章主要介绍“laravel中spark指的是什么”,在日常操作中,相信很多人在laravel中spark指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”laravel中spark指的是什么”的疑
2023-06-29

laravel中trait指的是什么意思

这篇文章主要介绍了laravel中trait指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在laravel中,trait是为类似PHP的单继承语言而准备的一种代
2023-06-26

laravel中依赖注入指的是什么

这篇文章给大家分享的是有关laravel中依赖注入指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。laravel依赖注入一词是由Martin Fowler提出的术语,它是将组件注入到应用程序中的一种行为,
2023-06-22

laravel中ioc控制反转指的是什么

这篇文章主要介绍“laravel中ioc控制反转指的是什么”,在日常操作中,相信很多人在laravel中ioc控制反转指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”laravel中ioc控制反转指的
2023-06-29

PHP中的门面模式是什么

本篇内容介绍了“PHP中的门面模式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!门面模式,也叫外观模式。不管是门面还是外观,都是我们对
2023-06-20

javascript指的是一门什么样的语言

小编给大家分享一下javascript指的是一门什么样的语言,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript指的是一门具有函数优先的轻量级,解释
2023-06-14

js面向对象指的是什么

这篇文章主要介绍了js面向对象指的是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出
2023-06-14

php页面静态化指的是什么

这篇“php页面静态化指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php页面静态化指的是什么”文章吧。php页面
2023-06-30

go语言字面量指的是什么

本文小编为大家详细介绍“go语言字面量指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言字面量指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在go语言中,字面量(literal)是用于表
2023-07-04

电脑桌面指的是什么意思

这篇文章主要介绍电脑桌面指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!电脑桌面就是指打开计算机并成功登录系统之后看到的显示器主屏幕区域,它包括任务栏和桌面图标等。桌面文件一般存放在C盘,用户名下的桌面文
2023-06-14

php面向对象指的是什么意思

这篇文章主要为大家展示了“php面向对象指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php面向对象指的是什么意思”这篇文章吧。在php中,面向对象就是将要处理的问题抽象为对象,然
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录