شاید برای شما هم پیش اومده که بخواید یک یا چند متغیر یا variable رو تو یک یا چند و یا همه ی بلید ها یا view های لاراول فراخونی کنید.
شما می تونید اون متغییر رو تو فایل کانفیک تعریف و در بخش های متفاوت سیستم با استفاده از تابع config اون رو فراخونی کنید، اما این کار کمی کسل کننده و غیره جالب هست!
تو این مطلب یاد خواهیم گرفت از دو روش متفاوت و در فایل AppServiceProvider.php یک متغییر سراسری رو تعریف کنیم و به راحتی در تمام بلید ها از اون استفاده کنیم.
استفاده از View Share:
فایل AppServiceProvider.php رو باز کنید و در تابع boot کد زیر را قرار دهید:
view()->share('siteTitle', 'HDTuto.com');
در نهایت باید فایل AppServiceProvider.php بصورت زیرخواهد شد:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
view()->share('siteTitle', 'HDTuto.com');
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
استفاده از Composer:
در این روش نیز می توایند قطعه کد زیر را در app/Providers/AppServiceProvider.php قرار دهید:
view()->composer('*', function ($view) {
$view->with('siteTitle', 'HDTuto.com');
});
در این حالت فایل app/Providers/AppServiceProvider.php بصورت زیر خواهد شد:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
view()->composer('*', function ($view) {
$view->with('siteTitle', 'HDTuto.com');
});
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
در هر دو نمونه ما سعی در تعریف متغیری بنام siteTitle داشتیم پس شما می توانید به روش زیر از این متغییر در بلید ها استفاده نمایید:
{{ $siteTitle }}
در صورتی که سوالی دارید از بخش نظرات اعلام کنید.
امیدوارم این مطلب برای شما مفید باشه.:)
برای اطلاع از پاسخ به نظر شما می توانید ایمیل یا شماره موبایل خود را وارد نمایید. *
ایمیل و شماره موبایل شما کاملا مخفی خواهد ماند و در سایت نمایش داده نخواهد شد. *
هنوز برای این مطلب نظری ارسال نشده است!