リンカーで、同じコード空間にプロシージャーを集めて結合する言語とは違い、スクリプトはファイルのスクリプトソース単位で読み込んで翻訳しながらスクリプトのコード空間で実行していくために、
他のファイルの関数などを実行するという概念が無い。
つまり、必要な機能は関数化した場合、同じファイル内に置くか、インクルード、あるいはリクワイアという機能でそのファイルの中に読み込むしかない。
そこでファイル単位で処理を記述している場合、他のファイルに実行ポインタを切り替え対場合どうするかだが・・・
実行をコントロールしているブラウザにあらためてファイルを読み直してもらうしか無いと思われる。
そこでブラウザにリダイレクトの命令を出すと良いことになる。
PHPの場合、header()が便利なのでこれを使う
こんな感じ:
hogehoge.phpに実行を映したい場合
header("Location: hogehoge.php");
で切り替える。
システム系の言語であれば、こんな方法はスタックなどが心配で良いコードとは言えないが、スクリプトの場合、メモリ管理がしっかりしているので、大丈夫なのかもしれない。
includeによる方法なら、同じページ空間になるので安全なのかもしれないが・・
ロケーションや、HTMLファイルの切り替えならheader()しかない。
猫
2013-05-19 13:00
nice!(0)
コメント(0)
トラックバック(0)
[編集]
コメント 0