度々お世話になっています。
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へ移動(?)する方法
-
こちらはただの直列処理ですか?
-
phpのソースコードが、そのまま...
-
URLをたたく賢い方法
-
URLパラメータの読み違え方、ph...
-
exec()にで別PHPをバックグラウ...
-
別PHPファイルに変数を渡す
-
phpスクリプトの書かれているフ...
-
1つのファイルにrequireを何度...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
CSV出力にHTMLが入ってしまう
-
3つ以上の論理積は利用可能なの...
-
<A href ~ と一緒に値を渡すには
-
form actionで二つ送信先を指定...
-
FTPコマンドでディレクトリごと...
-
セッションファイルの場所
-
【file_exists】ファイルが存在...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
MySQLの配置が変わったため、db...
-
入力フォームの空白や改行を制...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpのソースコードが、そのまま...
-
include先でのinclude元の変数...
-
phpinfo.phpを開くとファイルの...
-
拡張子php画像をbmp画像等に変...
-
PHPから別なPHPへ移動(?)する方法
-
PerlからPHPの呼び出しについて
-
1行目の#! "C:\\xampp\\php\\p...
-
ローカルでは動くがサーバーで...
-
PHPの拡張子を見せない方法
-
パスワード等が記述されているp...
-
#!/usr/local/bin/phpはどこに...
-
.htaccessの設定で,auto_prepe...
-
PHP(.php)及びJavascrpit(.j...
-
.phpのファイルを開けない!
-
拡張子なしのファイルを稼働さ...
おすすめ情報