thinkphp5.1 unterstützt keine Extras. Die Konfigurationsfunktion in thinkphp5.1 hat die Unterstützung für Extras eingestellt. Sie k?nnen die Funktion ?editConfig($arr = [], $user='admin'){...} einfügen. " Code in Diese Funktion kann global in common.php im App- oder Anwendungsordner verwendet werden.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ThinkPHP Version 5, Dell G3-Computer.
Unterstützt thinkphp5.1 zus?tzliche Funktionen?
Nicht unterstützt.
ThinkPHP5.1 verwendet Dateien als Konfigurationsdateien
ThinkPHP5.1 verwendet Dateien als Konfigurationsdateien
Bei Verwendung von Tp5.1 (eingeschr?nkte Version) als App-Hintergrund stellen Benutzer h?ufig Anfragen und jeden Schritt des Vorgangs Um auf die Datenbank zuzugreifen, muss bei jedem Schritt des Vorgangs auf die Konfigurationstabelle zugegriffen werden. Durch h?ufiges Lesen wird der Datenverkehr im Hintergrund überwacht und festgestellt, dass fast 30 % der Anforderungen darauf zugreifen Daher habe ich beschlossen, die Konfiguration lokal zu korrigieren.
Nach der Suche nach verschiedenen Informationen konnte ich jedoch nicht feststellen, dass die von Tp5 bereitgestellte Funktion Config::set() .1 kann die Konfigurationsdatei nur dynamisch ?ndern und ist auf diesen Controller beschr?nkt. Die tats?chliche Konfiguration hat sich nicht ge?ndert, was offensichtlich nicht unseren Anforderungen entspricht
Nach Rücksprache mit mehreren Quellen fand ich diesen Artikel am besten zuverl?ssig, aber der eigentliche Test ist ungültig
Nachdem ich die Konfigurationsfunktion eingegeben habe, stellte ich fest, dass die Konfigurationsfunktion in Tp5.1 nicht mehr unterstützt wurde, also habe ich sie selbst neu geschrieben
Keine weiteren Worte, einfach gewaltsam codieren .
/** * 修改擴展配置文件 * @param array $arr 需要更新或添加的配置 * @param string $user 修改人 * @return bool */ function editConfig($arr = [] ,$user='admin') { if (is_array($arr)) { //獲取文件名 $filename = 'business.php'; //獲取配置文件環(huán)境變量位置(請確保開啟權(quán)限,如若報錯,請改為絕對路徑) $filepath = Env::get('CONFIG_PATH'). $filename; //判定配置文件是否存在 if (!file_exists($filepath) ) { if(!fopen($filepath, "w")){ return 'PermissionError1'; } } //判定權(quán)限是否足夠 if (!is_writable($filepath)) { return 'PermissionError2'; } //遍歷整個配置文件 $conf = include $filepath; foreach ($arr as $key => $value) { $conf[$key] = $value; } //記錄修改者 $time = date('Y/m/d H:i:s'); $str = "<?php\r\n/**\r\n * 由".$user."修改.\r\n * $time\r\n */\r\nreturn [\r\n"; //寫入配置文件 foreach ($conf as $key => $value) { if(is_array($value)){ $str.="\t'$key'=>[\r\n"; foreach ($value as $ikey=>$r) { if(is_numeric($ikey)){ $str .= "\t\t'$r',"; $str .= "\r\n"; }else{ $str .= "\t\t'$ikey' => '$r',"; $str .= "\r\n"; } } $str = rtrim($str,','); $str .= "\t],"."\r\n"; } else{ $str .= "\t'$key' => '$value',"; $str .= "\r\n"; } } $str .= '];'; //關閉文件 $result = file_put_contents($filepath, $str); if($result){ return 'success'; } else { return $result; } } else { return 'error'; } }
Fügen Sie diesen Code in common.php im App- (oder Anwendungs-)Ordner ein, und Sie k?nnen ihn global verwenden, um die Konfigurationsdatei zu ?ndern.
Beispiel:
Erstellen Sie eine business.php-Datei im Konfigurationsordner
Rufen Sie die ge?nderte Funktion im Controller auf
public function setBusiness(){ $arr = array( "WEB" => [ "web_status"=>'1', 1,3,4 ], ); $result=editConfig($arr,'admin123'); if($result=='success'){ echo ('修改成功'); }elseif($result=='error'){ echo ('修改失敗'); } elseif($result=='PermissionError'){ echo ('文件無權(quán)限,請聯(lián)系管理員'); } }
unter dem Konfigurationsordner. Die Konfigurationsdatei wird in
<?php /** * 由admin123修改. * 2019/11/22 13:00:27 */ return [ 'WEB'=>[ 'web_status' => '1', '1', '3', '4', ], ];
ge?ndert. Als n?chstes k?nnen Sie in anderen Controllern dies tun Verwenden Sie die Konfigurationsregeln direkt, um verschiedene Konfigurationsdateien zu erhalten. Informationen zu spezifischen Regeln finden Sie im Kapitel zur manuellen Konfigurationserfassung von TP5.1. Das Logikprogramm liest die Konfiguration direkt aus der Datei und der Benutzer kann die Konfiguration festlegen Erstellen Sie einen Cache oder lesen Sie ihn direkt aus Redis.
Empfohlenes Lernen: ?
thinkPHP Video TutorialDas obige ist der detaillierte Inhalt vonUnterstützt thinkphp5.1 zus?tzliche Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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)