۵) سبک های Eloquent
Eloquent به طوری ORM لاراول میباشد که طراحی Active-record بی آلایش را برای شغل با مقر طراحی اپلیکیشن در مشهد داده ارائه میدهد.
هر جدول مقر داده میتواند سبک Eloquent مربوطه را داشته باشد.
Eloquent Model موجودیت های مقر داده را نشانه میدهد و قادر است برای جستجوی اطلاعات و همینطور درج و آپدیت رسانی اطلاعات در جداول مصرف شود.
براین اساس ، بیایید با به کار گیری از امر make:model یک سبک برای جدول تسک های خویش بسازیم.
php artisan make:model Task
COPY
این فرمان مانند صورت پایین ، سبک Task را در فولدر App تولید می نماید.
۶) ارتباط یک به یک سری
از ارتباط ها (Relationships) برای اتصال جداول به کارگیری میشود.
Eloquent راهی برای اتصال سبک های خویش از روش رابطه ها eloquent مهیا می نماید.
ارتباط یک به یکسری بدین معنا میباشد که یک سبک دارنده مقادیر زیادی از سبک دیگر میباشد.
از جمله ما : تک مخاطب میتواند تسک های متعددی داشته باشد براین اساس ارتباط یک به یکسری در میان جدول استفاده کننده و جدول تسک ها وجود دارااست.
تعریفوتمجید و به کار گیری از ارتباط Eloquent بسیار سهل وآسان میباشد و مزیت آن این میباشد که به هیچ وجهً نیازی به ران کردن query ندارید.
Eloquent سبک ها را متصل می نماید، بدین ترتیب شما بایستی صرفا از توابع استعمال فرمایید.
بیایید سبک Task و سبک استفاده کننده را برای تولید ارتباط Eloquent دستکاری کنیم :
سبک Task (task.php جان دار در app/task.php):
...
use App\\Models\\User;
class Task extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
COPY
سبک مخاطب (user.php مو جود در app/user.php) :
...
use App\\Models\\Task;
class User extends Authenticatable
{
...
public function tasks()
{
return $this->hasMany(Task::class);
}
}
COPY
۷) Artisan Tinker – (تماما ازروی اراده)
لاراول یک رابط خط دستور به اسم Artisan ارائه میدهد.
Artisan مشمول اوامر مختلفی میباشد که از در بین آن ها، فعلا راجعبه Tinker سخن خوا هیم کرد.
Tinker به شما اذن میدهد تا سوای نیاز به دسترسی به رابط اینترنت با تمام اپلیکیشن لاراول خویش از روش پنجره کنسول تعامل داشته باشید.
مزیت اساسی tinker این میباشد که می توانید ارتباط ها را تست فرمائید ، دادهها را انواعزدایی فرمائید و به Eloquent ORM، jobs، تستها، حادثه ها و … دسترسی پیدا فرمائید.
بدین ترتیب ما از Tinker در فراگیری لاراول خویش نیز به کار گیری خوا هیم کرد.
فرض فرمایید در اپلیکیشن نام نویسی نموده اید و دو تسک ساخت و ساز نموده اید.
در حال حاضر آن تسک ها را مستقیماً در پنجره کنسول به طور پایین نظارت میکنید:
$ php artisan tinker
>App\\User::first()->tasks;
COPY
Tinker به صورت بی واسطه به مقر داده دسترسی دارااست ، براین اساس این یک ابزار خوب برای تست عملکردها و همینطور اطلاعات میباشد.
۸) کنترلر ها
کنترلرها برای هدایت ترافیک در بین view ها و سبک ها استعمال میشوند و میتوانند منطق تحقیق به درخواست های مختلف را در یک کلاس واحد تیم بندی نمایند.
براین اساس ، عموماً آحاد درخواستها را اخذ مینمایند و مبتنی بر منطق خویش ، دادههای مربوطه را تغییر و تحول مسیر داده یا این که برمیگردانند.
در نمونه ما ، در حال حاضر به سمت front-end جنبش می کنیم، بدین ترتیب می بایست کنترلرهایی بسازیم که از روش آنها بتوانیم درخواستهایی را که به اپ ما می آیند پژوهش کنیم.
امر ذیل را برای ساختوساز کنترلر برای تسک ها اعمال نمائید :
php artisan make:controller TasksController
COPY
با این عمل TasksController ساخت و ساز میشود و میتوانید آن را در فهرست نرمافزار/Http/Controllers پیدا فرمائید.
۹) Routing
Routing به معنای تایید درخواست و هدایت آن به همت مطلوب میباشد.
اپلیکیشن ما به پنج مسیر نیاز داراست که به تفصیل تحت میباشد :
آمدن
نام نویسی
اکران لیست تک تک تسک های ما
افزودن تسک های نو
تسک های مو جود را حذف نمائید
لاگین و نام نویسی به وسیله Laravel Jetstream اضافه گردیده است ، به این ترتیب فعلا می بایست فقط از سه مسیر حفظ کنیم.
لاراول فولدر های مسیرهای مختلفی را در فایل ‘/routes’ برای مفاد به کار گیری متعدد آماده می نماید.
برای مثال : تنظیمات روتینگ برای API در پوشه ‘/routes/api.php’ قرار میگیرد در حالی که تنظیمات روتینگ برای اپ اینترنت بی آلایش ما در ‘/routes/web.php’ می رود.
هم اکنون بیایید web.php را بازنویسی کنیم.
در تحت ورژن بازنویسی گردیده پوشه آمده میباشد.
بر این شالوده تغییراتی ساختوساز نمایید :
use Illuminate\\Support\\Facades\\Route;
use App\\Http\\Controllers\\TasksController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get(\'/\', function () {
return view(\'welcome\');
});
Route::middleware([\'auth:sanctum\', \'verified\'])->group(function(){
Route::get(\'/dashboard\',[TasksController::class, \'index\'])->name(\'dashboard\');
Route::get(\'/task\',[TasksController::class, \'add\']);
Route::post(\'/task\',[TasksController::class, \'create\']);
Route::get(\'/task/{task}\', [TasksController::class, \'edit\']);
Route::post(\'/task/{task}\', [TasksController::class, \'update\']);
});
COPY
در اینجا ، ما دو تغییر تحول جاری ساختن داده ایم :
ما کلیه مسیرها را تیم بندی کردهایم تا بتوانیم auth:sanctum و فی مابینافزار تأییدشده را برای همگی مسیرها انجام کنیم و براین اساس آن صفحه های را صرفا به یوزرها تأیید گردیده و وارداتی محصور کنیم.
ما مسیر داشبورد را تغییر تحول دادهایم ، که فعلا درخواست را به تابع فهرست TaskController ارسال مینماید.
و روت هایی برای اقدامات دیگر تشکیل داد.
۵) سبک های Eloquent
Eloquent به طوری ORM لاراول میباشد که طراحی Active-record بی آلایش را برای شغل با مقر طراحی اپلیکیشن در مشهد داده ارائه میدهد.
هر جدول مقر داده میتواند سبک Eloquent مربوطه را داشته باشد.
Eloquent Model موجودیت های مقر داده را نشانه میدهد و قادر است برای جستجوی اطلاعات و همینطور درج و آپدیت رسانی اطلاعات در جداول مصرف شود.
براین اساس ، بیایید با به کار گیری از امر make:model یک سبک برای جدول تسک های خویش بسازیم.
php artisan make:model Task
COPY
این فرمان مانند صورت پایین ، سبک Task را در فولدر App تولید می نماید.
۶) ارتباط یک به یک سری
از ارتباط ها (Relationships) برای اتصال جداول به کارگیری میشود.
Eloquent راهی برای اتصال سبک های خویش از روش رابطه ها eloquent مهیا می نماید.
ارتباط یک به یکسری بدین معنا میباشد که یک سبک دارنده مقادیر زیادی از سبک دیگر میباشد.
از جمله ما : تک مخاطب میتواند تسک های متعددی داشته باشد براین اساس ارتباط یک به یکسری در میان جدول استفاده کننده و جدول تسک ها وجود دارااست.
تعریفوتمجید و به کار گیری از ارتباط Eloquent بسیار سهل وآسان میباشد و مزیت آن این میباشد که به هیچ وجهً نیازی به ران کردن query ندارید.
Eloquent سبک ها را متصل می نماید، بدین ترتیب شما بایستی صرفا از توابع استعمال فرمایید.
بیایید سبک Task و سبک استفاده کننده را برای تولید ارتباط Eloquent دستکاری کنیم :
سبک Task (task.php جان دار در app/task.php):
...
use App\\Models\\User;
class Task extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
COPY
سبک مخاطب (user.php مو جود در app/user.php) :
...
use App\\Models\\Task;
class User extends Authenticatable
{
...
public function tasks()
{
return $this->hasMany(Task::class);
}
}
COPY
۷) Artisan Tinker – (تماما ازروی اراده)
لاراول یک رابط خط دستور به اسم Artisan ارائه میدهد.
Artisan مشمول اوامر مختلفی میباشد که از در بین آن ها، فعلا راجعبه Tinker سخن خوا هیم کرد.
Tinker به شما اذن میدهد تا سوای نیاز به دسترسی به رابط اینترنت با تمام اپلیکیشن لاراول خویش از روش پنجره کنسول تعامل داشته باشید.
مزیت اساسی tinker این میباشد که می توانید ارتباط ها را تست فرمائید ، دادهها را انواعزدایی فرمائید و به Eloquent ORM، jobs، تستها، حادثه ها و … دسترسی پیدا فرمائید.
بدین ترتیب ما از Tinker در فراگیری لاراول خویش نیز به کار گیری خوا هیم کرد.
فرض فرمایید در اپلیکیشن نام نویسی نموده اید و دو تسک ساخت و ساز نموده اید.
در حال حاضر آن تسک ها را مستقیماً در پنجره کنسول به طور پایین نظارت میکنید:
$ php artisan tinker
>App\\User::first()->tasks;
COPY
Tinker به صورت بی واسطه به مقر داده دسترسی دارااست ، براین اساس این یک ابزار خوب برای تست عملکردها و همینطور اطلاعات میباشد.
۸) کنترلر ها
کنترلرها برای هدایت ترافیک در بین view ها و سبک ها استعمال میشوند و میتوانند منطق تحقیق به درخواست های مختلف را در یک کلاس واحد تیم بندی نمایند.
براین اساس ، عموماً آحاد درخواستها را اخذ مینمایند و مبتنی بر منطق خویش ، دادههای مربوطه را تغییر و تحول مسیر داده یا این که برمیگردانند.
در نمونه ما ، در حال حاضر به سمت front-end جنبش می کنیم، بدین ترتیب می بایست کنترلرهایی بسازیم که از روش آنها بتوانیم درخواستهایی را که به اپ ما می آیند پژوهش کنیم.
امر ذیل را برای ساختوساز کنترلر برای تسک ها اعمال نمائید :
php artisan make:controller TasksController
COPY
با این عمل TasksController ساخت و ساز میشود و میتوانید آن را در فهرست نرمافزار/Http/Controllers پیدا فرمائید.
۹) Routing
Routing به معنای تایید درخواست و هدایت آن به همت مطلوب میباشد.
اپلیکیشن ما به پنج مسیر نیاز داراست که به تفصیل تحت میباشد :
آمدن
نام نویسی
اکران لیست تک تک تسک های ما
افزودن تسک های نو
تسک های مو جود را حذف نمائید
لاگین و نام نویسی به وسیله Laravel Jetstream اضافه گردیده است ، به این ترتیب فعلا می بایست فقط از سه مسیر حفظ کنیم.
لاراول فولدر های مسیرهای مختلفی را در فایل ‘/routes’ برای مفاد به کار گیری متعدد آماده می نماید.
برای مثال : تنظیمات روتینگ برای API در پوشه ‘/routes/api.php’ قرار میگیرد در حالی که تنظیمات روتینگ برای اپ اینترنت بی آلایش ما در ‘/routes/web.php’ می رود.
هم اکنون بیایید web.php را بازنویسی کنیم.
در تحت ورژن بازنویسی گردیده پوشه آمده میباشد.
بر این شالوده تغییراتی ساختوساز نمایید :
use Illuminate\\Support\\Facades\\Route;
use App\\Http\\Controllers\\TasksController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get(\'/\', function () {
return view(\'welcome\');
});
Route::middleware([\'auth:sanctum\', \'verified\'])->group(function(){
Route::get(\'/dashboard\',[TasksController::class, \'index\'])->name(\'dashboard\');
Route::get(\'/task\',[TasksController::class, \'add\']);
Route::post(\'/task\',[TasksController::class, \'create\']);
Route::get(\'/task/{task}\', [TasksController::class, \'edit\']);
Route::post(\'/task/{task}\', [TasksController::class, \'update\']);
});
COPY
در اینجا ، ما دو تغییر تحول جاری ساختن داده ایم :
ما کلیه مسیرها را تیم بندی کردهایم تا بتوانیم auth:sanctum و فی مابینافزار تأییدشده را برای همگی مسیرها انجام کنیم و براین اساس آن صفحه های را صرفا به یوزرها تأیید گردیده و وارداتی محصور کنیم.
ما مسیر داشبورد را تغییر تحول دادهایم ، که فعلا درخواست را به تابع فهرست TaskController ارسال مینماید.
و روت هایی برای اقدامات دیگر تشکیل داد.

کارداران اثر گذار بر CPC در تبلیغات