ארטיקלען

וואָס זענען סעשאַנז אין Laravel, קאַנפיגיעריישאַן און נוצן מיט ביישפילן

Laravel סעשאַנז לאָזן איר צו קראָם אינפֿאָרמאַציע און וועקסל עס צווישן ריקוועס אין דיין וועב אַפּלאַקיישאַן. 

זיי זענען אַן גרינג וועג צו אָנהאַלטן דאַטן פֿאַר די קראַנט באַניצער. דער טוטאָריאַל וועט געבן איר די באַסיקס פון ארבעטן מיט סעשאַנז אין Laravel.

וואָס איז Laravel סעסיע

אין לאַראַוועל, אַ סעסיע איז אַ וועג צו קראָם אינפֿאָרמאַציע, צו ריכטיק שעפּן ריקוועס געמאכט דורך אַ באַניצער. ווען אַ באַניצער סטאַרץ אַ לאַראַוועל אַפּלאַקיישאַן, אַ סעסיע איז אויטאָמאַטיש סטאַרטעד פֿאַר דעם באַניצער. סעסיע דאַטן זענען סטאָרד אויף די סערווער און אַ קליין קיכל מיט אַ יינציק ידענטיפיער איז געשיקט צו דער באַניצער 'ס בלעטערער צו ידענטיפיצירן די סעסיע.

איר קענען נוצן סעסיע צו קראָם דאַטן וואָס איר ווילן צו נוצן אויף קייפל בלעטער אָדער ריקוועס. פֿאַר בייַשפּיל, איר קען נוצן די סעסיע פֿאַר באַניצער אָטענטאַקיישאַן אָדער קראָם אנדערע אינפֿאָרמאַציע וואָס איר ווילן צו נוצן בעשאַס די סעסיע אויף דיין אַפּלאַקיישאַן.

סעסיע קאַנפיגיעריישאַן אין לאַראַוועל

צו נוצן סעשאַנז אין Laravel, איר מוזן ערשטער געבן זיי אין דער טעקע config/session.php פון קאַנפיגיעריישאַן. אין דעם טעקע עס איז מעגלעך צו שטעלן קאַנפיגיעריישאַן פּאַראַמעטערס שייַכות צו סעשאַנז. פֿאַר בייַשפּיל די געדויער פון די סעסיע, דער שאָפער צו נוצן פֿאַר סטאָרינג די סעסיע דאַטן און די סטאָרידזש אָרט פֿאַר די סעסיע דאַטן. 

דער טעקע האט די פאלגענדע קאַנפיגיעריישאַן אָפּציעס:
  • שאָפער: ספּעסיפיעס די פּרי סעסיע שאָפערdefiגרייט צו נוצן. לאַראַוועל שטיצט עטלעכע סעסיע דריווערס: טעקע, קיכל, דאַטאַבייס, אַפּק, מעמקאַטשעד, רעדיס, דינאַמאָדב און מענגע;
  • לעבן: ספּעציפיצירט די נומער פון מינוט אין וואָס די סעסיע מוזן זיין געהאלטן גילטיק;
  • expire_on_close: אויב באַשטימט צו אמת, די סעסיע וועט ויסגיין ווען דער באַניצער ס בלעטערער איז פארמאכט;
  • ענקריפּט: אמת מיטל אַז די פריימווערק וועט ענקריפּט סעסיע דאַטן איידער עס איז סטאָרד;
  • טעקעס: אויב דער טעקע סעסיע שאָפער איז געניצט, דעם אָפּציע ספּעציפיצירט די טעקע סטאָרידזש אָרט;
  • שייַכעס: אויב די דאַטאַבייס סעסיע שאָפער איז געניצט, דעם אָפּציע ספּעציפיצירט די דאַטאַבייס קשר צו נוצן;
  • טיש: אויב די דאַטאַבייס סעסיע שאָפער איז געניצט, דעם אָפּציע ספּעציפיצירט די דאַטאַבייס טיש צו נוצן צו קראָם סעסיע דאַטן;
  • לאָטעריע: אַ מענגע פון ​​וואַלועס געניצט צו ראַנדאַמלי סעלעקטירן אַ סעסיע שייַן קיכל ווערט;
  • קיכל: דער אָפּציע ספּעציפיצירט די נאָמען פון די קיכל וואָס וועט זיין געוויינט צו קראָם די סעסיע שייַן. די וועג, פעלד, זיכער, http_only און same_site אָפּציעס זענען געניצט צו קאַנפיגיער די קיכל סעטטינגס פֿאַר די סעסיע.

