Laravel 实现 Facades 功能,laravelfacades
Laravel 实现 Facades 功能,laravelfacades
使用过Laravel的同学都知道Facades 的强大,下面就让我们一起创建一个Facades 实例。如有不正确的地方,还请不吝赐教。
1. 实现Laravel的自动加载功能
首先建立目录app/lib/Myapp,然后添加目录到composer.json中
<span>1</span> "autoload":<span> { </span><span>2</span> "psr-0":<span>{ </span><span>3</span> "Myapp":"app/lib" <span>4</span> <span> } </span><span>5</span> }
2. 实现功能类
实现能能类 app/lib/Myapp/Test.php
<span> 1</span> <?<span>php </span><span> 2</span> <span>/*</span><span>* </span><span> 3</span> <span> * @author brudeke </span><span> 4</span> <span>*/</span> <span> 5</span> <span>namespace Myapp; </span><span> 6</span> <span>class</span><span> Test{ </span><span> 7</span> <span>public</span> <span>function</span> <span>do</span><span>(){ </span><span> 8</span> <span>echo</span> 'this is a class'<span>; </span><span> 9</span> <span> } </span><span>10</span> }
3. 实现ServiceProvider
实现app/lib/Myapp/TestServiceProvider.php ,该类主要是将功能类添加到Ioc容器:
<?<span>php </span><span>/*</span><span>* * @author brudeke </span><span>*/</span><span> namespace Myapp; </span><span>use</span><span> Illuminate\Support\ServiceProvider; </span><span>class</span> TestServiceProvider <span>extends</span><span> ServiceProvider{ </span><span>public</span> <span>function</span><span> register() { </span><span>$this</span>->app['test'] = <span>$this</span>->app-><span>share( </span><span>function</span> (<span>$app</span><span>) { </span><span>return</span> <span>new</span><span> \Myapp\Test(); }); } }</span>
4. 实现Facade 实例
实现app/lib/Myapp/Facades/TestFacades.php, 该类的主要美化,实现成员函数类似静态方法的调用形式
<span> 1</span> <?<span>php </span><span> 2</span> <span>/*</span><span>* </span><span> 3</span> <span> * @author brudeke </span><span> 4</span> <span>*/</span> <span> 5</span> <span>namespace Myapp\Facades; </span><span> 6</span> <span> 7</span> <span>use</span><span> Illuminate\Support\Facades\Facade; </span><span> 8</span> <span> 9</span> <span>class</span> TestFacades <span>extends</span><span> Facade{ </span><span>10</span> <span>protected</span> <span>static</span> <span>function</span><span> getFacadeAccessor() </span><span>11</span> <span> { </span><span>12</span> <span>return</span> 'test'<span>; </span><span>13</span> <span> } </span><span>14</span> }
5. 加载ServiceProvider
在app/config/app.php 中的providers中添加如下配置:
<span>1</span> 'providers' => <span>array</span><span>( </span><span>2</span> 'Myapp\TestServiceProvider' <span>3</span> ),
在app/config/app.php 中的aliases中添加别名:
<span>1</span> 'aliases' => <span>array</span><span>( </span><span>2</span> 'TestClass' => 'Myapp\Facades\TestFacades', <span>3</span> ),
接下来就可以在项目中以TestClass::do()的形式使用该功能类了。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die neuesten Versionen von Laravel 9 und CodeIgniter 4 bieten aktualisierte Funktionen und Verbesserungen. Laravel9 übernimmt die MVC-Architektur und bietet Funktionen wie Datenbankmigration, Authentifizierung und Template-Engine. CodeIgniter4 nutzt die HMVC-Architektur, um Routing, ORM und Caching bereitzustellen. In Bezug auf die Leistung sorgen das auf Dienstanbietern basierende Designmuster von Laravel9 und das leichte Framework von CodeIgniter4 für eine hervorragende Leistung. In praktischen Anwendungen eignet sich Laravel9 für komplexe Projekte, die Flexibilität und leistungsstarke Funktionen erfordern, während CodeIgniter4 für schnelle Entwicklung und kleine Anwendungen geeignet ist.

