設定ファイル読込

PHP用語集

カテゴリー: 制御構造  閲覧数:957 配信日:2014-01-15 19:39


設定ファイル外部化


・新たに設定ファイルを用意
・変数は配列へ格納するよう変更

▼index.php
$name = "スマップ"; //グローバル変数は関係ない

function display(){
include("config.php");
include("view.php");
}

display();


▼config.php … 設定ファイル
$data = array(); 
$data["name"] = "嵐";
$data["sex"] = "男性";
$data["number"] = "5";
$data["agency"] = "ジャニーズ事務所";


▼view.php … ビュー 
・ 配列へ格納すると、ビューで展開する際、ちょっと面倒
echo "こんにちは ". $data["name"]." さん<br>";
echo $data["sex"]."<br>";
echo $data["number"]." 人<br>";
echo $data["agency"]."<br><br>";


・処理結果
こんにちは 嵐 さん
男性
5 人
ジャニーズ事務所


extract


extract 配列関数を利用
・引数に指定した連想配列$dataのキーを変数名、値を変数の値として、変数を作成
・配列を変数に展開してくれるため、view記述が簡潔になる(配列を使わなくても良くなる)

▼index.php
$name = "スマップ"; //グローバル変数は関係ない

function display(){
include("config.php");
extract($data); //引数に指定した連想配列$dataのキーを変数名、値を変数の値として、変数を作成
include("view.php");
}

display();


▼config.php … 設定ファイル
$data = array(); 
$data["name"] = "嵐";
$data["sex"] = "男性";
$data["number"] = "5";
$data["agency"] = "ジャニーズ事務所";


▼view.php … ビュー 
echo "こんにちは $name さん<br>";
echo "$sex<br>";
echo "$number 人<br>";
echo "$agency<br><br>";


・処理結果
こんにちは 嵐 さん
男性
5 人
ジャニーズ事務所


週間人気ページランキング / 11-4 → 11-10
順位 ページタイトル抜粋 アクセス数
1 PHP用語 13
2 エラーログ確認 5
3 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 4
4 SQLインジェクション | セキュリティ 3
4 static修飾子 | クラスとオブジェクト 3
4 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 3
4 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens | Fatal error(エラーメッセージ) 3
4 ログイン 3
4 エラーメッセージ / エラー原因 / エラー対応 3
5 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'データベースユーザー名'@'localhost' (using password: YES)' | phpMyAdmin(データベース関連) 2
5 実際に遭遇した例2 2
5 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 23 Out of resources when opening file '/tmp/#sql_2dd6_0.MYI' (Errcode: 24)' | エラーメッセージ 2
5 セッションのガベージコレクション (ごみの収集)はなぜ必要なの? 2
5 or(||) | 演算子 2
5 Parse error: syntax error, unexpected T_DOUBLE_ARROW in △△ on line □□ | Parse error(エラーメッセージ) 2
5 デバッグ カテゴリー 2
5 文字を表現するメタキャラクタ 2
5 コード例 … 「例外処理」はネストすることができる 2
5 HTTP_VIA | 環境変数 2
5 isset | 関数 2
2026/11/11 5:05 更新
指定期間人気ページランキング / 2020-5-28 → 2026-11-10
順位 ページタイトル抜粋 アクセス数
1 PHP用語 7508
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 2568
3 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 2529
4 ブラウザを閉じたらセッションデータはどうなるの? | セッション 1734
5 【テスト投稿】テスト | 1133
6 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 1092
7 PHPで定数を定義する方法は2種類ある / 配列定数の定義 1081
8 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 919
9 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 889
10 コード例 … 「例外処理」はネストすることができる 878
11 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 874
12 curl で Cookie を使用する 873
13 定数 761
14 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): failed to open stream: Permission denied in | Fatal error(エラーメッセージ) 758
15 インターフェイス | クラスとオブジェクト 711
16 Fatal error: Uncaught HeadlessChromium\Exception\OperationTimedOut: Operation timed out (3sec) in | Fatal error(エラーメッセージ) 702
17 メンバー | クラスとオブジェクト 653
18 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 652
19 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column | Fatal error(エラーメッセージ) 618
20 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 615
2026/11/11 5:05 更新