thinkphp を使用したことのあるユーザーは、thinkphp のモデルが自動検証、自動補完などの多くの補助機能を完了できることをご存知だと思います。今日、開発中に、セッション値
を取得し、セッション値を自動的に割り当てる機能に遭遇しました。詳細については、コードを参照してください。 ;
class ArticlelModel extends Model { protected $_auto = array ( array('addtime','time',1,'function'), array('username','getName',1,'callback') ); //这个函数获取session里的name值 protected function getName(){ return $_SESSION["name"]; } }
ここでの最後のパラメータ関数とコールバックの違いに注意する必要があります。
関数を使用すると、自動的に Common に移動します。 /common.php で対応する関数を見つけます。
callback: 現在のモデルで定義されているコールバック メソッドを使用します
セッション関数は、次の関数を含む多様な操作関数です。 。 [-more-]
セッション初期化設定
セッション メソッドの name パラメーターが配列に渡される場合、それはセッション初期化設定を意味します。例:
session(array('name'=>'session_id','expire '=>3600 ));
サポートされる受信セッションパラメータは次のとおりです:
セッション初期化設定メソッドは、通常、App クラスの初期化作業が完了した後に自動的に呼び出されます。プロジェクトでは SESSION_OPTIONS パラメーターを構成するだけで済みます。 SESSION_OPTIONS パラメーター 設定は配列であり、サポートされるインデックス名は前のセッション初期化パラメーターと同じです。
デフォルトでは、システムは初期化後にセッションを自動的に開始します。システムがセッションを自動的に開始しないようにするには、SESSION_AUTO_START を false に設定します。たとえば、次のようにします。プロジェクトのパブリック ファイルを使用するか、コントローラーでセッションを開始するには、手動で session_start または session('[start]') を呼び出します。
セッションの割り当てセッションの割り当ては比較的単純で、直接使用します:
'SESSION_AUTO_START' =>false
は以下と同等です:
session('name','value'); //设置session
セッション値
$_SESSION['name'] = 'value';
セッション削除
Session取值使用: $value = session('name'); 相当于使用: $value = $_SESSION['name'];
セッション判定
set , OK
session('?name');を使用して、nameという名前のセッション値が設定されているかどうかを判断します:
isset($_SESSION['name']);
セッション管理
セッションメソッドがサポートしています単純なセッション管理オペレーションの場合、使用法は次のとおりです:
session('[オペレーション名]');
サポートされているオペレーション名は次のとおりです:
session('[pause]') ; // セッションを一時停止します Write session('[start]') // セッションを開始します
session('[regenerate]');
ローカライズのサポート
セッション設定の初期化時に接頭辞パラメーターを渡すか、SESSION_PREFIX パラメーターを個別に設定すると、ローカライズされたセッション管理サポートを有効にすることができます。ローカライズされたセッションを開始すると、すべての割り当て、値の取得、削除、および判定の操作が自動的にローカライズされたセッションに対応します。
ローカライズされたセッションのサポートがオンになった後、生成されるセッション データ形式は元の
$_SESSION['name'] から $_SESSION['prefix']['name'] に変わります
プレフィックスが設定されていると仮定すると、考えてから値を割り当てます 操作:
session('name','value'); // session
$_SESSION['think']['name'] = 'value';
$value = session('name');
$value = $_SESSION['think']['name'];
session('name', null);
unset($_SESSION['think']['name']);
session(null);
unset($_SESSION['think' ]);
session('?name');
isset($_SESSION['think']['name']);