PHPでrequireした結果を変数に格納する方法とちょっとした小技

2013/07/20 | プログラミング

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 164 follow us in feedly

まえがき

PHPでrequireやincludeをそのまま単純に読み込むのではなく、

変数に格納したい時っていままで何度かありました。

また、読み込むファイルのPHPの実行や、変数の展開なども今回紹介するやりかたで簡単に出来ます。

今回調べてみてちょっと便利な使い方を考えたのでメモしておきます。

 

ソースコード

・index.php

<?php

$html = "";

$name = "yamada taro";
$age  = "20";
$job  = "NEET";
$data = array(
			"name" => $name,
			"age"  => $age,
			"job"  => $job
		);
$html .= get_contents("template.html", $data);


$name = "tanaka jiro";
$age  = "24";
$job  = "医者";
$data = array(
			"name" => $name,
			"age"  => $age,
			"job"  => $job
		);
$html .= get_contents("template.html", $data);

echo $html;


/**
	ファイルを取得して文字列として返す関数
*/
function get_contents($file, $data){

	// 連想配列から変数を作成
	extract($data);

	// requireした結果を変数に格納
	ob_start();
	require($file);
	$html = ob_get_contents();
	ob_end_clean();

	return $html;
}
?>

 

・template.html

はじめまして。
<?php echo $name; ?>です。
<?php echo $age; ?>歳になりました。
職業は<?php echo $job; ?>です。

 

ポイント

・requireの処理を関数化してコードをコンパクトに。

・関数化によって変数のスコープの問題があるのでarrayでまとめて送ってextract()で連想配列から変数を作成。

 

あとがき

今回のこのTipsですが

自分はWordpressのプラグインなどで使っています。

2013/07/20 | プログラミング

関連記事

Screeny Shot 2013-07-01 2.45.52.png

ニコニコ動画マイリストrssをPHPとRubyで取得してみる

まえがき ニコニコ動画のマイリストをRSSで取得できるみたいなので試...

記事を読む

250px-Mammouth.png

PHPをcoffeescriptっぽく書ける「Mammouth」を試してみたのでメモ

まえがき PHPのコードをcoffeescriptライクにかけるnod...

記事を読む

YAMLをRuby,Python,PHPで使ってみた

まえがき 『YAML』Rubyなんかをやってるとよく見る拡張子・書き...

記事を読む

Screeny Shot 2013-07-20 17.51.43.png

【WordPressプラグイン】ニコニコのマイリスト内の動画を一覧表示する

まえがき ニコニコ動画のマイリストに登録してある動画を一覧で表示するプ...

記事を読む

converted.png

cakephpでコントローラー毎にBASIC認証をかけるの巻

まえかき まえがきとしてはタイトルどおりなのですが、 先日cakeph...

記事を読む

新着記事

no image

PHPでRubyのirbっぽいインタラクティブなスクリプトが実行できる「boris」

まえがき PHPでもRubyのirbみたいなことがしたくて探してみたと...

記事を読む

2015年の抱負と去年の振り返り〜よちよちWEB業界1年経験して〜

まえがき あけましておめでとうございます。今年もどうぞよろしくお願いし...

記事を読む

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

スポンサーリンク

PAGE TOP ↑