Heim > Artikel > Backend-Entwicklung > Was sind die Thinkphp-Konfigurationstypen? Wie erreicht man es?
1. Welche Konfigurationstypen gibt es von thinkphp?
1. In thinkphp gibt es 6 Konfigurationen. Das heißt, konventionelle Konfiguration, Anwendungskonfiguration, erweiterte Konfiguration, Modulkonfiguration, Szenenkonfiguration und dynamische Konfiguration.
2. Die herkömmliche Konfiguration ist die Standardkonfiguration des Systems.
3. Anwendungskonfiguration ist die individuelle Konfiguration der von uns entwickelten und erstellten Anwendung.
4. Die Erweiterungskonfiguration dient hauptsächlich der Implementierung der Konfiguration, die von einigen Erweiterungsprogrammen während des Entwicklungsprozesses unseres Projekts verwendet wird.
5. Modulkonfiguration ist die Konfiguration jedes Moduls in einer Anwendung.
6. Die Szenariokonfiguration dient hauptsächlich der Implementierung der von uns festgelegten Konfiguration in verschiedenen Entwicklungsumgebungen. Wenn wir zu Hause arbeiten, kann die Computerumgebung anders sein; wenn wir in einem Unternehmen arbeiten, kann die Computerumgebung des Unternehmens anders sein.
7. Die dynamische Konfiguration wird in unserem Modul entwickelt und implementiert. Beispielsweise definieren wir die Datenbankkonfiguration in einem Controller.
2. Was ist das Implementierungsprinzip der thinkphp-Konfiguration?
1. Thinkphp implementiert so unterschiedliche Arten von Konfigurationen, was unsere modulare Konfiguration erheblich erleichtert und die Flexibilität der Konfiguration erhöht.
2. Die Konfigurationsladereihenfolge von thinkphp ist hauptsächlich in der folgenden Reihenfolge. Dynamische Konfiguration》》Modulkonfiguration》》Erweiterte Konfiguration》》Anwendungskonfiguration》》Konventionelle Konfiguration
3.thinkphp implementiert die Konfiguration hauptsächlich mithilfe der PHP-Funktion array_merage() (wenn zwei oder mehr Array-Elemente die haben gleicher Schlüsselname, das letzte Element überschreibt die anderen Elemente). Wenn unser System unsere Konfigurationsdatei lädt, überschreibt es die vorherige Konfigurationsdatei, sodass die Ausführungssequenz des zweiten Schritts oben erreicht wird.
3. Warum sollten wir eine solche Konfiguration implementieren?
1. Durch verschiedene Arten von Konfigurationen erleichtern wir das Projektkonfigurationsmanagement. Wenn wir beitreten, verwenden wir die mit dem Framework gelieferte Konfiguration. Wenn wir ein bestimmtes Modul entwickeln und Daten in der Datenbank eines anderen Servers speichern müssen, wird unser Projekt nicht implementiert. Es gibt viele Situationen wie diese, dies ist nur ein einfaches Beispiel.
4. Anforderungen an die Konfigurationsdatei
Alle Konfigurationsdateien verwenden Arrays. Wenn unser System die Konfigurationsdatei lädt, gibt es ein Array zurück. Um auf Konfigurationselemente im System zuzugreifen, können wir die Hilfsfunktion config() oder die Konfigurationsklasse verwenden.
5. Wie implementiert man diese Art von Konfigurationen?
1. Konventionelle Konfiguration.
Die Konventionskonfiguration befindet sich direkt in Convention.php im Kernverzeichnis des Frameworks, und ich werde hier nicht auf Details eingehen.
2. Anwendungskonfiguration.
Wenn wir ein Projekt erstellen, erstellt das Framework standardmäßig Konfigurationsdateien wie config.php und Database.php im Anwendungsverzeichnis. Wir können direkt in der entsprechenden Datei arbeiten. Die folgende separate Erklärung verwendet hauptsächlich das Erstellen eines Verzeichnisses für die Konfiguration. Der Effekt ist derselbe, es handelt sich lediglich um eine Änderung des Dateipfads.
a. Definieren Sie den Pfad der Konfigurationsdatei, suchen Sie die Projekteintragsdatei und erstellen Sie ein Konfigurationsverzeichnis unter demselben Ebenenverzeichnis wie die Anwendung (die nachfolgenden Konfigurationserklärungen werden alle in diesem Verzeichnis ausgeführt und werden nicht erläutert). separat weiter unten).
define('CONF_PATH', __DIR__.'/../config/');
Als nächstes erstellen Sie einfach die Konfigurationsdatei direkt im Verzeichnis. Der Name der erstellten Datei ist nicht unbedingt auf config und Datenbank beschränkt. Die Konfigurationselemente in der Datei sind dieselben wie in der Konfigurationsdatei Convention.php. Wenn wir das Projekt ausführen, werden die Konfigurationselemente in diesem Verzeichnis automatisch geladen.
3. Erweiterte Konfiguration. Bei der erweiterten Konfiguration handelt es sich hauptsächlich um die erweiterte Nutzung einiger Daten, die wir in der Entwicklung verwenden. Wenn wir beispielsweise E-Mail verwenden, handelt es sich dabei um das Konto der E-Mail. Sie können es in diesem Verzeichnis konfigurieren. Wir erstellen ein extra Verzeichnis unter dem config-Verzeichnis und erstellen die entsprechenden Dateien unter diesem Verzeichnis. Ich habe zum Beispiel die Datei email.php unten erstellt und den folgenden Inhalt definiert:
<?phpreturn ["user_emial" => "1005349393@qq.com"];
Laden Sie dieses Konfigurationselement in unser System.
var_dump(config("email.user_emial")); // 在系统默认中,会给我们的环境变量都加一个PHP的前缀,并且都会将配置项转换为大写。这里我们使用我们的助手函数便可直接访问配置项。
4. Modulkonfiguration. Hier eine kurze Erklärung. Die Hauptsache ist, die entsprechenden Dateien config.php, Database.php und andere in unserem Modulverzeichnis zu erstellen.
5. Szenenkonfiguration. ***Dies ist der ultimative Tipp dieses Artikels. Die Szenenkonfiguration dient hauptsächlich der Anpassung an unsere unterschiedlichen Entwicklungsumgebungen. Beispielsweise stimmt unsere Umgebungskonfiguration im Unternehmen nicht mit der Umgebungskonfiguration zu Hause überein. Zu diesem Zeitpunkt müssen wir möglicherweise viele Orte gleichzeitig ändern Zeit, wir müssen es erneut ändern, wenn wir zum Unternehmen zurückkehren. Ist das nicht sehr mühsam?
Zuerst laden wir ein Konfigurationselement in die Konfigurationsdatei im Konfigurationsverzeichnis.
'app_status' => 'office', // 这里的配置项的值就是我们对应的配置环境。
接下来,在我们的config目录下面创建一个office.php(这里的文件名必须和上面配置项的值完全一致)
最后,我们直接在我们的office.php配置文件中配置即可。其实在thinkphp还有个比较不错的功能就是.env。之前一直知道laravel有,没主要thinkphp5,最近才发现。使用该功能对于开发中的配置又方便了很多了。很赞。
首先我们在我们的项目目录下面创建一个.env的文件,里面配置我们的配置项。如下
status= office
我们要使用的话,直接使用框架自带的env类即可。至于更多有关env的方法直接参考开发手册。
'app_status' => Env::get("status");我们将上一步场景配置项中的值设置为.env文件中的配置项。一定要引入ENV这个类。
通过我们的.env文件,只需要我们实现将一些配置文件配置好,或者将一些常用的配置文件放在.env文件中,我们就只修改这一个文件即可。
6.动态配置。动态配置顾名思义是随着我们项目开发的需要来配置,而不是直接使用我们配置文件中的配置。下面列举一个简单的实例。
<?php namespace app\index\controller;use think\Controller;class Index extends Controller {public function index() { config("app_name", "weixin"); // 在控制器中配置一个app_name的配置项,这里也可以使用config类来操作。 } }
Das obige ist der detaillierte Inhalt vonWas sind die Thinkphp-Konfigurationstypen? Wie erreicht man es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!