グローバル変数のデータ保持範囲を正しく知りたい
グローバル変数のデータ保持範囲について教えてください。
※PHP・Laravel初学者です。既存のシステムのお世話を担当することになり、この4月からコーディングを見ながら勉強しています。WEB系が初めてなので、まだ感覚もつかめていない状態です。
お世話になります。
スコープの概念はVBやVBA系で一応把握しているつもりです。
Laravelの構成も基本的に
route→Controller→Service(Model)→View
という流れで構成されていることも一応理解できたと思っています。
VBAを例に出すと
・Public宣言→同じModule内だけでなく外でも参照可
・Private宣言同じModule内のみ参照可
・Dim→プロシージャ内のみ参照可(PHPでいうところのローカル変数)
という形になると思いますが、PHP?Laravel?ではローカル変数以外のデータの持たせ方がまだ感覚的につかめていません。
VBAのように変数の宣言があるわけでもなく(PHPの場合、最初に値を入れるところを宣言というのでしょうか?)読んでいる既存のシステムのあらゆるところに $dataや$refなどあいまいな名称の変数が出てくるので、果たしてこれは同じ変数を表しているのか、それともスコープ違いの別変数なのか、というところを正しく認識できたらと思っています。
例えば TOP画面をHOMEとして
Home→ProjectA→ProjectA-A
Home→ProjectB→ProjectB-B
というリンクのあるWEBページがあり、どちらのProjectも同じトップ画面から遷移できるとします。
最初にProjectAのControllerで定義した変数$data にDBからの返却値を連想配列にしておくとします。
その後Homeに戻りProjectBのページを参照した場合、先の変数$dataの値は参照できると思ってもよいでしょうか?
よろしくお願いいたします。