您的位置: 翼速应用 > 业内知识 > PHP框架 > 正文

thinkphp3中有没有门面类?

操作Windows10系统、ThinkPHP3版、Dell G3电脑时在thinkphp3中有没有门面类?


    门面为容器中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类

 

yhinkphp中有门面类吗


为什么使用门面


1、静态方法和非静态方法的区别(调用对象、引用变量不同)


静态方法:是使用static关键字修饰的方法,又叫类方法.属于类的,不属于对象, 在实例化对象之前就可以通过类名.方法名调用静态方法。 (静态属性,静态方法都是属于类的,可以直接通过类名调用)。


A.在静态方法中,可以调用静态方法。


B.在静态方法中,不能调用非静态方法。


C.在静态方法中,可以引用类变量(即,static修饰的变量)。


D.在静态方法中,不能引用成员变量(即,没有static修饰的变量)。


E.在静态方法中,不能使用super和this关键字


非静态方法:是不含有static关键字修饰的普通方法,又称为实例方法,成员方法。属于对象的,不属于类的。(成员属性,成员方法是属于对象的,必须通过new关键字创建对象后,再通过对象调用)。


A.在普通方法中,可以调用普通方法。


B.在普通方法中,可以调用静态方法


C.在普通方法中,可以引用类变量和成员变量


D.在普通方法中,可以使用super和this关键字


2、静态方法和非静态方法的区别(调用方法不同)


静态方法可以直接调用,类名调用和对象调用。(类名.方法名 / 对象名.方法名)


但是非静态方法只能通过对象调用。(对象名.方法名)


3、静态方法和非静态方法的区别(生命周期不同)


静态方法的生命周期跟相应的类一样长,静态方法和静态变量会随着类的定义而被分配和装载入内存中。一直到线程结束,静态属性和方法才会被销毁。(也就是静态方法属于类)


非静态方法的生命周期和类的实例化对象一样长,只有当类实例化了一个对象,非静态方法才会被创建,而当这个对象被销毁时,非静态方法也马上被销毁。(也就是非静态方法属于对象)


总结:


类方法可以直接通过类名调用,实例方法必需先实例化类,再初始化对象,然后通过类的实例对象才能调用


如何使用


1、创建一个需要放置门面类的文件夹 facade


2、写好自己的公共类


3、在facade创建facade类代码如下


use think/Facade;

class TestFacade extends Facade{

protected static function getFacadeClass(){

return '写好的目标公共类绝对路径';

}

}


4、调用这个公共类的时候可以直接使用门面类替换公共类,这样公共类的非静态方法也可以使用静态调用了




以上就是关于thinkphp3中有没有门面类的详细内容,想了解的更多话请关注翼速网络应用平台获取更多内容!



我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题