ונטער איז אַ בייַשפּיל פון אַ טעקע sessions.php מיט סעסיע געדויער 120 סעקונדעס, נוצן פון טעקעס סטאָרד אין די וועגווייַזער framework/sessions:

<?php

use Illuminate\Support\Str;

return [
    'driver' => env('SESSION_DRIVER', 'file'),
    'lifetime' => env('SESSION_LIFETIME', 120),
    'expire_on_close' => false,
    'encrypt' => false,
    'files' => storage_path('framework/sessions'),
    'connection' => env('SESSION_CONNECTION', null),
    'table' => 'sessions',
    'store' => env('SESSION_STORE', null),
    'lottery' => [2, 100],
    'cookie' => env(
        'SESSION_COOKIE',
        Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
    ),
    'path' => '/',
    'domain' => env('SESSION_DOMAIN', null),
    'secure' => env('SESSION_SECURE_COOKIE'),
    'http_only' => true,

    'same_site' => 'lax',

];

איר קענען אויך קאַנפיגיער די סעסיע ניצן סוויווע וועריאַבאַלז אין דער טעקע .env. פֿאַר בייַשפּיל, צו נוצן די דאַטאַבייס סעסיע שאָפער און קראָם סעסיע דאַטן אין אַ סעסיע טיש, מיט MySQL-טיפּ דב, איר קענען שטעלן די פאלגענדע סוויווע וועריאַבאַלז:

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions

Laravel סעסיע סעטאַפּ

עס זענען דריי וועגן צו אַרבעטן מיט סעסיע דאַטן אין Laravel: 

  • ניצן דיhelper פון global session;
  • ניצן די סעסיע פאַסאַד;
  • דורך א Request instance

אין אַלע די קאַסעס, די דאַטן איר קראָם אין דער סעסיע וועט זיין בארעכטיגט אין סאַבסאַקוואַנט ריקוועס געמאכט דורך דער זעלביקער באַניצער ביז די סעסיע יקספּייערז אָדער מאַניואַלי חרובֿ.

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

גלאבאלע סעסיע העלפּער

אין Laravel, ניצן די פֿונקציע Global Session Helper עס איז אַ באַקוועם וועג צו אַקסעס די סעסיע באַדינונגס צוגעשטעלט דורך די פריימווערק. עס אַלאַוז איר צו קראָם און צוריקקריגן דאַטן פון די סעסיע אין דיין אַפּלאַקיישאַן. דאָ איז אַ בייַשפּיל פון ווי צו נוצן די session helper:

// Store data in the session
session(['key' => 'value']);

// Retrieve data from the session
$value = session('key');

// Remove data from the session
session()->forget('key');

// Clearing the Entire Session
session()->flush();

איר קענען אויך פאָרן אַ פּרי ווערטdefiניט ווי די רגע אַרגומענט צו די פֿונקציע session, וואָס וועט זיין אומגעקערט אויב די ספּעסיפיעד שליסל איז נישט געפֿונען אין דער סעסיע:

$value = session('key', 'default');

בייַשפּיל פון Session Request

אין לאַראַוועל, אַ סעסיע בעטן בייַשפּיל רעפערס צו אַ כייפעץ וואָס רעפּראַזענץ אַ הטטפּ בעטן און כּולל אינפֿאָרמאַציע וועגן די בעטן, אַזאַ ווי די בעטן אופֿן (GET, POST, PUT, עטק.), בעטן URL, כעדערז פון די בעטן און די בעטן גוף. . עס אויך כּולל פאַרשידן מעטהאָדס וואָס קענען ווערן גענוצט צו צוריקקריגן און מאַניפּולירן די אינפֿאָרמאַציע.

