質問: よろしくお願いいたします。 PHPリファレンス内で名前空間を学んでいるときに出てきた定義済み関数でsession_start()というものがありました。 以下のページにてなんのために使用されているのか不明だったので、ご質問させていただけますと幸いです。 https://www.php.net/manual/ja/language.namespaces.definitionmultiple.php こちらでnamespaceを同ファイル内で使用し、 固有名namespaceが無いグローバルエリアでnamespace{}書き出しの後に すぐsession_start()を行なっております。 session_startの説明を見ると session_start — 新しいセッションを開始、あるいは既存のセッションを再開する とありましたが、セッションとはなんなのでしょうか。 他の説明で session_start() は、セッションを作成します。 もしくは、リクエスト上で GET, POST またはクッキーにより渡されたセッション ID に基づき現在のセッションを復帰します。 とありましたが、webページなどにアクセスした際に生成されるクッキーデータのような 再度ページに来訪した際に前回のアクセス元と紐付けができるようにする仕組みと同じようなものなのでしょうか。 ただ、どのような場合に有効なものなのかまるで見当がつきません。 アドバイスなどいただけますと幸いです。
回答: webシステムは基本的に一問一答となります。 その前後でどんなやりとりがあったのかは感知できません。 その制限に対応するためにいくつかの方法があるのですが セッションという考え方もその一つです。 サーバー側ではセッションIDをキーにセッションとして 指定された情報をファイルに保存します。 別のページにいっても、セッションIDさえわかれば 保存されたものから参照が可能となります。 それらを実現するためのものが session_start() をはじめとする機能です。 $_POST や $_GET と同じように $_SESSION を使います。 ちなみに、名前空間とは密接な関係は無いように思います。