thinkphp5.1は追加のサポートをしていますか?
thinkphp5.1
extra
thinkphp5.1 は extra をサポートしていません。thinkphp5.1 の config 関数は extra のサポートをキャンセルしました。「function editConfig($arr = [],$user='admin'){」を変更できます。 ..} ” 関数をグローバルに使用するには、アプリまたはアプリケーション フォルダーの common.php にコードを貼り付けます。
このチュートリアルの動作環境: Windows 7 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
thinkphp5.1 は追加のサポートをしていますか? #########サポートしません。
ThinkPHP5.1 ファイルを構成ファイルとして使用するThinkPHP5.1 ピットフォール レコードの構成ファイルとしてファイルを使用するTp5.1 (バージョン限定) をアプリのバックエンドとして使用するそのとき、ユーザーは頻繁にリクエストを行い、操作のすべてのステップでデータベースへのアクセスが必要でした。操作のすべてのステップで構成構成テーブルへのアクセスが必要でした。頻繁な読み取りにより、データベースに多大な負荷がかかりました。バックグラウンドでのトラフィックの監視、リクエストの 30% 近くが設定テーブルにアクセスしていることが判明したため、設定をローカル電話機に転送し、そのファイルを設定として使用することにしました。しかし、さまざまな情報を照会した後、静的に変更できる設定が見つかりません。Tp5.1 が提供する Config::set() 関数は、設定ファイルを動的に変更することしかできず、このコントローラ内でのみ実行されます。実際の設定ファイルは変更されていません。要件を満たしていません。さまざまな情報を確認した結果、この記事が最も信頼できることがわかりましたが、実際のテストは無効です。config 関数を入力した後、Tp5 でそれが見つかりました。 1、config関数で追加サポートが解除されていたので、自分で書き直しました 早速、乱暴にコードを追加してみました/** * 修改扩展配置文件 * @param array $arr 需要更新或添加的配置 * @param string $user 修改人 * @return bool */ function editConfig($arr = [] ,$user='admin') { if (is_array($arr)) { //获取文件名 $filename = 'business.php'; //获取配置文件环境变量位置(请确保开启权限,如若报错,请改为绝对路径) $filepath = Env::get('CONFIG_PATH'). $filename; //判定配置文件是否存在 if (!file_exists($filepath) ) { if(!fopen($filepath, "w")){ return 'PermissionError1'; } } //判定权限是否足够 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'; } }このコードをアプリ内のcommon.phpに貼り付けます(またはアプリケーション) フォルダーに移動すると、この関数をグローバルに使用して構成ファイルを変更できます。例:
Web サイトのルート ディレクトリの config フォルダーに business.php ファイルを作成します。 (読み取りおよび書き込み権限に注意してください)、コントローラーで変更関数を呼び出します。
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 ('文件无权限,请联系管理员'); } }config フォルダーの下の設定ファイルは
<?php /** * 由admin123修改. * 2019/11/22 13:00:27 */ return [ 'WEB'=>[ 'web_status' => '1', '1', '3', '4', ], ];に変更されます。他のコントローラでは、設定ルールを直接使用してさまざまな設定ファイルを取得できます。特定のルールについては、TP5.1 手動設定取得の章に移動してください。ロジック プログラムは、ファイルから設定を直接読み取ります。ユーザーが設定を読み取ると、キャッシュを設定したり、redis から直接読み取ることができます。推奨学習: 「
thinkPHP ビデオ チュートリアル
>>」
以上がthinkphp5.1は追加のサポートをしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
船と墓のためのRimworld Odyssey温度ガイド
4週間前
By Jack chen
Rimworld Odyssey釣り方
1 か月前
By Jack chen
Alipayの外国人ユーザーの取引制限は何ですか?
1 か月前
By 下次还敢
Kimi K2:最も強力なオープンソースエージェントモデル
1 か月前
By Jack chen
2つのAlipayアカウントを頂けますか?
1 か月前
By 下次还敢

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)