Usage analysis of session method in thinkphp3.x
The example in this article describes the usage of the session method in thinkphp3.x. Share it with everyone for your reference, the details are as follows:
1. The Session method is used for Session setting, acquisition, deletion and management operations. Session is used for Session setting, retrieval, deletion and management operations
Usage session($name, $value='')
Parameter name (required): If an array is passed in, it means session initialization, if null is passed in it means clearing The current session, if it is a string, it means session assignment, acquisition or operation.
Value (optional): The session value to be set. If null is passed in, it means deleting the session. The default is an empty string.
The return value returns different values according to the specific usage.
The session function is a diversified operation function. Passing in different parameters can complete different functional operations, including the following functions.
2. Session initialization setting
If the name parameter of the session method is passed into the array, it means session initialization setting, for example:
session(array('name'=>'session_id','expire'=>3600));
Supported incoming session parameters include:
id session_id value
name session_name Value
path session_save_path value
prefix session localized space prefix
expire session.gc_maxlifetime setting value
domain session.cookie_domain setting value
use_cookies session.use_cookies setting value
use_trans_sid session.use_trans_sid setting value
cache_limiter session_cache_limiter setting value
cache_expire session_cache_expire setting value
type session hander type, you can use the handler driver extension
Session initialization setting method does not need to be called manually. It will be called automatically after the initialization of the App class. Usually the project only needs to configure the SESSION_OPTIONS parameter. The setting of the SESSION_OPTIONS parameter is an array. , the supported index names are the same as the previous session initialization parameters.
By default, the system will automatically start the session after initialization. If you do not want the system to automatically start the session, you can set SESSION_AUTO_START to false, for example:
'SESSION_AUTO_START' =>false
After turning off automatic startup, you can use the project’s public files or control Start the session by manually calling session_start or session('[start]') in the server.
3. Session assignment
Session assignment is relatively simple, use it directly:
session('name','value'); //设置session
is equivalent to:
$_SESSION['name'] = 'value';
4. Session value
Session value use:
$value = session('name');
Equivalent to:
$value = $_SESSION['name'];
5. Session deletion
session('name',null); // 删除name
Equivalent to:
unset($_SESSION['name']);
To delete all sessions, you can use:
session(null); // 清空当前的session
Equivalent to:
$_SESSION = array();
6. Session judgment
To judge whether a session value has been set, you can use
session('?name');
is used to judge whether the session value named name has been set
is equivalent to :
isset($_SESSION['name']);
7. Session management
The session method supports some simple session management operations, the usage is as follows:
session('[操作名]');
Supported operation names include:
start start session
pause session write Enter
destroy to destroy the session
regenerate to regenerate the session id
Usage examples are as follows:
session('[pause]'); // 暂停session写入 session('[start]'); // 启动session session('[destroy]'); // 销毁session session('[regenerate]'); // 重新生成session id
8. Localization support
If the prefix parameter is passed in when initializing the session settings or the SESSION_PREFIX parameter is set separately, You can enable localized session management support. After starting the localized session, all assignment, value acquisition, deletion and judgment operations will automatically support the localized session.
After localized session support is turned on, the generated session data format changes from the original $_SESSION['name'] to $_SESSION['prefix']['name']
Assuming the prefix is set to think, then
assignment operation :
session('name','value'); //设置session
Equivalent to:
$_SESSION['think']['name'] = 'value';
Value operation:
$value = session('name');
Equivalent to:
$value = $_SESSION['think']['name'];
Delete operation:
session('name',null);
Equivalent to:
unset($_SESSION['think']['name']);
Clear operation:
session(null);
Equivalent to:
unset($_SESSION['think']);
Judgment operation:
session('?name');
is equivalent to:
isset($_SESSION['think']['name']);
I hope that what this article describes will be helpful to everyone’s PHP programming based on the ThinkPHP framework.
For more articles related to the usage analysis of the session method in thinkphp3.x, please pay attention to the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The problem was found in the springboot project production session-out timeout. The problem is described below: In the test environment, the session-out was configured by changing the application.yaml. After setting different times to verify that the session-out configuration took effect, the expiration time was directly set to 8 hours for release. Arrived in production environment. However, I received feedback from customers at noon that the project expiration time was set to be short. If no operation is performed for half an hour, the session will expire and require repeated logins. Solve the problem of handling the development environment: the springboot project has built-in Tomcat, so the session-out configured in application.yaml in the project is effective. Production environment: Production environment release is

Session failure is usually caused by the session lifetime expiration or server shutdown. The solutions: 1. Extend the lifetime of the session; 2. Use persistent storage; 3. Use cookies; 4. Update the session asynchronously; 5. Use session management middleware.

Solution to the cross-domain problem of PHPSession In the development of front-end and back-end separation, cross-domain requests have become the norm. When dealing with cross-domain issues, we usually involve the use and management of sessions. However, due to browser origin policy restrictions, sessions cannot be shared by default across domains. In order to solve this problem, we need to use some techniques and methods to achieve cross-domain sharing of sessions. 1. The most common use of cookies to share sessions across domains

Solution to the problem that the php session disappears after refreshing: 1. Open the session through "session_start();"; 2. Write all public configurations in a php file; 3. The variable name cannot be the same as the array subscript; 4. In Just check the storage path of the session data in phpinfo and check whether the sessio in the file directory is saved successfully.

The default expiration time of session PHP is 1440 seconds, which is 24 minutes, which means that if the client does not refresh for more than 24 minutes, the current session will expire; if the user closes the browser, the session will end and the Session will no longer exist.

Problem: Today, we encountered a setting timeout problem in our project, and changes to SpringBoot2’s application.properties never took effect. Solution: The server.* properties are used to control the embedded container used by SpringBoot. SpringBoot will create an instance of the servlet container using one of the ServletWebServerFactory instances. These classes use server.* properties to configure the controlled servlet container (tomcat, jetty, etc.). When the application is deployed as a war file to a Tomcat instance, the server.* properties do not apply. They do not apply,

When you are using a PHP session (Session), sometimes you will find that the Session can be read normally in one file, but cannot be read in another file. This may confuse you since session data is supposed to be shared across the entire application. This article will explain how to correctly read and write PHP session data in multiple files.

1. Implementing SMS login based on session 1.1 SMS login flow chart 1.2 Implementing sending SMS verification code Front-end request description: Description of request method POST request path /user/code request parameter phone (phone number) return value No back-end interface implementation: @Slf4j@ ServicepublicclassUserServiceImplextendsServiceImplimplementsIUserService{@OverridepublicResultsendCode(Stringphone,HttpSessionsession){//1. Verify mobile phone number if
