include

制御構造

概要

 状態:-  閲覧数:2,620  投稿日:2014-01-08  更新日:2014-01-15  
・同じファイルにあるかの如く、対象変数を展開実行
・共通レイアウトを読み込み、文字内容だけを変更して表示したりすることも可能
・view.php … 読み込まれる側のファイル(ビューファイル)


グローバル変数


出力処理をviewへ記述
▼index.php
$greeting = 'こんにちは 嵐 さん';
include('view.php');

▼view.php
echo $greeting;

・処理結果
こんにちは 嵐 さん

変数だけをviewへ記述
▼index.php
$name = ' 嵐 さん';
include('view.php');
echo $greeting;
echo $name;

▼view.php
$greeting = 'こんにちは';

・処理結果
こんにちは 嵐 さん

テンプレートっぽいviewの書き方
▼index.php
$name = ' 嵐 ';
include 'view.php';

▼view.php
echo "こんにちは $name さん";

・処理結果
こんにちは 嵐 さん

出力時点で、include 文で読込評価されていない変数は、 出力不可
▼index.php
$name = ' 嵐 さん';
echo $greeting;
echo $name;
include('view.php');

▼view.php
$greeting = 'こんにちは';

・処理結果
嵐 さん


変数のスコープ範囲を関数内に限定

 閲覧数:605 投稿日:2014-01-15 更新日:2014-01-15 

ローカル変数


関数内でincludeを実行することにより、変数のスコープ範囲を関数内に限定させる
・グローバル変数として扱わないやり方

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

function display(){
$name = "嵐";
include 'view.php';
}  

display();


▼view.php
echo "こんにちは $name さん";


・処理結果
こんにちは 嵐 さん


設定ファイル読込

 閲覧数:522 投稿日:2014-01-15 更新日:2014-01-19 

設定ファイル外部化


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

▼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 人
ジャニーズ事務所


クラス化

 閲覧数:490 投稿日:2014-01-16 更新日:2014-01-20 

クラス対応


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

class View {

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

}

$view = new View();
$view ->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>";


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


表示するデータは引数で渡す

 閲覧数:511 投稿日:2014-01-20 更新日:2014-01-20 

引数利用


▼index.php
//グローバル変数として読込
include("config.php");

class View {
function display($data){
 extract($data);
 include("view.php");
}
}

$view = new View();
$view ->display($data);


▼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>";


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


Twitter検索結果。「include」に関する最新ツイート

しめさば @shimesabatabero
A查开房记录查通话记录查个人信息查定位查全户查机主信息查车主信息查身份证号手机号定位 @antarctic_ua
63-ロクさん- @include_famili
63-ロクさん- @include_famili
くらむぼん@秘密基地 @kurambn
🦭=͟͟͞͞ @Colette_0529
さたみ @include_satami
🦭=͟͟͞͞ @Colette_0529
さたみ @include_satami

include_path

コメント投稿(ログインが必要)



類似度ページランキング
順位 ページタイトル抜粋
1 include_path 74
2 include require 64
3 curl 55
4 Doctrine 53
5 mixed 50
6 die() 50
7 SessionHandler::gc 48
8 Xdebug 46
9 new clone違い 44
10 http_build_query 43
11 array_reduce 42
12 Exceptionクラス 42
13 and 40
14 define と const の違い 40
15 final修飾子 40
16 json_encode関数 40
17 php-devel 38
18 unexpected T_STRING 37
19 spliceImageメソッド 36
20 register_shutdown_function 36
2023/6/02 4:50 更新
週間人気ページランキング / 5-26 → 6-1
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 30
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 13
3 PHP用語 12
3 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): failed to open stream: Permission denied in | Fatal error(エラーメッセージ) 12
4 スコープ | 変数 11
5 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 10
5 ブラウザを閉じたらセッションデータはどうなるの? | セッション 10
6 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 9
7 セッションID | セッション 8
8 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 7
9 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 5
9 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 5
9 コード例 … 「例外処理」はネストすることができる 5
10 curl | その他のサービス 4
10 型の種類 | 型 4
10 Cookie | クッキー 4
10 @ | 演算子 4
10 Warning: PDO::query(): LOAD DATA LOCAL INFILE forbidden | Warning(エラーメッセージ) 4
10 Fatal error: Call to undefined method MDB2_Error::execute() in ○○ on line △△ | Fatal error(エラーメッセージ) 4
11 Fatal error: Cannot access protected property ○○ in △△ on □□ | Fatal error(エラーメッセージ) 3
2023/6/2 1:01 更新