度々お世話になっています。
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが // 3 2023/05/02 11:24
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- C言語・C++・C# win10で、正確な待ち時間の作り方 6 2023/02/14 18:28
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力フォームの空白や改行を制...
-
別ファイルの変数を呼び出した...
-
phpのソースコードが、そのまま...
-
拡張子php画像をbmp画像等に変...
-
シェルスクリプトからphpファイ...
-
パスワード等が記述されているp...
-
MySQLの配置が変わったため、db...
-
phpinfo.phpを開くとファイルの...
-
拡張子なしのファイルを稼働さ...
-
phpでPEAR::DBを使っているので...
-
onedrive にexcelファイルをア...
-
index.phpって何ですか? 具体...
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
トランザクションが原因?DBに...
-
エックスサーバーでのmysql設定...
-
パースエラーとは?
-
フォントの色を変えるには?
-
ImageCreate関数が undefined f...
-
php5-extensions を make でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpのソースコードが、そのまま...
-
MySQLの配置が変わったため、db...
-
入力フォームの空白や改行を制...
-
DreamweaverMX2004で挿入するFl...
-
include先でのinclude元の変数...
-
.phpのファイルを開けない!
-
拡張子なしのファイルを稼働さ...
-
他人にphpファイルをダウンロー...
-
phpinfo.phpを開くとファイルの...
-
ファイルのダウンロードが始ま...
-
#!/usr/local/bin/phpはどこに...
-
PHPファイルを.html拡張子で動...
-
拡張子php画像をbmp画像等に変...
-
Javascriptで解凍のコマンドは...
-
crontabでPHPスクリプトが実行...
-
PHPから別なPHPへ移動(?)する方法
-
連続投稿対策
おすすめ情報