ساخت پروژه در لاراول
تاریخ انتشار
دیدگاه ها
نویسنده
بازدید
در این مقاله میخوانید
راهنمای جامع ساخت و راه اندازی پروژه در لاراول
در راهنمای ساخت پروژه در لاراول در ابتدا به بررسی پیشنیازها و سپس شروع کار و ایجاد اولین پروژه در لاراول، دستورات آرتیزان، راه اندازی سرور لوکال و مشاهده پروژه، ساختار کلی و بخشهای مختلف پروژه میپردازیم و همچنین در مورد دیتابیس، احراز هویت، کار با Routeها و Viewها و مواردی از این قبیل صحبت میکنیم.
پیشنیازها
برای شروع کار با لاراول نیاز به نصب ابزارهای زیادی وجود ندارد. در ابتدا باید PHP روی سیستم نصب بوده چند اکستنش مهم آن فعال باشند. سپس با نصب کامپوزر میتوانیم یک پروژه لاراول ایجاد کرده و بدون هیچ ابزار اضافهای آن را توسعه داده و مشاهده نماییم.
نصب PHP
- PHP را از وبسایت رسمی PHP دانلود کنید.
- فایل دانلود شده را در یک پوشه (مثلاً
C:\php
) استخراج کنید. - پوشه PHP را به متغیر محیطی PATH سیستم خود اضافه کنید.
اکستنشنهای ضروری
- فایل php.ini را باز کنید (در پوشه PHP شما قرار دارد).
- خطوط زیر را با حذف نقطهویرگول (;) در ابتدای آنها فعال کنید و سپس فایل را ذخیره کنید.
extension=bcmath
extension=ctype
extension=fileinfo
extension=json
extension=mbstring
extension=openssl
extension=pdo
extension=tokenizer
extension=xml
نصب کامپوزر
توضیحات کامل کامپوزر در این مقاله داده شده است.
به طور خلاصه برای نصب کامپوزر مراحل زیر را دنبال میکنیم:
- به وبسایت رسمی Composer میرویم.
- فایل نصب را دانلود میکنیم.
- فایل دانلود شده را اجرا کرده و مراحل نصب را دنبال میکنیم.
برای تایید نصب نیز در ترمینال دستور زیر را اجرا میکنیم:
composer --version
راه اندازی محیط توسعه لوکال
ابزارهای مختلفی برای ساخت پروژه در لاراول و توسعه آن در محیط لوکال وجود دارد که به بررسی آنها میپردازیم.
ابزار داخلی لاراول: آرتیزان
آرتیزان (Artisan) یک رابط خط فرمان است که با فریمورک محبوب لاراول ارائه میشود. این ابزار به برنامهنویسان کمک میکند تا با استفاده از دستورات مختلف، برنامهها و وبسایتهای خود را بهطور موثرتری ایجاد و مدیریت کنند.
برای استفاده از آن پس ایجاد پروژه به دایرکتوری پروژه لاراول خود بروید و از دستورات آرتیزان استفاده کنید. به عنوان مثال، برای اجرای سرور محلی لاراول، میتوانید از دستور زیر استفاده کنید:
php artisan serve
این بخش در ادامه با جزییات بیشتری بررسی میشود.
سایر روشها
روشهای دیگر نیز برای این هدف وجود دارند مانند استفاده از laravel sail, laravel herd و homestead که به طور خلاصه به آنها میپردازیم:
لاراول Sail
ابزار لاراول Sail یک رابط خط فرمان سبک وزن برای تعامل با محیط توسعه پیشفرض Docker لاراول است. این ابزار به شما امکان میدهد تا بهراحتی یک محیط توسعه کامل با استفاده از PHP، MySQL و Redis را بدون نیاز به تجربه قبلی Docker راهاندازی کنید.
نرم افزار لاراول Herd
هرد (Herd) یک محیط توسعه بومی و سریع برای لاراول و PHP است که برای ویندوز طراحی شده است. این ابزار شامل تمام موارد مورد نیاز برای شروع توسعه لاراول، از جمله PHP و nginx، میباشد و به شما امکان میدهد تا بهسرعت و بدون دردسر محیط توسعه خود را راهاندازی کنید.
لاراول Homestead
هوم استد یک جعبه Vagrant از پیش بستهبندی شده میباشد که یک محیط توسعه کامل را بدون نیاز به نصب PHP، وب سرور یا هر نرمافزار سرور دیگری بر روی دستگاه محلی شما فراهم میکند. این ابزار شامل Nginx، PHP، MySQL، PostgreSQL، Redis و سایر نرمافزارهای مورد نیاز برای توسعه برنامههای لاراول میباشد.
انتخاب IDE برای توسعه لاراول
ویژوال استودیو کد (VS Code)
- رایگان و قابل تنظیم
- کتابخانه گستردهای از افزونهها، از جمله افزونههای مخصوص لاراول
- پشتیبانی از ترمینال و گیت داخلی
پیاچپیاستورم (PHPStorm)
- غیررایگان، اما با امکانات قدرتمند برای توسعه PHP
- ناوبری پیشرفته کد، ابزارهای بازسازی و اشکالزدایی
- پشتیبانی داخلی از لاراول
تنظیم IDE برای لاراول
- افزونهها و پلاگینها
- نصب افزونههای مخصوص لاراول برای تکمیل کد، برجستهسازی سینتکس و اسنیپتها.
- مثالها: Laravel Blade Snippets، Laravel Artisan، Laravel Extra Intellisense برای VS Code.
- پیکربندی
- تنظیم IDE برای مطابقت با سبک کدنویسی و ترجیحات شما.
- تنظیم ابزارهای linting و فرمتینگ مانند PHP CS Fixer یا Prettier.
- ترمینال داخلی
- استفاده از ترمینال داخلی برای اجرای دستورات Artisan و مدیریت پروژه بدون ترک IDE.
ساخت اولین پروژه در لاراول
برای ایجاد پروژه میتوانید از کامپوزر یا اینستالر لاراول استفاده کنید:
ایجاد پروژه با کامپوزر
برای ساخت پروژه با کامپوزر ابتدا ترمینال را باز کرده و به دایرکتوری مورد نظر خود برای ایجاد پروژه بروید. سپس دستور زیر را اجرا کنید. به جای example-app نام پروژه خود را وارد کنید.
composer create-project laravel/laravel example-app
ساخت پروژه در لاراول با کمک اینستالر
ابتدا Laravel Installer را به با کمک کامپوزر به دستور زیر نصب کنید.
composer global require laravel/installer
سپس با استفاده از دستور زیر یک پروژه جدید ایجاد کنید:
laravel new example-app
در زمان ساخت پروژه از شما سوالاتی پرسیده میشود.
- انتخاب starter kit: اگر با آن آشنایی ندارید ابتدا گزینهی none را انتخاب کنید. در مقالات دیگر راجع به breeze و jetstream صحبت خواهیم کرد.
- فریم ورک Testing: به صورت پیشفرض روی Pest قرار دارد. با آن پیش میرویم و در آینده اطلاعات بیشتری راجع به آن ارائه میکنیم.
- ریپازیتوری git: در ابتدا نیازی به راه اندازی ریپازیتوری نیست و به صورت دستی میتوانیم آن را اجرا کنیم.
- در صورتی که با git آشنایی دارید میتوانید این مورد را فعال کنید.
- انتخاب دیتابیس: به طور کلی MySQL انتخاب مناسبی میباشد اما راه اندازی آن دارای مراحل اضافی میباشد. انتخاب پیشفرض Sqlite میباشد.
- دیتابیس migrations: در صورتی که در مرحله قبل Sqlite را انتخاب کردید در این مرحله با انتخاب yes اجازه دهید تا راه اندازی اولیه دیتابیس به صورت خودکار انجام شود. راه اندازی MySQL در ادامه توضیح داده میشود.
- تغییر آی پی: در صورت وجود مشکل در دانلود و نصب بستهها از تغییر آی پی استفاده کنید. البته پس از آن و در مراحل توسعه نیازی به این کار نمیباشد.
راه اندازی با mysql
پس از پایان مراحل ساخت پروژه در لاراول، سراغ راه اندازی MySQL میرویم.
برای استفاده از آن با لاراول باید از ابزارهایی مانند Wampserver استفاده کنیم تا به ما دسترسی به phpmyadmin بدهند.
- از طریق آیکن ومپ سرور گزینه Mysql و سپس my.ini را انتخاب کنید و آن را با یک ویرایشگر باز کنید.
- در این فایل خط default_storage_engine=InnoDB را فعال کنید.
در مرحله بعد به فولدر پروژه رفته و از پوشه config فایل database.php را باز کنید.
در قسمت default مقدار mysql را وارد کنید:
'default' => env('DB_CONNECTION', 'mysql'),
در قسمت mysql نیز باید مقدار engine را به InnoDB تغییر دهید.
'connections' => [
'mysql' => [
...
'engine' => 'InnoDB',
...
]
]
اکنون وارد phpmyadmin در لوکال هاست شده و در صورت عدم وجود دیتابیسی با نام پروژه شما، یک دیتابیس ایجاد کنید. برای مثال اگر نام پروژه example-app است، نام دیتابیس باید example_app باشد.
در آخرین مرحله دستورات زیر را در ترمینال وارد کنید. (توجه داشته باشید که باید ابتدا وارد دایرکتوری پروژه شوید)
php artisan config:clear
php artisan migrate:fresh
اکنون میتوانید ادامه مراحل را دنبال کنید.
راه اندازی سرور لوکال
آرتیزان یک ابزار خط فرمان در لاراول است که به شما کمک میکند تا وظایف مختلفی مانند ایجاد فایلها، اجرای دستورات PHP و مدیریت پروژه را به سادگی انجام دهید.
برای شروع سرور لوکال، به دایرکتوری پروژه خود بروید و دستور زیر را اجرا کنید:
cd example-app
php artisan serve
دستور بالا سرور را در آدرس http://localhost:8000
راهاندازی میکند.
اگر میخواهید از پورت سفارشی استفاده کنید، میتوانید از گزینه port--
استفاده کنید:
php artisan serve --port=8080
ساختار پروژه لاراول
در ادامه به معرفی کلی ساختار یک پروژه لاراول میپردازیم.
app/: این پوشه شامل کدهای اصلی برنامه است. زیرپوشههای مهم آن عبارتند از:
- Console/: شامل دستورات کنسول سفارشی.
- Exceptions/: شامل مدیریت اکسپشن ها.
- Http/: شامل کنترلرها، Middlewareها و درخواستها.
- Models/: شامل مدلهای Eloquent که با پایگاه داده تعامل دارند.
bootstrap/: این بخش شامل فایلهای بوتاسترپ و تنظیمات اولیه برنامه است. فایل app.php در اینجا تنظیمات اولیه برنامه را بارگذاری میکند.
config/: این پوشه شامل فایلهای پیکربندی برای بخشهای مختلف برنامه مانند پایگاه داده، ایمیل، و سرویسها میباشد.
database/: در این قسمت فایلهای مربوط به پایگاه داده قرار میگیرند:
- migrations/: شامل فایلهای migration برای ایجاد و تغییر جداول پایگاه داده.
- factories/: حاوی فایلهای فکتوری برای تولید دادههای تست.
- seeders/: دارای فایلهای بذر برای پر کردن پایگاه داده با دادههای اولیه.
public/: این پوشه شامل فایلهای عمومی است که به صورت مستقیم توسط مرورگر قابل دسترسی هستند، مانند تصاویر، جاوااسکریپت و CSS. فایل index.php در اینجا نقطه ورود برنامه است.
resources/: این پوشه شامل فایلهای منابع است:
- views/: حاوی فایلهای ویو که با استفاده از موتور قالبسازی Blade ساخته میشوند.
- lang/: این بخش شامل فایلهای زبان برای ترجمههای برنامه.
- sass/ و js/: این فولدر نیز فایلهای SASS و جاوااسکریپت که باید کامپایل را در بر میگیرد.
routes/: این پوشه شامل فایلهای مربوط به مسیرهای برنامه است:
- web.php: حاوی مسیرهای وب.
- api.php: شامل مسیرهای API.
- console.php: نگه دارنده مسیرهای کنسول.
- channels.php: شامل مسیرهای کانالهای رویداد.
storage/: این پوشه نیز شامل فایلهای ذخیرهسازی است:
- app/: در این فولدر فایلهای برنامه قرار میگیرند.
- framework/: این بخش شامل فایلهای فریمورک مانند کش و جلسات.
- logs/: شامل فایلهای لاگ.
tests/: این پوشه شامل تستهای واحد و یکپارچه است که با استفاده از PHPUnit نوشته میشوند.
vendor/: در این قسمت کتابخانههای نصب شده توسط Composer قرار میگیرند.
ایجاد اولین صفحه سایت
فولدر پروژه را در IDE مورد نظر خود مانند VS Code باز کرده و از مسیر resources > views فایل welcome.blade.php را باز کنید.
تمام محتویات آن را پاک کرده و با کد زیر جایگزین کنید.
My App
از مسیر routes فایل web.php را باز کنید.
این فایل مسئول مسیریابی پروژه ما میباشد.
کد زیر در این فایل یعنی برای آدرس “/” که روت پروژه یا همان صفحه اول میباشد، یک view با نام welcome.php یا welcome.blade.php را فرامیخواند.
Route::get('/', function () {
return view('welcome');
});
برای مشاهده تغییرات به مرورگر مراجعه کنید و در صورت نیاز صفحه را دوباره بارگذاری نمایید.
جمع بندی مراحل ساخت پروژه در لاراول
از این قسمت مرحله اصلی کار یعنی طراحی منطق برنامه، طراحی پایگاه داده و … آغاز میشود.
در مقالات بعدی یک پروژه را آغاز کرده و تمام مراحل را تا اجرای سایت روی سرور زنده طی میکنیم.
اگر در هر قسمت به مشکلی برخورد کردید، دیدگاه بگذارید.