Laravel – Artisan Commands – Laravel 5.7 bietet eine neue Möglichkeit, neue Befehle zu behandeln und zu testen. Es enthält eine neue Funktion zum Testen von Handwerkerbefehlen und die Demonstration wird unten erwähnt?

Vergleichen Sie die Datenverarbeitungsfunktionen von Laravel und CodeIgniter: ORM: Laravel verwendet EloquentORM, das eine relationale Klassen-Objekt-Zuordnung bereitstellt, während CodeIgniter ActiveRecord verwendet, um das Datenbankmodell als Unterklasse von PHP-Klassen darzustellen. Abfrage-Builder: Laravel verfügt über eine flexible verkettete Abfrage-API, während der Abfrage-Builder von CodeIgniter einfacher und Array-basiert ist. Datenvalidierung: Laravel bietet eine Validator-Klasse, die benutzerdefinierte Validierungsregeln unterstützt, während CodeIgniter über weniger integrierte Validierungsfunktionen verfügt und eine manuelle Codierung benutzerdefinierter Regeln erfordert. Praxisfall: Beispiel einer Benutzerregistrierung zeigt Lar

Was ist die GateToken(GT)-Währung? GT (GateToken) ist der native Vermögenswert in der GateChain-Kette und die offizielle Plattformwährung von Gate.io. Der Wert von GT-Münzen hängt eng mit der Entwicklung der Ökologie von Gate.io und GateChain zusammen. Was ist GateChain? GateChain wurde 2018 geboren und ist eine neue Generation leistungsstarker öffentlicher Ketten, die von Gate.io eingeführt wurde. GateChain konzentriert sich auf den Schutz der Sicherheit der On-Chain-Assets der Benutzer und die Bereitstellung bequemer dezentraler Transaktionsdienste. Das Ziel von GateChain besteht darin, ein sicheres und effizientes dezentrales Ökosystem für die Speicherung, Verteilung und Transaktion digitaler Assets auf Unternehmensebene aufzubauen. Gatechain hat Original

Für Anfänger bietet CodeIgniter eine sanftere Lernkurve und weniger Funktionen, deckt aber die Grundbedürfnisse ab. Laravel bietet einen größeren Funktionsumfang, weist jedoch eine etwas steilere Lernkurve auf. In Bezug auf die Leistung schneiden sowohl Laravel als auch CodeIgniter gut ab. Laravel verfügt über eine umfangreichere Dokumentation und aktive Community-Unterstützung, während CodeIgniter einfacher und leichtgewichtiger ist und über starke Sicherheitsfunktionen verfügt. Im praktischen Fall der Erstellung einer Blogging-Anwendung vereinfacht EloquentORM von Laravel die Datenmanipulation, während CodeIgniter mehr manuelle Konfiguration erfordert.

Bei der Auswahl eines Frameworks für große Projekte haben Laravel und CodeIgniter jeweils ihre eigenen Vorteile. Laravel ist für Anwendungen auf Unternehmensebene konzipiert und bietet modularen Aufbau, Abhängigkeitsinjektion und einen leistungsstarken Funktionsumfang. CodeIgniter ist ein leichtes Framework, das sich eher für kleine bis mittelgroße Projekte eignet und Wert auf Geschwindigkeit und Benutzerfreundlichkeit legt. Für große Projekte mit komplexen Anforderungen und einer großen Anzahl von Benutzern sind die Leistung und Skalierbarkeit von Laravel besser geeignet. Für einfache Projekte oder Situationen mit begrenzten Ressourcen sind die leichten und schnellen Entwicklungsfunktionen von CodeIgniter idealer.

Für kleine Projekte eignet sich Laravel, für größere Projekte, die starke Funktionalität und Sicherheit erfordern. CodeIgniter eignet sich für sehr kleine Projekte, die geringes Gewicht und Benutzerfreundlichkeit erfordern.

Vergleichen Sie Laravel's Blade und die Twig-Vorlagen-Engine von CodeIgniter und wählen Sie je nach Projektanforderungen und persönlichen Vorlieben: Blade basiert auf der MVC-Syntax, die eine gute Codeorganisation und Vorlagenvererbung fördert. Twig ist eine Bibliothek eines Drittanbieters, die flexible Syntax, leistungsstarke Filter, erweiterten Support und eine Sicherheits-Sandbox bietet.
