makala

Laravel Fasaha ni nini, jinsi ya kuitumia, mafunzo na mifano

Mfumo wa PHP wa Laravel unajumuisha Ramani ya Uhusiano wa Kitu Fasaha (ORM), ambayo hutoa njia rahisi sana ya kuwasiliana na hifadhidata. 

Laravel na Fasaha husaidia kuharakisha utumaji programu na ukuzaji wa jukwaa, kutoa suluhisho la kutosha kwa shida nyingi. Mahitaji yanashughulikiwa kwa maendeleo ya haraka, pamoja na msimbo uliopangwa vizuri, unaoweza kutumika tena, unaoweza kudumishwa na unaoweza kupanuka. 

Jinsi Fasaha inavyofanya kazi

Watengenezaji wanaweza kufanya kazi ndani Eloquent na hifadhidata nyingi kwa ufanisi kwa kutumia utekelezaji wa ActiveMethod. Ni muundo wa usanifu ambapo mtindo ulioundwa katika muundo wa Model-View-Controller (MVC) unalingana na jedwali katika hifadhidata. Faida ni kwamba mifano hufanya shughuli za kawaida za hifadhidata bila kuweka maswali marefu ya SQL. Violezo hukuruhusu kuuliza data kwenye majedwali na kuingiza rekodi mpya kwenye majedwali. Mchakato wa kusawazisha hifadhidata nyingi zinazoendeshwa kwenye mifumo tofauti hurahisishwa. Huna haja ya kuandika maswali ya SQL. Unachotakiwa kufanya ni defiMaliza majedwali ya hifadhidata na uhusiano kati yao, na Fasaha itafanya kazi iliyosalia.

Maandalizi ya laravel

Kuthamini matumizi ya ORM Fasaha, na kuelewa mfumo ikolojia ni lazima. Hatua za kuanza:

  1. Sakinisha Laravel kutoka getcomposer.org, kufanya hivi fuata maagizo hapa
  2. Unda migration kwa kutumia console Artisan
  3. Unda violezo eloquent
  4. kukimbia i seed ya hifadhidata

Artisan Console ni jina la kiolesura cha mstari wa amri kilichojumuishwa katika Laravel. Hutoa seti ya amri muhimu za kutumia wakati wa kuunda programu yako. Inaendeshwa na sehemu yenye nguvu Symfony Console.

Ili kuona orodha ya amri zote za Kifundi zinazopatikana, unaweza kutumia amri ya orodha:

php artisan list

Amri zote huja na maelezo mafupi ya hoja na chaguzi zake. Hii inaonyeshwa kwenye skrini ya "msaada". Ili kuonyesha skrini ya usaidizi, tangulia tu jina la amri na "msaada" kama inavyoonyeshwa:

php artisan help migrate

Migration

Uhamiaji ni mchakato wa usimamizi wa hifadhidata kwa kuandika PHP badala yake SQL. Hutoa njia ya kuongeza udhibiti wa toleo kwenye hifadhidata. 

Ili kuunda uhamiaji, endesha tu amri ifuatayo:

php artisan make:migration create_student_records

Hii inaunda faili ya uhamiaji. Katika kihariri chako cha maandishi, fungua faili ambayo umeunda kwenye folda database\migrations:

