search
Homephp教程PHP开发Laravel framework facades (facades)

Laravel framework facades (facades)

Nov 30, 2016 pm 03:50 PM
laravel

Facades provide a "static" interface for classes available in the application's service container.

Laravel comes with many facades, and you may even be using them without knowing it!

xpower’s static interface (facades)

Prerequisite 1: We have a class (xpower) that has been bound to the service container

Prerequisite 2: We have registered this in the service provider Class (singleton method under regisrer in the service container)

5. Next, create the facade of xpower, which inherits the facade base class. The getFacadeAccessor method must be implemented. A string is returned, which is actually the name of the service provider's registered binding singleton (singleton method). You can write this name casually, ours here is xpower

<?php 

namespace App\Facades; 

use Illuminate\Support\Facades\Facade; 

class XP extends Facade { 
  protected static function getFacadeAccessor() { 
    return &#39;xpower&#39;; 
  } 
}

6. Then you need to register the facade category name in the configuration file config/app.php:

&#39;aliases&#39; => [ ...//其他门面类别名映射 &#39;XP&#39; => App\Facades\XP::class, ],

We can directly use XP::activate to activate xpower super power at this time

use the introduction of AppFacadesXP. Otherwise it cannot be found.

Analysis:

1.XP::activate first goes to the container to find the XP instance (already registered in the container), and returns the xpower string

2.xpower string has also been bound and registered to the container , and then return to the Xpower service instance

3. ::activate will actually call the __callstatic method in the base class facade, and then convert it to a call in the form of ->show().


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft