Zend Framework の紹介

 Learning Zend Framework

appendix

 Zend Framework リファレンス


  • 第36章 Zend_Gdata
  • 第37章 Zend_Http
  • 第38章 Zend_InfoCard
  • 第39章 Zend_Json
  • 第40章 Zend_Layout
  • 第41章 Zend_Ldap
  • 第42章 Zend_Loader
  • 第43章 Zend_Locale
  • 第44章 Zend_Log
  • 第45章 Zend_Mail
  • 第46章 Zend_Markup
  • 第47章 Zend_Measure
  • 第48章 Zend_Memory
  • 第49章 Zend_Mime
  • 第50章 Zend_Navigation
  • 第51章 Zend_Oauth
  • 第52章 Zend_OpenId
  • 第53章 Zend_Paginator
  • 第54章 Zend_Pdf
  • 第55章 Zend_ProgressBar
  • 第56章 Zend_Queue
  • 第57章 Zend_Reflection
  • 第58章 Zend_Registry
  • 第59章 Zend_Rest

  • 第60章 Zend_Search_Lucene
  • 第61章 Zend_Serializer
  • 第62章 Zend_Server
  • 第63章 Zend_Service
  • 第64章 Zend_Session
  • 第65章 Zend_Soap
  • 第66章 Zend_Tag
  • 第67章 Zend_Test
  • 第68章 Zend_Text
  • 第69章 Zend_TimeSync
  • 第70章 Zend_Tool
  • 第71章 Zend_Tool_Framework
  • 第72章 Zend_Tool_Project
  • 第73章 Zend_Translate
  • 第74章 Zend_Uri
  • 第75章 Zend_Validate
  • 第76章 Zend_Version
  • 第77章 Zend_View
  • 第78章 Zend_Wildfire
  • 第79章 Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 70.6% Update 2010-11-28 - Revision 23415

    第64章 Zend_Session

    64.1. 導入

    Zend Framework Auth team は皆さんのフィードバックや協力をお待ちしています。 メーリングリストは fw-auth@lists.zend.com です。

    PHP で書かれたウェブアプリケーションでは、セッション を使用してサーバ側 (状態を保持するデータ) とクライアント側 (特定のユーザエージェント。たとえばウェブブラウザ) の論理的な一対一の関係を表します。 Zend_Session はセッションデータの管理と保持を行い、クッキーのデータを論理的に補完し、 同一クライアントからの複数ページにわたるリクエストを扱います。 クッキーのデータと異なり、セッションデータはクライアント側には保存されません。 セッションデータがクライアントと共有されるのは、 サーバ側のソースコードの脆弱性のために クライアントからのリクエストへの応答として使用できるようになった場合のみです。 このコンポーネントのドキュメントにおいて「セッションデータ」という用語は、 $_SESSION に保存されたり Zend_Session で管理されたり、 独立して Zend_Session_Namespace のアクセス用オブジェクトで管理されたりする サーバ側のデータをさすものとします。 セッション名前空間 により、セッションデータに対して昔ながらの 名前空間 を使用したアクセスが可能となります。 これは、文字列をキーとした連想配列形式で実装されています。 (通常の PHP の配列と同じです)。

    Zend_Session_Namespace のインスタンスは、$_SESSION の一部を切り取って名前空間つきでアクセスするためのオブジェクトとなります。 Zend_Session コンポーネントは、PHP の既存の ext/session をラップして管理用インターフェイスを提供します。また、 Zend_Session_Namespace のセッション名前空間を持続させるための API も提供します。 Zend_Session_Namespace は、標準化されたオブジェクト指向のインターフェイスで 名前空間を扱います。これは、PHP 標準のセッションの仕組みを使用しています。 匿名セッションおよび認証済み ("ログイン") セッション名前空間の両方をサポートしています。 Zend Framework の認証コンポーネントである Zend_Auth は、 Zend_Session_Namespace を使用して "Zend_Auth" 名前空間に認証済みユーザの情報を保存します。 Zend_Session_Core が内部で使用しているのは通常の PHP ext/session 関数なので、おなじみのオプションや設定が適用されます (http://www.php.net/session を参照ください)。これは、オブジェクト指向で扱えたりデフォルトをサポートしていたりという点で Zend Framework とうまく組み合わせることができます。 したがって、クッキーに記録したり URL に埋め込まれたりする 標準のセッション ID を用いて、クライアントとセッション状態データの関連付けが行われます。

    デフォルトの セッション保存ハンドラ は、クラスタ構成のサーバではセッションデータの関連性を保持できないことがあります。 セッションデータは、リクエストに応答したサーバ上に保存されるからです。 セッションデータがある場所とは別のサーバでリクエストが処理された場合は、 そのサーバからセッションデータにアクセスすることができません (ネットワークファイルシステムなどでアクセス可能になっている場合は別です)。 このような場合に対応できるような保存ハンドラを将来提供する予定です。 使用できるようになった時点でここで説明します。 保存ハンドラの案を出したり実際に作成したりした場合は、メーリングリスト fw-auth@lists.zend.com にお知らせください。 Zend_Db 互換の保存ハンドラは、このメーリングリストに投稿されます。

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...