
度々お世話になっています。
include先でのinclude元の変数の扱いについて疑問に思ったので質問させて下さい。
include元ファイルtest.php include先ファイルinclude.phpとしてtest.php内の変数をinclude.phpに渡したいと考え以下のコードを書きました。
test.php
<?php
$test = "いけるかな?";
include "include.php";
?>
include.php
<?php
echo $test;
?>
結果、$testの値を表示する事が出来なかったのですが、$testの値を表示するためにはどのような記述方法があるのでしょうか?
また、このような動作を期待している理由としてはPHP部分とHTMLを分離させたいと考えており、ユーザ定義関数に変数を引数として渡して、出力処理をユーザ定義関数内で行うという事も考えたのですが、include先に値を渡す事が出来れば、非常にわかりやすく分離出来ると考えたからです。
他に、PHP部分とHTML部分をファイル分けするやり方などありましたら教えて頂けますとうれしいです。
No.2ベストアンサー
- 回答日時:
>変数$aはインクルードされた b.inc スクリプトの中でも利用可能です。
<?php
$a = 1;
include 'b.inc';
?>
問題なさそうに見えますけど、記述ミスとかありませんか?
先頭に
ini_set('display_errors', 1);
error_reporting(E_ALL);
としたら何か表示されますか?
include は割と自由度が高いので失敗すると余計分かりにくくなりますが
ロジックと出力の分離としては基本的な設計と思います。
この構成に、View(HTML)用の値を格納する箱(オブジェクト等)を作り、
Viewはその箱の値を操作するようにする、とかやっていけば
いわゆるMVCモデリングに近づきます。
参考URL:http://jp2.php.net/include/
お返事ありがとうございます。
仰る通り、ファイルを逆に考えてテストしておりました。
お騒がせして申し訳御座いません。
いろいろ調べてみても「可能」という事なのに、自分の環境では再現出来ない(と思い込んでいた)ので何か特別な設定があるのかと勘違いしておりました。
>include は割と自由度が高いので失敗すると余計分かりにくくなりますが
身をもって体験致しました。
>この構成に、View(HTML)用の値を格納する箱(オブジェクト等)を作り、
>Viewはその箱の値を操作するようにする、とかやっていけば
>いわゆるMVCモデリングに近づきます。
オブジェクトや、MVCモデリングといった考え方は私にはまだ理解が遠いですが、今後の参考にさせて頂きます。
この度はご迷惑おかけして本当にごめんなさい。
No.1
- 回答日時:
そいつはスコープと呼ばれるものだね
http://www.php.net/manual/ja/language.variables. …
形としては
// test.php
{
$test = "いけるかな?";
{ //include.php
echo $test;
}
}
こうなってると思ったら判りやすいかな?
お騒がせして申し訳御座いません。
テスト時にファイルを逆に捕らえていたようで勘違いしていました。
質問を投稿してからいろいろ試していたのですが、上記のファイル取り違えのままテストしていたため、変数が正常に表示出来ていない状態でした。
無事表示出来る事を確認致しました。
提示して頂いた参考URL、関数を利用する場合の扱いなど今後の参考にさせて頂きます。
この度はご迷惑おかけして本当にごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP PEARパッケージのincludeが...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
.phpと.incファイルの違いはな...
-
ボタンのクリック数を合計保存...
-
*.php、*.php3、*.phtmlの違い
-
phpの処理中に画面表示ををする...
-
zip圧縮の種類について
-
php で C言語のdefineマクロの...
-
「クラス関数」「メンバ関数」...
-
error_reporting(0);にも関わら...
-
CakePHPのファイルの所有者の権...
-
PHPにて外部サイト内容が取得不...
-
phpのftp_get()でエラーが出ます。
-
ftpでアップロードが出来ない
-
PHPでサーバーにインストールさ...
-
C# Excelファイルへの画像挿入。
-
◆バックエンド処理の終了を知り...
-
PHPでfatal errorが出ても無視...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
PHPの拡張子を見せない方法
-
拡張子php画像をbmp画像等に変...
-
PHP Screw が動作しません。
-
PHPで?が消えない現象が起きます。
-
パスワード等が記述されているp...
-
特定のファイルにアクセスさせ...
-
include先でのinclude元の変数...
-
.htaccessについて
-
外部のphpファイルを読み込んで...
-
.phpのファイルを開けない!
-
batファイルの中の値をphp側に...
-
JpGraphがうまく設定できない?
-
PHPから別なPHPへ移動(?)する方法
-
phpのプログラムエラー
-
入力フォームの空白や改行を制...
-
phpとpostgreSQLで接続不可?
-
PHPでプロパティファイル読み込み
-
PHP PEARパッケージのincludeが...
-
インクルードファイルからの相...
おすすめ情報