アクセスマップ お問い合わせ
  • 強み
  • ソリューション
  • サービス
  • 制作実績
  • 採用情報
  • お知らせ
  • 会社案内
  • 強み
  • ソリューション
  • サービス
  • 制作実績
  • 採用情報
  • お知らせ
  • 会社案内
  • アクセスマップ
  • お問い合わせ

お知らせ

福岡のシステム開発は株式会社ブラテック > スタッフブログ > 関数内でのinclude
2012年 12月 18日
相川

関数内でのinclude

PHPで任意のファイルをインクルードして利用する場合、
includeやrequire文を使用します。
これらは、以下の例のように関数の中で使用することも可能です。

[php]
/*——–[func1.php]——–*/

function func1($a){
$x = 2;
return $a * $x;
}
/*——–[test1.php]——–*/

function test1(){
include ‘func1.php’;
return func1(10);
}

echo test1(); // 20
[/php]
上記のような単純な例では何も問題はありませんが、呼び出される側のスクリプトで
グローバル変数を扱っていると、少し問題が起きる場合があります。

[php]
/*——–[func2.php]——–*/

$x = 2;
function func2($a){
global $x;
return $a * $x;
}
/*——–[test2.php]——–*/

function test2(){
include ‘func2.php’;
return func2(10);
}

echo test2(); // 0
[/php]
上の例では、func2.phpで定義されている関数の外で「$x = 2」と宣言し、
func2関数の中でグローバル変数として扱っています。
ですが、このファイルが別の関数の中からincludeされている場合、
「$x = 2」の部分が呼び出し元の関数(test2)内で定義されたローカル変数となり、
グローバル変数としての$xは未定義(NULL)となります。

そのため、関数内でincludeを行う場合は、グローバル変数がどのように
使用されているかを十分に確認する必要があります。
特別な理由が無ければ、なるべく関数の外でincludeを行う方が無難です。

CONTACT

サービスに関する質問等お気軽にお問い合わせください。

093-883-6662
お問い合わせ
  • 強み
  • ソリューション
  • サービス
  • 制作実績
  • 採用情報
  • お知らせ

強み

  • 選ばれる4つの理由
  • 強み

ソリューション

  • 業務効率化を劇的に果たすWebシステム開発
  • 費用対効果の高いECサイト構築
  • ネットからの売上を伸ばすWebサイト構築
  • iPhone、Androidアプリ開発
  • Eラーニングサイト構築
  • 産学共同研究開発
  • ソーシャル・ウェブ広告 による集客サービス
  • サーバ構築・メンテナンス
  • オープンソースカスタマイズ

サービス・アプリ

  • EC-CUBEプラグイン
  • 自社リリースアプリ
  • プラグイン・モジュール開発
  • ITセミナー

お知らせ

  • 新着情報
  • スタッフブログ

会社案内

  • 会社概要
  • 社長メッセージ
  • 沿革
  • 社員紹介
  • アクセスマップ
  • 個人情報保護方針
  • ご利用規約

パートナー

  • 福岡県内のパートナー

  • アクセスマップ
  • 個人情報保護方針
  • ご利用規約
  • Copyright © 2020 BraTech