電子書籍の厳選無料作品が豊富!

プログラム初心者です

require_onceでほかのphpを読み込んで使いたいです

hoge.php
メインのファイル

temp.php
テンプレファイル(呼び出されるファイル)

db.php
DB接続だけのファイル(呼び出されるファイル)

hoge.phpにtemp.phpをrequire_onceで読み込みます

質問1
hoge.phpにsession_start();がある場合、temp.phpにsession_start();がなくても、temp.phpの中でsession変数は使えますか?

質問2
hoge.phpにrequire_once('db.php');がある場合、temp.phpの中にrequire_once('db.php');を書かなくても、temp.phpの中でdbに接続できますか?

質問3
hoge.phpの中の変数を読み込んだtemp.phpの中で使えますか?
また、その逆もできますか?

よろしくお願いします

A 回答 (4件)

>> requireを使うとrequire_onceより転送量が増えるのでしょうか?



そんなことはありませんし、転送量の問題ではないです。
ループ中でソースコードを2回以上読み込む必要が出てきたとき、例えば

for ($i = 0; $i < 10; $i++) {
 echo '<li>';
 require_once('list_item.php');
 echo '</li>';
}

のようなケース。
このとき1回目の読み込みしか実行されません。

2回読み込むとマズいもの → require_once
そうでないもの → require

という使い分けでいいんじゃないでしょうか?
そもそもrequire_onceの「同じものを読み込もうとしても2回目以降はキャンセルする」機能に依存するコーディング自体よろしくないとは思いますが。
    • good
    • 0
この回答へのお礼

理解できました
回答ありがとうございました

お礼日時:2013/10/05 14:12

なお、個人的には



「ここにHTMLを表示する」という意味合いではrequire
「ライブラリを読み込む」という意味合いではrequire_once

を使ったほうが望ましいようには思えます。
    • good
    • 0
この回答へのお礼

もうひとつお聞きしたいのですが
require_onceを使うとrequireより負荷が少し多いのはお聞きしましたが
requireを使うとrequire_onceより転送量が増えるのでしょうか?

お礼日時:2013/10/05 12:48

回答1 はい


回答2 はい
回答3 はい
    • good
    • 0
この回答へのお礼

回答ありがとうございます
安心しました

お礼日時:2013/10/05 12:40

どの質問も、実際にファイルを作って確認・検証できるはず。


それをしないのはただの怠慢。
    • good
    • 0
この回答へのお礼

検証はしましたが、「なんとなくできちゃった」はいままで指摘されるとこがよくあったのでお聞きしました

お礼日時:2013/10/05 12:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!