国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison cadre php PensezPHP thinkphp5.1 prend-il en charge davantage??

thinkphp5.1 prend-il en charge davantage??

Dec 12, 2022 am 09:38 AM
thinkphp5.1 extra

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.

thinkphp5.1 prend-il en charge davantage??

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&#39;$key&#39;=>[\r\n";
                foreach ($value as $ikey=>$r) {
                    if(is_numeric($ikey)){
                        $str .= "\t\t&#39;$r&#39;,";
                        $str .= "\r\n";
                    }else{
                        $str .= "\t\t&#39;$ikey&#39; => &#39;$r&#39;,";
                        $str .= "\r\n";
                    }
                }
                $str = rtrim($str,&#39;,&#39;);
                $str .= "\t],"."\r\n";
            } else{
                $str .= "\t&#39;$key&#39; => &#39;$value&#39;,";
                $str .= "\r\n";
            }
        }
        $str .= &#39;];&#39;;
        //關(guān)閉文件
        $result = file_put_contents($filepath, $str);
        if($result){
            return &#39;success&#39;;
        } else {
            return $result;
        }
    } else {
        return &#39;error&#39;;
    }
}

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"=>&#39;1&#39;,
                1,3,4
            ],
        );
        $result=editConfig($arr,&#39;admin123&#39;);
        if($result==&#39;success&#39;){
            echo (&#39;修改成功&#39;);
        }elseif($result==&#39;error&#39;){
            echo (&#39;修改失敗&#39;);
        }
        elseif($result==&#39;PermissionError&#39;){
            echo (&#39;文件無權(quán)限,請聯(lián)系管理員&#39;);
        }
    }

sous le dossier config Le fichier de configuration sera modifié en

<?php
/**
 * 由admin123修改.
 * 2019/11/22 13:00:27
 */
return [
&#39;WEB&#39;=>[
&#39;web_status&#39; => &#39;1&#39;,
&#39;1&#39;,
&#39;3&#39;,
&#39;4&#39;,
],
];

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1502
276