thinkphp5.1 ne prend pas en charge les extras. La fonction de configuration dans thinkphp5.1 a annulé la prise en charge des extras?; vous pouvez coller la "fonction editConfig($arr = [], $user='admin'){...} " code dans Cette fonction peut être utilisée globalement dans common.php dans l'application ou le dossier d'application.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ThinkPHP version 5, ordinateur Dell G3.
Est-ce que thinkphp5.1 prend en charge davantage??
Non pris en charge.
ThinkPHP5.1 utilise des fichiers comme fichiers de configuration
ThinkPHP5.1 utilise des fichiers comme fichiers de configuration, enregistrements de pièges
Lors de l'utilisation de Tp5.1 (version limitée) comme arrière-plan de l'application, les utilisateurs demandent fréquemment et chaque étape de l'opération doit être done Pour accéder à la base de données, chaque étape de l'opération nécessite un accès à la table de configuration de la configuration. Une lecture fréquente met beaucoup de pression sur la base de données. Je surveille le trafic en arrière-plan et constate que près de 30 % des requêtes accèdent à la configuration. , j'ai donc décidé de corriger la configuration localement. Utiliser des fichiers comme configurations
Cependant, après avoir recherché diverses informations, je n'ai pas trouvé que la configuration pouvait être modifiée de manière statique. ne peut modifier dynamiquement que le fichier de configuration, et il est limité à ce contr?leur. La configuration réelle Le fichier n'a pas changé, ce qui ne répond évidemment pas à nos exigences
Après avoir consulté plusieurs sources, j'ai trouvé cet article le plus fiable, mais le test réel n'est pas valide.
Après avoir entré la fonction de configuration, j'ai découvert que dans Tp5.1, la fonction de configuration a été annulée, alors je l'ai réécrit moi-même
Plus de mots, codez-le simplement violemment.
/** * 修改擴(kuò)展配置文件 * @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 .= '];'; //關(guān)閉文件 $result = file_put_contents($filepath, $str); if($result){ return 'success'; } else { return $result; } } else { return 'error'; } }
Collez ce code dans common.php dans le dossier app (ou application), et vous pourrez l'utiliser globalement pour modifier le fichier de configuration
Exemple?:
Créez un fichier business.php dans le dossier de configuration à la racine. répertoire du site Web (faites attention aux autorisations de lecture et d'écriture),
Appelez la fonction de modification dans le contr?leur
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)系管理員'); } }
sous le dossier config Le fichier de configuration sera modifié en
<?php /** * 由admin123修改. * 2019/11/22 13:00:27 */ return [ 'WEB'=>[ 'web_status' => '1', '1', '3', '4', ], ];
Ensuite, dans d'autres contr?leurs, vous pourrez directement utiliser les règles de configuration pour obtenir divers fichiers de configuration. Pour des règles spécifiques, veuillez vous rendre au chapitre d'acquisition de configuration manuelle TP5.1.
Le programme logique lit la configuration directement à partir du fichier, et l'utilisateur lit la configuration. cachez-le ou lisez-le directement depuis Redis
Apprentissage recommandé?: "thinkPHP Video Tutorial"
.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)