thinkphp がモデル内のセッション割り当てを自動的に完了する方法に関する短いチュートリアル

高洛峰
リリース: 2016-12-22 10:34:39
オリジナル
1136 人が閲覧しました

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: 現在のモデルで定義されているコールバック メソッドを使用します

thinkphp がモデル内のセッション割り当てを自動的に完了する方法に関する短いチュートリアル

セッション関数は、次の関数を含む多様な操作関数です。 。 [-more-]
セッション初期化設定
セッション メソッドの name パラメーターが配列に渡される場合、それはセッション初期化設定を意味します。例:
session(array('name'=>'session_id','expire '=>3600 ));

サポートされる受信セッションパラメータは次のとおりです:

thinkphp がモデル内のセッション割り当てを自動的に完了する方法に関する短いチュートリアル

セッション初期化設定メソッドは、通常、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 thinkphp がモデル内のセッション割り当てを自動的に完了する方法に関する短いチュートリアル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']);

thinkphp を自動的に実行させる方法に関するその他の関連記事モデル内のセッションの割り当てを完了してください。PHP の中国語 Web サイトに注意してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート