پیکربندی

آشنایی

تمامی فایلهای پیکربندی فریمورک لاراول در دایرکتوری config قرار دارند. هر گزینه مستند شده است، بنابراین برای بررسی گزینه ها با میتوانید فایلها را ببینید و با گزینه هایی که در اختیار شما قرار گرفته اند آشنا شوید.

پس از نصب

نامگذاری نرم افزار

پس از نصب لاراول، میتوانید نرم افزار خود را نامگذاری نمایید. به صورت پیش فرض، دایرکتوری app تحت فضای نام App قرار گرفته است، و توسط کامپوزر توسط استاندارد بارگذاری خودکار PSR-4 خودکار بارگذاری میگردد. هرچند میتوانید فضای نام را متناسب با نرم افزار خود تغییر دهید. این کار را به آسانی از طریق فرمان آرتیزان app:name انجام دهید.

برای مثال، اگر نام نرم افزار کاربردی وب شما "larabook" باشد، کافیست دستور زیر را از بالاترین پوشه پروژه خود اجرا نمایید:

php artisan app:name larabook

تغییر نام نرم افزار کاملا اختیاری است، و برای نگاه داشتن فضای نام App کاملا آزاد هستید.

دیگر تنظیمات

لاراول تقریبا تنظیمات کمی دارد. میتوانید شروع به توسعه نرم افزارهای کاربردی تحت وب نمایید! هرچند میتوانید فایل config/app.php و مستندات آن را مرور نمایید. این فایل شامل گزینه ها بسیار زیادی مانند timezone یا ناحیه زمانی و locale یا تنظیمات محلی میباشد که میتوانید متناسب با نرم افزار تحت وب خود تغییر دهید.

پس از نصب لاراول، همچنین باید تنظیمات محلی خود را هم تغییر دهید.

نکته: هیچگاه برای نرم افزارهای کاربردی واقعی مقدار app.debug را true نگذارید.

دسترسی ها

شاید نیاز باشد برخی دسترسی ها برای لاراول تعریف شود: وب سرور برای اعمال تغییرات در پوشه های storage و vendor نیازمند دسترسی کافی برای نوشتن میباشد

دسترسی به مقادیر پیکربندی

با استفاده از فاساد Config میتوانید به راحتی به مقادیر پیکربندی خود دسترسی داشته باشید.

$value = Config::get('app.timezone');

Config::set('app.timezone', 'America/Chicago');

همچنین میتوانید از تابع کمکی config نیز استفاده نمایید:

$value = config('app.timezone');

تنظمیات متغیرهای محلی

داشتن تنظمیات متناسب با محیط کاری که نرم افزار در آن اجرا میشود میتواند مفید باشد. برای مثال، ممکن است از یک درایور کش متفاوت از آنچه بر روی سرور خود استفاده میکنید، در محیط توسعه محلی خود استفاده نمایید. این کار با کمک پیکربندی مبتنی بر متغیرهای محلی امکان پذیر است.

برای روشنتر شدن موضوع، لاراول از کتابخانه پی اچ پی DotEnv توسط که Vance Lucas نوشته شده استفاده مینماید. در یک پروژه خام لاراول، دایرکتوری ریشه نرم افزار شامل یک فایل env.example. میباشد. اگر لاراول را با استفاده از کامپوزر نصب کنید، این فایل خودکار به env. تغییر نام میدهد. در غیر اینصورت، شما باید دستی این فایل را تغییر نام دهید.

هنگامی که نرم افزار درخواستی دریافت میکند، تمامی متغیرهای لیست شده، در متغیر فراگلوبال PHP، $_ENV بارگذاری میشوند. میتوانید از تابع کمکی env برای خواندن مقادیر از این متغیرها استفاده نمایید. در واقع، اگر فایلهای پیکربندی لاراول را بررسی نمایید، متوجه خواهید شد بسیاری از گزینه ها، خود از این تابع کمکی استفاده میکنند.

به راحتی و بدون دغدغه میتوانید این متغیرهای محیطی را متناسب با نیاز بر روی سرور محلی یا محیط تجاری مقداردهی نمایید. فایل env. نباید بر روی محیط کنترل منبعتان قرار بگیرد، چراکه هر توسعه دهنده / سرور که از نرم افزار شمااستفاده میکند پیکربندی متغیرهای محلی اختصاصی خود را داراست.

