全局包含一个config.php是不是会增加内存消耗?
因为除了PHP7,其余版本都不支持define一个数组,如果把一个站点全局配置的数组文件,如数据库账号密码,翻页数量,路由规则容易存成一个数组文件,放到config.php中,全局使用时都包含这个文件,只需要使用$config即可,这样做会不会增大服务器内存消耗?
回复内容:
因为除了PHP7,其余版本都不支持define一个数组,如果把一个站点全局配置的数组文件,如数据库账号密码,翻页数量,路由规则容易存成一个数组文件,放到config.php中,全局使用时都包含这个文件,只需要使用$config即可,这样做会不会增大服务器内存消耗?
理论上会,这相当于 requrie 'config.php',但消耗可以忽略不计。
可以忽略。。。
首先你应该明确,不管是定义一个常量数组还是普通数组,都是占用内存的.
如果你不想在定义后被修改,那就用常量数组:
<code><?php //PHP5: define('APP', serialize(array())); //用的时候需要反序列化 $app = unserialize(APP); //PHP7: define('APP', array());</code></code>
如果你在定义后需要修改,那就用普通数组,比如在需要时才生成数据库连接对象:
<code><?php $app = array('db' => 'db_conn_obj'); function we_db(&$app) { $app['db'] = @new mysqli('127.0.0.1', 'root', 'pass', 'mysql'); register_shutdown_function(function() use ($app) { $app['db']->close(); }); } function we_foo1() { global $app; if(!is_object($app['db'])) we_db($app); return $app['db']->query('select user,host from user where user = \'root\'')->fetch_all(); } function we_foo2() { global $app; if(!is_object($app['db'])) we_db($app); return $app['db']->query('select user,host from user')->fetch_all(); } print_r(we_foo1()); print_r(we_foo2());</code>
既然东西多了,那内存消耗必然也会增加。不过除非你配置项多到变态,否则一般都可以无视的
//从php5.6 之后const 能定义数组,而define()在php7.0之后开始支持 const FOO = [1,2,3]; define('FOO', [1,2,3]);

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
