پیکربندی
- آشنایی
- پس از نصب
- دستیابی به مقادیر پیکربندی
- پیکربندی محیط کاری
- پیکربندی کش
- حالت نگاهداری
- آدرسهای خوانا - Pretty URLs
آشنایی
تمامی فایلهای پیکربندی فریمورک لاراول در دایرکتوری 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 استفاده میکنید، آدرسهای خوانا به شکل خودکار تنظیم می شوند.