<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateStudentRecordsTable extends Migration
{
    /**
    * Run the migrations.
    *
    * @return void
    */
    public function up()
    {
        Schema::create('student__records', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
    * Reverse the migrations.
    *
    * @return void
    */
    public function down()
    {
        Schema::dropIfExists('student__records');
    }
}

Nambari ni darasa lenye jina moja 'create student records', na ina njia mbili: juu na chini. Njia ya juu inapaswa kufanya mabadiliko kwenye hifadhidata; kwa hivyo wakati wowote unapohamisha hifadhidata yako, nambari yoyote katika njia ya juu itatekelezwa. Kwa upande mwingine, njia ya chini inapaswa kurudisha nyuma mabadiliko hayo ya hifadhidata; kwa hivyo wakati wowote unapoendesha rollback ya migration, njia ya chini inapaswa kutendua kile njia ya juu ilifanya. Ndani ya mbinu up kuna mjenzi wa schema anayetumiwa kuunda na kudhibiti meza. Nini kitatokea ukighairi baadhi ya uhamaji wako? Unachohitajika kufanya ni kutekeleza amri ifuatayo:

php artisan migrate:rollback

Naye atakusanya wa mwisho migration ambayo imetekelezwa. Pia, unaweza kurejesha hifadhidata kikamilifu kwa kuendesha:

php artisan migrate:reset

Hii itaghairi uhamaji wako wote.

Defiuundaji wa mifano ya Eloquent

Baada ya uhamishaji wa hifadhidata kukamilika, mchakato unaofuata ni seedingEloquent inakuja kucheza tangu seeding inaingiza rekodi kwenye hifadhidata yetu. Kwa hivyo utahitaji kuunda violezo kabla ya kujaza hifadhidata. Kila jedwali la hifadhidata lina modeli inayolingana ambayo hutumiwa kuingiliana na jedwali hilo. Violezo hukuruhusu kuuliza data kwenye majedwali yako, na pia kuingiza rekodi mpya kwenye jedwali. Njia rahisi ya kusisitiza mfano ni kutumia amri ifuatayo:

php artisan make:model Student
Mfano wa kiolezo umeonyeshwa hapa chini Student, ambayo inaweza kutumika kupata na kuhifadhi maelezo kutoka kwa jedwali la hifadhidata la mwanafunzi wetu:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Unapozalisha mfano na wakati huo huo unataka kuzalisha uhamiaji wa hifadhidata, unaweza kutumia chaguo –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

Wapanda mbegu

Vipanda mbegu kwa jumla ni seti maalum ya madarasa ambayo huturuhusu kujaza hifadhidata yetu tena na tena na data sawa kabisa. Tunatekeleza amri ifuatayo:

php artisan make:seeder StudentsRecordSeeder

Katika hariri ya maandishi, chini ya folda ya mbegu, fungua faili mpya iliyoundwa na jina la faili: StudentsRecordSeeder.php. Kama unaweza kuona, hili ni darasa rahisi sana na njia moja inayoitwa run,

<?php
use IlluminateDatabaseSeeder;

class StudentsRecordSeeder extends Seeder
{
    /**
    * Run the database seeds
    * @return void
    */

    public function run()
    {
        //
    }
}

Nambari hiyo ni safu tu ya kuzunguka darasa la amri ya koni, iliyoundwa mahsusi kusaidia na kazi ya seeding. Hariri msimbo kisha uihifadhi.

Jarida la uvumbuzi
Usikose habari muhimu zaidi kuhusu uvumbuzi. Jisajili ili kuzipokea kwa barua pepe.
public function run()
{
    echo 'Seeding!';
}

Na kwenda kwenye terminal:

php artisan db:seed --class=StudentsRecordSeeder

Sasa unaweza kujaza jedwali na maingizo kadhaa na kukimbia:

php artisan db:seed --class=class=StudentsRecordSeeder

Hapa unaweza kuendelea kufuta, kuongeza, kurekebisha maingizo katika DB, kisha kurejesha kwa amri rahisi.

CRUD pamoja na Laravel Eloquent

Uendeshaji wa CRUD kwa kutumia ramani ya Laravel Eloquent object-relational mapper (ORM) hurahisisha zaidi kwa wasanidi wa Laravel kufanya kazi na hifadhidata nyingi. Hufanya shughuli za kuunda, kusoma, kusasisha na kufuta (CRUD), na kuweka miundo ya vipengee kwenye majedwali ya hifadhidata. Hushughulikia mwingiliano wa hifadhidata unaohitajika kwa shughuli za CRUD.

Uundaji wa kumbukumbu

Unaweza kutumia ::kuunda mbinu ya kuingiza rekodi mpya kwenye hifadhidata.

student_record::create(array(
    'first_name' => 'John',
    'last_name'  => 'Doe',
    'student_rank' => 1
));

Mbali na njia rahisi ya uumbaji iliyoonyeshwa hapo juu, unaweza pia kuunda kitu kipya na kutoa sifa tofauti. Kisha, unaweza kupiga simu save() kazi na kuendesha msimbo. Mbinu kama firstOrCreate() au firstOrNew() ni chaguzi zingine za kuunda rekodi. Hizi zitakuwezesha kupata mwanafunzi mwenye sifa fulani; ikiwa mwanafunzi huyo hatapatikana, utaiunda kwenye hifadhidata au utaanzisha mfano mpya.

Kusoma rekodi

Kwa kutumia ORM Fasaha, unaweza kupata rekodi katika hifadhidata yako. Maswali yanaundwa kwa urahisi na hutoa mtiririko mzuri. Ili kuunda kauli ::where, utatumia mbinu get() Na first(). Mbinu first() itarudisha rekodi moja tu, wakati mbinu get() itarudisha safu inayoweza kuepukika ya rekodi. Pia, mbinu find() inaweza kutumika pamoja na safu ya funguo msingi, ambayo itarejesha mkusanyiko wa rekodi zinazolingana. Hapa kuna baadhi ya mifano:

$student = Students::all();

Nambari hii inapata wanafunzi wote. Wakati nambari ifuatayo inapata mwanafunzi maalum kwa kitambulisho:

$mwanafunzi = Wanafunzi::pata(1);

Pia, kama inavyoonyeshwa hapa chini, msimbo unaelezea utafutaji wa mwanafunzi kulingana na sifa maalum.

$JohnDoe = Students::where('name', '=', 'John Doe')->first();

Kwa get() mbinu, nambari hii inaonyesha jinsi ya kupata mwanafunzi aliye na kiwango cha juu ya 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Rekodi sasisho

Kusasisha rekodi kwa kutumia Fasaha ni rahisi vile vile. Ili kusasisha rekodi, pata tu rekodi unayotaka kusasisha, hariri sifa na uhifadhi. Kwa mfano, kubadilisha kiwango cha daraja la mwanafunzi wa John Doe hadi 5, kwanza tafuta mwanafunzi kisha utekeleze mbinu ya kuhifadhi.

$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();

Mbinu ya kuhifadhi pia inaweza kutumika kusasisha miundo ambayo tayari ipo kwenye hifadhidata.

Futa rekodi

Fasaha inajivunia mchakato wake rahisi wa kusasisha rekodi, lakini ina hadithi sawa na kufuta. Kuna chaguzi mbili: rekodi za kuvuta na kutekeleza njia ya kufuta, au tumia tu njia ya kuharibu. Ili kupata na kufuta rekodi, endesha tu amri zifuatazo:

$student = Students::find(1);
$student->delete();

Ili kufuta rekodi na rekodi nyingi, amri zinaendeshwa:

Students::destroy(1);
Students::destroy(1, 2, 3);

Kumbuka kuwa vigezo vya kuharibu ni funguo za msingi pekee tofauti na njia ya kufuta ambayo inaweza kukubali safu yoyote ya hifadhidata.

Ili kupata na kufuta wanafunzi wote walio juu ya kiwango cha 10.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Jarida la uvumbuzi
Usikose habari muhimu zaidi kuhusu uvumbuzi. Jisajili ili kuzipokea kwa barua pepe.

Makala ya hivi karibuni

Wachapishaji na OpenAI hutia saini mikataba ya kudhibiti mtiririko wa taarifa zinazochakatwa na Intelligence Artificial Intelligence

Jumatatu iliyopita, Financial Times ilitangaza makubaliano na OpenAI. FT inatoa leseni kwa uandishi wake wa habari wa kiwango cha kimataifa…

Aprili 30 2024

Malipo ya Mtandaoni: Hivi Ndivyo Huduma za Utiririshaji Hukufanya Ulipe Milele

Mamilioni ya watu hulipia huduma za utiririshaji, kulipa ada za usajili za kila mwezi. Ni maoni ya kawaida kwamba wewe…

Aprili 29 2024

Veeam inaangazia usaidizi wa kina zaidi wa ransomware, kutoka kwa ulinzi hadi majibu na uokoaji

Coveware by Veeam itaendelea kutoa huduma za kukabiliana na matukio ya ulaghai mtandaoni. Coveware itatoa uwezo wa uchunguzi na urekebishaji…

Aprili 23 2024

Mapinduzi ya Kijani na Kidijitali: Jinsi Matengenezo Yanayotabirika yanavyobadilisha Sekta ya Mafuta na Gesi

Matengenezo ya kitabiri yanaleta mapinduzi katika sekta ya mafuta na gesi, kwa mbinu bunifu na makini ya usimamizi wa mitambo.…

Aprili 22 2024