Heim  >  Artikel  >  php教程  >  Ein kurzes Tutorial, wie Sie thinkphp die Sitzungszuweisung im Modell automatisch abschließen lassen

Ein kurzes Tutorial, wie Sie thinkphp die Sitzungszuweisung im Modell automatisch abschließen lassen

高洛峰
高洛峰Original
2016-12-22 10:34:391136Durchsuche

Ich glaube, dass Benutzer, die thinkphp verwendet haben, wissen, dass das thinkphp-Modell viele Hilfsfunktionen wie automatische Überprüfung, automatische Vervollständigung usw. ausführen kann. Heute während der Entwicklung bin ich auf die Notwendigkeit gestoßen, den Sitzungswert zu erhalten

und weisen Sie dann den Wert automatisch während der automatischen Vervollständigung zu. Weitere Informationen finden Sie im Code.

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"];
  }
}
Hier müssen Sie auf den Unterschied zwischen der letzten Parameterfunktion achten und Rückruf;

Funktion: Bei Verwendung der Funktion wird automatisch zu Common/common.php gewechselt. Um die entsprechende Funktion zu finden

Rückruf: Verwenden Sie die im aktuellen Modell definierte Rückrufmethode



Die Sitzungsfunktion ist eine diversifizierte Operationsfunktion, die mit verschiedenen Parametern aufgerufen werden kann, einschließlich einiger der folgenden Funktionen. [-more-]Ein kurzes Tutorial, wie Sie thinkphp die Sitzungszuweisung im Modell automatisch abschließen lassenSitzungsinitialisierungseinstellungen

Wenn der Namensparameter der Sitzungsmethode an ein Array übergeben wird, bedeutet dies Sitzungsinitialisierungseinstellungen, zum Beispiel:

session(array('name'=> 'session_id', 'expire'=>3600));

Zu den unterstützten Parametern für eingehende Sitzungen gehören:

Die Einstellungsmethode für die Sitzungsinitialisierung muss nicht sein Wird manuell in der App-Klasse aufgerufen. Nach Abschluss der Initialisierungsarbeiten muss das Projekt nur den Parameter SESSION_OPTIONS konfigurieren. Die unterstützten Indexnamen sind die gleichen Sitzungsinitialisierungsparameter. Ein kurzes Tutorial, wie Sie thinkphp die Sitzungszuweisung im Modell automatisch abschließen lassen

Standardmäßig startet das System die Sitzung automatisch nach der Initialisierung. Wenn Sie nicht möchten, dass das System die Sitzung automatisch startet, können Sie SESSION_AUTO_START auf false setzen, zum Beispiel:

'SESSION_AUTO_START' =>false
Nachdem Sie den automatischen Start deaktiviert haben, können Sie die Sitzung in der öffentlichen Datei des Projekts oder durch manuellen Aufruf von session_start oder session('[start]') im Controller starten.

Sitzungszuweisung

Die Sitzungszuweisung ist relativ einfach, verwenden Sie sie direkt:



session('name','value'); //设置session
entspricht:

$_SESSION['name'] = 'value';
Sitzungswert

Sitzungslöschung

Session取值使用:
$value = session('name');
 
相当于使用:
$value = $_SESSION['name'];

Sitzungsbeurteilung

session('name',null); // 删除name
 
相当于:
unset($_SESSION['name']);
 
要删除所有的session,可以使用:
session(null); // 清空当前的session
 
相当于:
$_SESSION = array();
Um zu beurteilen, ob ein Sitzungswert festgelegt wurde, können Sie

session( '?name' );

Wird verwendet, um zu bestimmen, ob der Sitzungswert namens name festgelegt wurde
Entspricht:

isset($_SESSION['name']);


Sitzungsverwaltung
Die Sitzungsmethode unterstützt einige einfache Sitzungsverwaltungsvorgänge. Die Verwendung ist wie folgt:

session('[Operationsname]');


Unterstützte Vorgangsnamen umfassen:

Verwendungsbeispiele sind wie folgt: Ein kurzes Tutorial, wie Sie thinkphp die Sitzungszuweisung im Modell automatisch abschließen lassensession('[pause]'); // Sitzungsschreiben anhalten

session('[start]'); 🎜>session('[destroy ]'); // Sitzung zerstören

session('[regenerate]'); // Sitzungs-ID neu generieren



Lokalisierungsunterstützung


Wenn Sie beim Initialisieren der Sitzungseinstellungen den Präfixparameter übergeben oder den Parameter SESSION_PREFIX separat festlegen, können Sie die Unterstützung der lokalisierten Sitzungsverwaltung aktivieren. Nach dem Starten der lokalisierten Sitzung unterstützen alle Zuweisungs-, Werterfassungs-, Lösch- und Beurteilungsvorgänge automatisch die lokalisierte Sitzung.


Nachdem die lokalisierte Sitzungsunterstützung aktiviert wurde, ändert sich das generierte Sitzungsdatenformat vom ursprünglichen

$_SESSION['name'] in $_SESSION['prefix']['name']

Angenommen, das Präfix ist auf „denken“ eingestellt, lautet die Zuweisungsoperation:

session('name','value'); //Setting session

entspricht:

$_SESSION['think' ]['name'] = 'value';

Wertoperation:

$value = session('name');

entspricht der Verwendung :

$value = $_SESSION['think']['name'];

Löschvorgang:

session('name',null);

Entspricht:

unset($_SESSION ['think']['name']);

Löschvorgang:

session(null);

Entspricht:

unset( $_SESSION['think'] );

Beurteilungsoperation:

session('?name');

Entspricht:

isset($_SESSION['think'] ['name']);

Weitere verwandte Artikel darüber, wie Sie thinkphp die Sitzungszuweisung im Modell automatisch abschließen lassen, finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn