ፅሁፎች

በላራቬል ውስጥ ያሉ ክፍለ ጊዜዎች ምንድን ናቸው, ውቅር እና ከምሳሌዎች ጋር ይጠቀሙ

የላራቬል ክፍለ ጊዜዎች መረጃ እንዲያከማቹ እና በድር መተግበሪያዎ ውስጥ ባሉ ጥያቄዎች መካከል እንዲለዋወጡ ያስችሉዎታል። 

ለአሁኑ ተጠቃሚ ውሂብን ለማቆየት ቀላል መንገዶች ናቸው። ይህ አጋዥ ስልጠና በላራቬል ውስጥ ከክፍለ-ጊዜዎች ጋር አብሮ ለመስራት መሰረታዊ ነገሮችን ይሰጥዎታል.

የላራቬል ክፍለ ጊዜ ምንድን ነው

በላራቬል ውስጥ፣ ክፍለ ጊዜ መረጃን የሚያከማችበት፣ በተጠቃሚ የሚቀርቡ ጥያቄዎችን በትክክል የሚስተናገድበት መንገድ ነው። አንድ ተጠቃሚ የLaravel መተግበሪያን ሲጀምር ክፍለ ጊዜ ለዚያ ተጠቃሚ በራስ-ሰር ይጀምራል። የክፍለ ጊዜ ውሂብ በአገልጋዩ ላይ ተከማችቷል እና ልዩ መለያ ያለው ትንሽ ኩኪ ክፍለ ጊዜውን ለመለየት ወደ ተጠቃሚው አሳሽ ይላካል።

በበርካታ ገጾች ወይም ጥያቄዎች ላይ ለመጠቀም የሚፈልጉትን ውሂብ ለማከማቸት ክፍለ ጊዜን መጠቀም ይችላሉ። ለምሳሌ፣ ክፍለ-ጊዜውን ለተጠቃሚ ማረጋገጫ ሊጠቀሙበት ወይም በመተግበሪያዎ ላይ በክፍለ-ጊዜው ለመጠቀም የሚፈልጉትን ሌላ መረጃ ሊያከማቹ ይችላሉ።

በላራቬል ውስጥ የክፍለ-ጊዜ ውቅር

ክፍለ-ጊዜዎችን በላራቬል ለመጠቀም በመጀመሪያ በፋይሉ ውስጥ ማንቃት አለብዎት config/session.php የውቅረት. በዚህ ፋይል ውስጥ ከክፍለ-ጊዜዎች ጋር የተያያዙ የውቅረት መለኪያዎችን ማዘጋጀት ይቻላል. እንደ የክፍለ ጊዜው የቆይታ ጊዜ፣ የክፍለ ጊዜውን ውሂብ ለማከማቸት የሚጠቀመው ነጂ እና የክፍለ-ጊዜው ውሂብ የማከማቻ ቦታ። 

ፋይሉ የሚከተሉት የማዋቀር አማራጮች አሉት።
  • ሾፌርቅድመ ክፍለ ጊዜ ነጂውን ይገልጻልdefiለመጠቀም ዝግጁ. ላራቬል የበርካታ ክፍለ ጊዜ ነጂዎችን ይደግፋል፡ ፋይል፣ ኩኪ፣ ዳታቤዝ፣ ኤፒሲ፣ ሜምካሼድ፣ ሬዲስ፣ ዲናሞድብ እና ድርድር፤
  • የህይወት ዘመን: ክፍለ-ጊዜው ልክ እንደሆነ መቆጠር ያለበትን ደቂቃዎች ብዛት ይገልጻል;
  • ጊዜው_በቅርብ: ወደ እውነት ከተዋቀረ የተጠቃሚው አሳሽ ሲዘጋ ክፍለ ጊዜው ያበቃል።
  • ምስጠራእውነት ማለት ማዕቀፉ ከመከማቸቱ በፊት የክፍለ ጊዜ ውሂብን ኢንክሪፕት ያደርጋል ማለት ነው።
  • ፋይሎችየፋይል ክፍለ ጊዜ ነጂ ጥቅም ላይ ከዋለ, ይህ አማራጭ የፋይል ማከማቻ ቦታን ይገልጻል;
  • ግንኙነትየውሂብ ጎታ ክፍለ ጊዜ ሾፌር ጥቅም ላይ ከዋለ, ይህ አማራጭ ለመጠቀም የውሂብ ጎታ ግንኙነትን ይገልጻል;
  • ጠረጴዛየመረጃ ቋቱ ክፍለ ጊዜ ሾፌር ጥቅም ላይ ከዋለ ይህ አማራጭ የክፍለ ጊዜ ውሂብን ለማከማቸት የሚጠቅመውን የመረጃ ቋቱን ሰንጠረዥ ይገልጻል።
  • ሎተሪየክፍለ ጊዜ መታወቂያ ኩኪ ዋጋን በዘፈቀደ ለመምረጥ የሚያገለግሉ የእሴቶች ድርድር;
  • ኩኪይህ አማራጭ የክፍለ ጊዜ መታወቂያውን ለማከማቸት የሚጠቅመውን የኩኪ ስም ይገልጻል። ዱካ፣ ጎራ፣ ደህንነቱ የተጠበቀ፣ 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 አይነት DB ጋር፣ የሚከተሉትን የአካባቢ ተለዋዋጮች ማዘጋጀት ይችላሉ።

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