טיפּיקאַללי איר אַקסעס די בייַשפּיל פון די Session Request דורך די וועריאַבאַל $request אין אַ לאַראַוועל אַפּלאַקיישאַן. פֿאַר בייַשפּיל, אַ סעסיע קענען זיין אַקסעסט דורך אַ בעטן בייַשפּיל ניצן די העלפּער פונקציע session().

use Illuminate\Http\Request;

class ExampleController extends Controller
{
   public function example(Request $request)
   {
       // Store data in the session using the put function
       $request->session()->put('key', 'value');

       // Retrieve data from the session using the get function
       $value = $request->session()->get('key');

       // Check if a value exists in the session using the has function:
       if ($request->session()->has('key')) {
           // The key exists in the session.
       }

       // To determine if a value exists in the session, even if its value is null:
       if ($request->session()->exists('users')) {
           // The value exists in the session.
       }

       // Remove data from the session using the forget function
       $request->session()->forget('key');
    }
}

אין דעם בייַשפּיל, די בייַטעוודיק  $request עס איז אַ בייַשפּיל פון די קלאַס Illuminate\Http\Request, וואָס רעפּראַזענץ די קראַנט הטטפּ בעטן. די פֿונקציע session בעטן בייַשפּיל קערט אַ בייַשפּיל פון די קלאַס Illuminate\Session\Store, וואָס גיט פאַרשידן פאַנגקשאַנז פֿאַר ארבעטן מיט די סעסיע.

Ercole Palmeri

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

לעצטע ארטיקלען

Veeam פֿעיִקייטן די מערסט פולשטענדיק שטיצן פֿאַר ראַנסאָמוואַרע, פֿון שוץ צו ענטפער און אָפּזוך

Coveware דורך Veeam וועט פאָרזעצן צו צושטעלן ענטפער באַדינונגס פֿאַר סייבער יקסטאָרשאַן אינצידענט. קאָוועוואַרע וועט פאָרשלאָגן פאָרענסיקס און רימעדייישאַן קייפּאַבילאַטיז ...

קסנומקס אפריל קסנומקס

גרין און דיגיטאַל רעוואלוציע: ווי פּרידיקטיוו וישאַלט איז טראַנספאָרמינג די אָיל און גאַז אינדוסטריע

פּרידיקטיוו וישאַלט איז רעוואַלושאַנייזינג די ייל & גאַז סעקטאָר, מיט אַן ינאַווייטיוו און פּראָואַקטיוו צוגאַנג צו פאַבריק פאַרוואַלטונג.…

קסנומקס אפריל קסנומקס

וק אַנטיטראַסט רעגולאַטאָר רייזאַז ביגטעטש שרעק איבער GenAI

די UK CMA האט ארויס אַ ווארענונג וועגן ביג טעק ס נאַטור אין די קינסטלעך סייכל מאַרק. דאָרט…

קסנומקס אפריל קסנומקס

Casa Green: ענערגיע רעוואָלוציע פֿאַר אַ סאַסטיינאַבאַל צוקונפֿט אין איטאליע

די "קאַסע גרין" דעקרעט, פארמולירט דורך די אייראפעישע יוניאַן צו פאַרבעסערן די ענערגיע עפעקטיווקייַט פון בנינים, האט פארענדיקט זיין לעגיסלאַטיווע פּראָצעס מיט ...

קסנומקס אפריל קסנומקס

לייענען כידעש אין דיין שפּראַך

כידעש נוזלעטער
דו זאלסט נישט פאַרפירן די מערסט וויכטיק נייַעס וועגן כידעש. צייכן אַרויף צו באַקומען זיי דורך E- בריוו.

גיי אונדז