Articles

Menene zaman a Laravel, daidaitawa da amfani da misalai

Zaman Laravel yana ba ku damar adana bayanai, da musanya shi tsakanin buƙatun a cikin aikace-aikacen gidan yanar gizon ku. 

Hanya ce mai sauƙi don nacewa bayanai ga mai amfani na yanzu. Wannan koyawa za ta ba ku tushen aiki tare da zama a Laravel.

Menene zaman Laravel

A Laravel, zama hanya ce ta adana bayanai, don aiwatar da buƙatun da mai amfani daidai. Lokacin da mai amfani ya fara aikace-aikacen Laravel, za a fara zama ta atomatik don mai amfani. Ana adana bayanan zama akan uwar garken kuma ana aika ƙaramin kuki tare da mai ganowa na musamman zuwa mazuruftan mai amfani don gane zaman.

Kuna iya amfani da zama don adana bayanan da kuke son amfani da su a cikin shafuka masu yawa ko buƙatu. Misali, zaku iya amfani da zaman don tantance mai amfani ko adana wasu bayanan da kuke son amfani da su yayin zaman akan aikace-aikacenku.

Tsarin zama a Laravel

Don amfani da zaman a Laravel, dole ne ka fara kunna su a cikin fayil ɗin config/session.php na daidaitawa. A cikin wannan fayil ɗin yana yiwuwa a saita sigogi masu alaƙa da zaman. Misali tsawon lokacin, direban da zai yi amfani da shi don adana bayanan zaman, da wurin ajiya don bayanan zaman. 

Fayil ɗin yana da zaɓuɓɓukan daidaitawa masu zuwa:
  • direba: Yana ƙayyadaddun direban kafin zamandefishirye don amfani. Laravel yana goyan bayan direbobin zama da yawa: fayil, kuki, bayanai, apc, memcached, redis, dynamodb, da tsararru;
  • rayuwa: Yana ƙayyade adadin mintuna waɗanda dole ne a yi la'akari da zaman aiki;
  • ƙare_a_kusa: Idan an saita zuwa gaskiya, zaman zai ƙare lokacin da mai amfani da mai binciken ya rufe;
  • encrypt: gaskiya yana nufin cewa tsarin zai ɓoye bayanan zaman kafin a adana shi;
  • files: Idan an yi amfani da direban zaman fayil, wannan zaɓi yana ƙayyade wurin ajiyar fayil;
  • connection: Idan an yi amfani da direban zaman bayanan, wannan zaɓi yana ƙayyade haɗin bayanan don amfani;
  • tebur: Idan an yi amfani da direban zaman bayanan, wannan zaɓin yana ƙayyadad da teburin bayanai don amfani da shi don adana bayanan zaman;
  • irin caca: Tsari na dabi'u da aka yi amfani da su don zaɓar ƙimar kuki ID na zaman ba da gangan;
  • kuki: Wannan zaɓin yana ƙayyade sunan kuki da za a yi amfani da shi don adana ID na zaman. Hanyar, yanki, amintaccen, http_only da same_site zažužžukan ana amfani da su don saita saitunan kuki don zaman.

A ƙasa akwai misalin fayil sessions.php tare da tsawon lokaci 120 seconds, amfani da fayilolin da aka adana a cikin kundin adireshi 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',

];

Hakanan zaka iya saita zaman ta amfani da masu canjin yanayi a cikin fayil ɗin .env. Misali, don amfani da direban zaman bayanai da adana bayanan zaman a cikin tebur, tare da nau'in MySQL DB, zaku iya saita masu canjin yanayi masu zuwa:

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

Saitin zaman Laravel

Akwai hanyoyi guda uku don aiki tare da bayanan zaman a Laravel: 

  • amfani dahelper della global session;
  • ta amfani da facade na Zama;
  • ta hanyar a Request instance

A duk waɗannan lokuta, bayanan da kuka adana a cikin zaman za su kasance a cikin buƙatun da mai amfani ɗaya ya yi na gaba har sai lokacin ya ƙare ko kuma an lalata shi da hannu.

Jaridar Innovation
Kada ku rasa mafi mahimmancin labarai akan ƙirƙira. Yi rajista don karɓar su ta imel.

Mataimakin Zama na Duniya

A cikin Laravel, yin amfani da aikin Global Session Helper hanya ce mai dacewa don samun damar ayyukan zaman da tsarin ke bayarwa. Yana ba ku damar adanawa da dawo da bayanai daga zaman a cikin aikace-aikacenku. Ga misalin yadda ake amfani da shi 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();

Hakanan zaka iya wuce ƙimar farkodefinited a matsayin hujja na biyu ga aikin session, wanda za a mayar da shi idan ba a sami takamaiman maɓalli a cikin zaman ba:

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

Misali na Session Request

A cikin Laravel, misalin neman zaman yana nufin wani abu da ke wakiltar buƙatun HTTP kuma ya ƙunshi bayanai game da buƙatar, kamar hanyar neman (GET, POST, PUT, da sauransu), buƙatar URL, shugabannin buƙatun da ƙungiyar buƙatun. . Har ila yau, ya ƙunshi hanyoyi daban-daban waɗanda za a iya amfani da su don maido da sarrafa wannan bayanin.

Yawanci kuna samun dama ga misali na Session Request ta hanyar m $request a cikin aikace-aikacen Laravel. Misali, ana iya samun damar zama ta hanyar buƙatu ta amfani da aikin mataimaki 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');
    }
}

A cikin wannan misali, mai canzawa  $request misali ne na ajin Illuminate\Http\Request, wanda ke wakiltar buƙatun HTTP na yanzu. Aikin session neman misali ya dawo da misalin ajin Illuminate\Session\Store, wanda ke ba da ayyuka daban-daban don aiki tare da zaman.

Ercole Palmeri

Jaridar Innovation
Kada ku rasa mafi mahimmancin labarai akan ƙirƙira. Yi rajista don karɓar su ta imel.

Kwanan nan labarin

Veeam yana fasalta mafi cikakken tallafi don ransomware, daga kariya zuwa amsawa da murmurewa

Coveware ta Veeam zai ci gaba da ba da sabis na amsa abin da ya faru ta hanyar intanet. Coveware zai ba da damar bincikar bincike da damar gyarawa…

23 Afrilu 2024

Kore da Juyin Juya Halin Dijital: Yadda Kulawar Hasashen ke Canza Masana'antar Mai & Gas

Kulawa da tsinkaya yana kawo sauyi a fannin mai & iskar gas, tare da sabbin hanyoyin kula da tsirrai.…

22 Afrilu 2024

Mai kula da amincin Burtaniya ya ɗaga ƙararrawar BigTech akan GenAI

Hukumar CMA ta Burtaniya ta ba da gargadi game da halayen Big Tech a cikin kasuwar bayanan sirri. Akwai…

18 Afrilu 2024

Casa Green: juyin juya halin makamashi don dorewar makoma a Italiya

Dokar "Green Houses" da Tarayyar Turai ta tsara don inganta ingantaccen makamashi na gine-gine, ta kammala aikinta na majalisar tare da…

18 Afrilu 2024