የላራቭል ክፍለ ጊዜ ማዋቀር

በላራቬል ውስጥ ከክፍለ-ጊዜ ውሂብ ጋር ለመስራት ሦስት መንገዶች አሉ። 

  • በመጠቀምhelper ዴላ global session;
  • የሴሽን ፊት ለፊት በመጠቀም;
  • በ ሀ Request instance

በእነዚህ ሁሉ አጋጣሚዎች፣ በክፍለ-ጊዜው ውስጥ ያከማቹት ውሂብ ክፍለ ጊዜው እስኪያልቅ ወይም በእጅ እስኪጠፋ ድረስ በተመሳሳዩ ተጠቃሚ በሚቀርቡ ጥያቄዎች ውስጥ ይገኛል።

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

የአለምአቀፍ ክፍለ ጊዜ አጋዥ

በላራቬል ውስጥ, ተግባሩን በመጠቀም 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 በLaravel መተግበሪያ ውስጥ. ለምሳሌ፣ የረዳት ተግባሩን በመጠቀም ክፍለ ጊዜን በጥያቄ ምሳሌ ማግኘት ይቻላል። 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የአሁኑን HTTP ጥያቄ የሚወክል። ተግባሩ session ጥያቄ ምሳሌ የክፍሉን ምሳሌ ይመልሳል Illuminate\Session\Storeከክፍለ-ጊዜው ጋር አብሮ ለመስራት የተለያዩ ተግባራትን የሚሰጥ።

Ercole Palmeri

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

የቅርብ ጊዜ ጽሁፎች

Veeam ከጥበቃ እስከ ምላሽ እና ማገገሚያ ድረስ ለቤዛዌር በጣም አጠቃላይ ድጋፍን ያቀርባል

Coveware by Veeam የሳይበር ዘረፋ የአደጋ ምላሽ አገልግሎቶችን መስጠቱን ይቀጥላል። Coveware የፎረንሲክስ እና የማገገሚያ ችሎታዎችን ያቀርባል…

23 April 2024

አረንጓዴ እና ዲጂታል አብዮት፡- የመተንበይ ጥገና የነዳጅ እና ጋዝ ኢንዱስትሪን እንዴት እየለወጠ ነው።

የመተንበይ ጥገና የዘይት እና ጋዝ ዘርፉን አብዮት እያደረገ ነው፣ ለዕፅዋት አስተዳደር ፈጠራ እና ንቁ አቀራረብ።…

22 April 2024

የዩኬ ፀረ እምነት ተቆጣጣሪ የBigTech ማንቂያ በጄኔአይ ላይ ያስነሳል።

የዩኬ ሲኤምኤ ስለ ቢግ ቴክ ባህሪ በአርቴፊሻል ኢንተለጀንስ ገበያ ላይ ማስጠንቀቂያ ሰጥቷል። እዚያ…

18 April 2024

ካሳ አረንጓዴ፡ ለወደፊት ጣሊያን የኢነርጂ አብዮት

የሕንፃዎችን ኢነርጂ ውጤታማነት ለማሳደግ በአውሮፓ ህብረት የተቀረፀው የ"ኬዝ አረንጓዴ" ድንጋጌ የህግ አውጭ ሂደቱን በ…

18 April 2024

ፈጠራን በቋንቋዎ ያንብቡ

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

ይከተሉን