Englisch | chinesisch
Plus
einführen
LaravelPlus fügt auf Laravel eine Softwarepaket für die ersten Installations- und Geschäftsnutzungsfunktionen hinzu, um eine außergewöhnliche Anwendung zu erstellen.
Zweck
- Fügte ein modellbasiertes Tool zur Curd-Generierung hinzu
- Automatische Laravel- und Vue/Element -Benutzeroberfläche basierend auf dem zugrunde liegenden Modellcodegenerator.
- Umgebungskonfigurationsumschaltung
Anforderungen an die Betriebsumgebung
- Php
- Komponist
- Mysql | PGSQL
Projektnutzung
0. Konfigurieren Sie die Spiegelung
Konfigurieren Sie den Komponisten Aliyun Image
$ composer config -g repo.packagist composer https: //mirrors.aliyun.com/composer/
1. Laden Sie das Projekt herunter
$ git clone https : //github.com/ElapseAnnals/laravel-plus.git
2. Erstellen Sie ein neues Projekt
// A.在当前目录运行自动复制脚本 ( 推荐)
// YourProject 需要创建的项目名
$ php LaravelPlus /create YourProject
3.. Neue Projektinitialisierung
$ cd YourProject // 进入 YourProject 项目中
$ composer update
$ php artisan make:framework init --init
4. Der lokale Service ist aktiviert
Tipps:
Aktualisieren Sie Ihr Programm (werden im vorherigen Verzeichnis verwendet, wenn das Plug-In Änderungen enthält).
php LaravelPlus/update YourProject
Funktionsanweisungen
Erstellen Sie hierarchische Skripte und Ressourcenkarten: Ideenquelle
Das Framework -Skript erstellt Inhalte:
- Controller, Dienst, Repository und andere Dateien und entsprechende Beziehungen
- Routing -Routing erhöht sich
- Ressourcentyp -Code- und Modelldatenverarbeitung in Controller
Modellgenerierung
php artisan code:models --table=table_name // 指定表
php artisan code:models --connection=mysql // 指定数据库连接
php artisan code:models --connection=mysql --table=table_name // 指定连接和指定表
Verwenden Sie die Framework -Funktion, um eine Curl zu erstellen (TMPLS ist der Plural Name des entsprechenden Modells).
$ php artisan make:framework Tmpls // 创建分层结构(推荐)
$ php artisan make:framework Tmpls --D // 删除分层结构
$ php artisan make:framework Tmpls --F // 强制生成分层结构
Reproduktionsbild: 
Tipps:
- Beachten Sie, dass die Datei von anderen Diensten besetzt ist und Sie versuchen können, den Cache nicht zu löschen. Stellen Sie sicher, dass Sie über die entsprechenden Berechtigungen verfügen.)
- Die Verwendung des Exports erfordert die Exportregistrierung in Web.php
Konfigurationsverbrauch von Hot Switch (config/dynamic/)
Nach der Einstellung enable_hot_switching = true in .env wird dynamisches Zuordnen in AppServiceProvider durchgeführt
Wie man verwendet:
<?php
$ env = config ( ' dynamic.env ' );
Beschreibung der dynamischen Verzeichnisdatei
- Produktionsumgebung (muss konfiguriert werden)
- Entwicklungsentwicklungsumgebung (muss konfiguriert sein, die folgende Konfiguration erbt die Entwicklungskonfiguration)
- Test -Testumgebung
- Lokale Umgebung
- Simulationsumgebung
Tipps:
- .Env konfigurieren dynamic_is_strict, um zu steuern, ob die heiße Konfiguration streng ist (Standard False ist deaktiviert)
- Produktion/Entwicklung wird im strengen Modus nicht vererbt, und die aktuelle Umgebungskonfiguration wird vollständig übernommen.
- Standardmäßig gibt es doppelte Attribute auf Vererbungsbasis, die das Erbschaftselement überschreiben.
- Die Erben von grundlegenden einzigartigen Attributen werden in die aktuelle Konfiguration übertragen
- config/dynamic.php ist die Idee Eingabeaufforderung. Verwenden Sie einfach einen leeren Schlüssel
Optimieren Sie die Schließungen auf Standardrouten
- Die Verwendung von Schließungen ist in der Route verboten. Bei Bedarf registrieren Sie sich bitte im ClosureController.
Cache -Reinigung
- PHP Artisan Optimierung: klar // (Verwendung mit Vorsicht)
- PHP Artisan View: Klar
- PHP Artisan Cache: Clear // Anwendungs -Cache -Reinigung (Verwendung mit Vorsicht - es wird den Cache in config.cache (Datei/db/redis usw.) beseitigt).
- PHP Artisan Route: Cache
- PHP Artisan Config: Clear
- PHP Artisan Clear-compiled // Clean and Compile Php Artisan Debug: Clear
Leistungsoptimierung (nur für die Produktionsumgebung empfohlen)
- PHP Artisan -Optimierung // ClassMap -Ladeoptimierung (Dieser Befehl kann automatisch konfiguriert/Route cache)
- PHP Artisan Config: Cache // Cache konfigurieren
- PHP Artisan Route: Cache // Routing
- PHP Artisan View: Cache // Cache anzeigen
- Komponist Dump-autoload --optimize //
- Schalten Sie Opcache ein
$ sudo vim /etc/php/ 7.2 /fpm/php.ini
// set opcache.enable=1
// ...
$ sudo service php5 . 6 -fpm restart
$ sudo service nginx restart
Front-End-Verarbeitung
Ressourcenkonstruktion
npm run dev // 本地开发,开启 debug 模式
npm run prod // 线上部署(进行压缩资源)
npm run watch // 监视编译(开发时启用)
Vorlagenverbrauch
Injektion von Vue -Komponenten mit Mixin
< script >
var js_data = @ json ( $js_data ) ;
var mixinSlot = {
data : { } ,
methods : { }
}
</ script >
< script type =" text/javascript " src =" {{asset('js/app.js')}} " > </ script > Routing Web/API -Nutzungsunterschiede und Szenarien
Web wird durch Berechtigungen, Middleware wie CSRF und Session API-Token unterstützt, um Auth: API Middleware oder Barryvdh/Laravel-Cors zu verwenden. Wenn es sich nicht um eine einfache API handelt, wird empfohlen, Web zu verwenden.
Inhalt ändern
- Setzen Sie den Protokolldruck, um Tag für Tag von Tag für Tag auszuführen (.Env :: log_channel)
- Fügen Sie das Standard -Ladepaket hinzu
Produktionsumgebung
- Maatwebsite/Excel Excel -Komponente hinzufügen
Entwicklungsumfeld
- Verlassen sich/laravel
- Barryvdh/Laravel-Debugbar-Debugger-Tool
- Barryvdh/Laravel-ide-Helper-Ide-Helfer
php artisan ide-helper:generate
- Empfohlene Erweiterung
PHP-OED-XLSWRITER Excel Processing-Erweiterungen, starke Leistung (300.000 Zeilen 4 s)
Empfohlene Paketliste
- PHP_XLSXWRITER Einfache und leistungsstarke Excel -Erweiterung
- Protokollierungswerkzeug für Überausträger/Laravel-Query-Logger
- Nunomaduro/PhpInsights Statistical Detection Project -Projekte (ähnlich wie PHPCs)
mehrsprachige Lokalisierung von Overau/Laravel-Lang i18n
[Laravel/Socialite] () Socialized Login Package [Achten Sie darauf, den Proxy zu konfigurieren oder die zugrunde liegende Routing -Anforderung zu ändern
RAP2HPOUTRE/Laravel-Log-Viewer-Protokollanzeige [Zugriffshost/Protokolle]
Respekt/Validierungsprüfungspaket
React/React ReactPHP Multi -Process -Asynchronerweiterung (manuell kann der Prozess erst nach der Einführung verwendet werden) - React/Child -Process - React/Event -Loop - Einführung von Elasticsearch für Scout - Laravel/Scout (manuell) (manuell)
- Tamayo/Laravel-Scout-Elastic (Handbuch)
Elastic/Elasticsearch-Php Native Elasticsearch (Handbuch)
- Rabbitmq-Erweiterung-Vladimir-Yuldashev/Laravel-Queue-Rabbitmq
- PHP-AMQPLIB/PHP-AMQPLIB Native (Handbuch)
Predis/Predis Redis -Plugin (Predis -Erweiterung wird empfohlen)
PHP-Tool/Laravel-Plus-Make Laravel Plus generieren automatisch Framework-Code-Plug-in-Softwarepakete (manuell)
DarkaOnline/L5-Swagger Swagger Dokumenterzeugung
mpociot/laravel-apidoc-Generator API-Dokument-Dokumentgenerierung
Nunomaduro/Larastan fügt das statische Erkennungswerkzeug von Laravel hinzu
GuzzleHttp/Guzzle HTTP -Anforderungspaket
Klassikerlader/ClassPreloader -Anbieter -Vorladungsgenerator
-beyondcode/laravel-Self-Diagnose Laravel-Projekt Diagnose -beyondcode/laravel-dump-server, der alle Ihre Dump-Anrufausgänge-Ausgänge-Tightenco/Jigsaw Active Statikization-Spatie/Laravel-Responsecache Staticization-Silber/Page-Cache Staticization-Barryvdh/Laravel-Httpcache-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik-Statik sammelt, sammelt.
Steigern Sie Front-End-Ressourcen
Fügen Sie das Standard -Bildspeicherverzeichnis (Speicher/App/öffentliche/Bilder) hinzu.
Ideenquelle für eine erweiterte Strukturhierarchie
- Systemhierarchie
- Hauptsächlich geschichtet
- Services Business Service Layer (Verarbeitung Geschäftslogik)
- Repository Data Warehouse Layer (Verarbeitungsdatenbanklogik)
- Models Modellschicht (keine Erstellung ist erforderlich, die standardmäßig über das Modellwerkzeug erstellt wurde)
- Erweiterte Hierarchie
- Moderatoren festgelegte Business Hosting Central Control Layer (Logistik für Verarbeitungsansichten: Referenz, besser geeignet für Blade)
- Reduzieren in Blade mit @if ...@sonst ...@endif
- Transformatorenkonvertierungsschicht/Filterschicht (Ausgabe nach Filterung; steuern Sie die Anzahl der angezeigten Felder)
- Formatierungsschicht (Verpackung) (Formatierung der Ausgabedaten und Servieren der Ansichtsschicht), was für die Vorlage für Front-End-Vorlagen bequem ist; Übersetzung, codierende Flucht;
Legen Sie die Standardschema -Indexlänge ein
Verwenden Sie Schema Beachten Sie, dass die MySQL -Version niedriger als 5,7.7 ist und die Standardindexlänge weniger als 191 festlegen muss
Schema:: defaultStringLength ( 191 );
Stargazers im Laufe der Zeit