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.
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.
Kuthamini matumizi ya ORM Fasaha, na kuelewa mfumo ikolojia ni lazima. Hatua za kuanza:
migration
kwa kutumia console Artisan
eloquent
seed
ya hifadhidataArtisan 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.
Eloquent
Baada ya uhamishaji wa hifadhidata kukamilika, mchakato unaofuata ni seeding
. Eloquent
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
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.
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.
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.
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.
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();
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.
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
Operesheni ya ophthalmoplasty kwa kutumia kitazamaji cha kibiashara cha Apple Vision Pro ilifanywa katika Catania Polyclinic…
Kukuza ujuzi mzuri wa magari kupitia kupaka rangi huwatayarisha watoto kwa ujuzi changamano zaidi kama vile kuandika. Kupaka rangi...
Sekta ya majini ni nguvu ya kweli ya kiuchumi duniani, ambayo imepitia kwenye soko la bilioni 150 ...
Jumatatu iliyopita, Financial Times ilitangaza makubaliano na OpenAI. FT inatoa leseni kwa uandishi wake wa habari wa kiwango cha kimataifa…