اگر کار توسعه را در قالب یک تیم انجام میدهید، بهتر است فایل env.example. را در کنار نرم افزار کاربردی خود نگاه دارید. با قراردادن قراردادهایی، دیگر توسعه دهندگان متوجه خواهند شد کدام متغیر محیطی برای اجرای نرم افزار نیاز است.

دسترسی به متغیرهای محیطی نرم افزار جاری

برای دسترسی به متغیرهای محلی نرم افزار میتوانید از متد environment بر روی نمونه ای از Application استفاده کنید:

$environment = $app->environment();

همچنین میتوانید آرگومانهایی را به متد environment بفرستید تا مقدار ارائه شده را مقدار متغیر محلی مقایسه کنید:

if ($app->environment('local'))
{
    // The environment is local
}

if ($app->environment('local', 'staging'))
{
    // The environment is either local OR staging...
}

برای ایجاد نمونه ای از اپلیکیشن، کانترکت Illuminate\Contracts\Foundation\Application را از طریق service container بیابید .

نمونه اپلیکیشن همچنین میتواند از طریق تابع کمکی app یا فاساد App نیز مورد استفاده قرار گیرد:

$environment = app()->environment();

$environment = App::environment();

کش کردن پیکربندی

برای افزایش سرعت نرم افزار کاربردیتان، میتوانید با استفاده از فرمان آرتیزان config:cache تمام فایلهای پیکربندی خود را در یک فایل کش نمایید. این فرمان تمامی گزینه های پیکربندی نرم افزارتان را در یک فایل که میتواند به سرعت توسط فریمورک لاراول بارگذاری شود ترکیب نماید.

معمولا باید فرمان config:cache را به عنوان بخشی از عملیات دیپلوی اجرا نمایید.

حالت نگهداری

هنگامی که نرم افزار شما در حالت نگهداری باشد، یک نمای مشخص برای تمامی درخواستهای ارسال شده برای نرم افزار کاربردی نمایش داده میشود. این کار غیرفعال کردن نرم افزار را هنگامی که مشغول به روزرسانی نرم افزار یا انجام فعالیتهای نگهداری هستید آسان میکند. چک حالت نگهداری در middleware پیش فرض نرم افزار شما قرار دارد. در صورتیکه نرم افزار کاربردی شما در حالت نگهداری باشد، یک HttpException با کد وضعیت 503 ایجاد میشود.

برای فعالسازی حالت نگهداری، به سادگی فرمان آرتیزان down را اجرا نمایید:

php artisan down

و همچنین برای غیرفعال نمودن حالت نگهداری از فرمان up استفاده نمایید:

php artisan up

قالب پاسخ حالت نگهداری

قالب پیش فرض برای پاسخ حالت نگهداری در resources/views/errors/503.blade.php قرار دارد.

حالت نگهداری و صفها

درحالیکه نرم افزار کاربردی شما در حالت نگهداری است، هیچ یک از وظیفه های صف وظایف انجام نمیشوند. پس از آنکه نرم افزار از حالت نگهداری خارج شد queued jobs به شکل نرمال انجام می شوند.

آدرسهای خوانا - Pretty URLs

آپاچی

لاراول به همراه یک فایل public/.htaccess به منظور ایجاد امکان ایجاد URLهای بدون index.php ارائه میشود. اگر برای اجرای نرم افزار خود از آپاچی استفاده میکنید، مطمئن شوید ماژول mod_rewrite را فعال نموده اید.

اگر فایل .htaccess ارائه شده در کنار لاراول کار نمیکند، میتوانید راه حل زیر را امتحان کنید.

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

اگر هاستی که استفاده میکنید اجازه استفاده از گزینه FollowSymlinks را نمیدهد، آن را با Options +SymLinksIfOwnerMatch جایگزین نمایید.

Nginx

بر روی Ngnix راهنمای سرور زیر در تنظیمات سرور امکان pretty URL (آدرسهای خوانا) را فراهم میکند.

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

البته هنگامی که از Homestead استفاده میکنید، آدرسهای خوانا به شکل خودکار تنظیم می شوند.