خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش برنامه نویسی لاراول - به صورت قدم به قدم و گام به گام

آموزش برنامه نویسی لاراول - به صورت قدم به قدم و گام به گام
ورود شما را به دنیای لاراول (Laravel) خوش آمد می گوییم. اینجا ایستگاهی است که باید در آن اندکی توقف و تأمل کنید تا قدرت شگفت انگیز لاراول را به نظاره بنشینید. قبل از هر چیز بیایید ببینیم لاراول چیست؟ لاراول یک فریم ورک (framework) برنامه نویسی وب است که برای زبان برنامه نویسی php طراحی شده است. پس همینجا مشخص می شود که پیش نیاز درک این آموزش اینست که با php آشنا باشید و در واقع این فریم ورک مخصوص برنامه نویسان این زبان خاص است. البته اگر با php آشنایی ندارید، این مژده را به شما بدهم که مرجع کاملی از آموزش های آن را می توانید در مجموعه آموزش های php بیابید. فارغ از اینکه تازه وارد دنیای php شده باشید یا اینکه یک php کار حرفه ای باشید، فریم ورک لاراول دستیار مطمئن شماست و در ضمن این قابلیت را نیز دارد که همراه با شما رشد کند. برای دانلود فریم ورک لاراول می توانید به سایت سازندۀ آن laravel.com مراجعه کنید.

چرا لاراول را انتخاب کنیم؟


برای ساخت یک برنامۀ وب، ابزارها و فریم ورک های فراوانی در دسترس شما هستند، با این حال نظر بنده اینست که لاراول بهترین انتخاب برای ساخت یک برنامۀ کاربردی مدرن تحت وب است. لاراول طوری طراحی شده است که برنامه نویسی تحت وب به کمک ویژگی های داخلی آن آسانتر و سریعتر می شود. این ویژگی ها بخشی از چیزی هستند که منجر شده است لاراول به طور گسترده توسط برنامه نویسان وب مورد استفاده قرار گیرند. در ادامه به برخی از آنها می پردازیم:

  • یک سیستم ماژولار بسته بندی شده همراه با مدیریت وابستگی ها (dependency management). این بدین معناست که می توانید به سادگی کارکردهایی را به برنامۀ تحت لاراولتان بیفزایید، بدون اینکه مجبور باشید برنامه نویسی آنها را از نقطۀ صفر آغاز کنید.
  • یک سیستم احراز هویت کامل که در زمان و انرژی لازم برای برنامه نویسی شما صرفه جویی عظیمی را منجر می شود.
  • امکان نگاشت رابطه ای شیئی (Object-relational mapping) که به ORM شناخته می شود. وجود ORM در لاراول منجر می شود تا جداول پایگاه دادۀ تان را در شکل کلاس هایی به سادگی در اختیار داشته باشید و دسترسی به داده ها و دستکاری آنها سریعتر و آسانتر گردد.
  • وجود یک رابط کاربری خط و فرمان (command-line interface) که همراه با ده ها دستور از پیش ساخته شدۀ کاربردی برای تسهیل امور است.
  • فرآیندهای اتوماتیک تست، به عنوان بخشی جدایی ناپذیر همراه با لاراول ارائه می شوند و در اختیار شما هستند.
  • یک محیط توسعۀ قابل حمل و مجازی، که تمامی ابزارهای لازم برای توسعه با لاراول را مستقیماً در اختیار توسعه دهندگان قرار می دهد.

فراموش نکنید که برای برنامه نویسی وب، علاوه بر ابزارهای سمت سرور که در اینجا به لاراول اشاره داریم، باید بر برنامه نویسی سمت کلاینت نیز تسلط کافی داشته باشید. در این ارتباط می توانید از مجموعه آموزش های طراحی سایت با HTML و CSS در فرادرس مراجعه کنید.

آموزش برنامه نویسی لاراول

آیا لاراول یک ابزار فرانت اند است یا بک اند؟


پاسخ کوتاه این سوال اینست که لاراول برای بک اند (backend) است. لاراول یک فریم ورک سمت سرور php است، اساساً خود php تکنولوژی سمت سرور است و طبیعتاً فریم ورک های آن هم عمدتاً سمت سرور خواهند بود. به کمک لاراول شما می توانید برنامه های فول استک (full-stack) را بسازید. از مدیریت حساب های کاربری گرفته تا مدیریت سفارشات و سایر امور سمت سرور را می توانید به لاراول بسپارید.

\(\text{MVC}\) در لاراول چیست؟


کلمۀ MVC سرنام Model-View-Controller می باشد که یک الگوی معماری نرم افزار است که برنامه را به سه قسمت اساسی Model برای داده ها، View برای مشاهده و تغییر داده ها، و Controller برای مدیریت عملیات قابل انجام بر روی داده ها تجزیه می کند.

برای اینکه MVC را بهتر درک کنید برایتان مثالی می زنیم. فکر کنید یک پیتزا سفارش داده اید. در رستوران این اتفاقات می افتد. درخواستی برای پیتزای پپرونی دریافت می شود. به محض اینکه درخواست شما در رستوران ثبت شد، شخصی که پیتزا را درست می کند (Controller)، آن را به یک سری از مراحل می شکند. خمیر را بردار، فر را روشن کن، پنیر رنده شده را روی آن بپاش، و ... . Controller فقط می تواند منابع محدودی را که در اختیار دارد استفاده کند، این منابع محدود که در اختیار او هستند Model نام دارد، این منابع محدود عبارتند از دستها، فر، سینی پیتزا و ... . در نهایت پیتزا آماده می شود و شما پیتزایی را که سفارش داده بودید دریافت می کنید که این یک View فوق العاده می شود.

ابن روش برای سازماندهی یک برنامه بسیار عالی است، زیرا چیزها را در سه ناحیۀ منطقی جداگانه مدیریت می کند. نتیجه این می شود که کدهای شما سازمان یافته تر می گردند و اشکال زدایی آنها نیز آسان تر می شود. لاراول معماری MVC را به عنوان بخشی از طراحی خود پیاده می کند.

شاید بخواهید در ارتباط با MVC و سایر حوزه های برنامه نویسی وب بیشتر بدانید، اگر اینطور است توصیه ما مجموعه آموزش های طراحی سایت است.

آموزش برنامه نویسی لاراول

آیا می توانم لاراول را بدون php یاد بگیرم؟


در واقع در هستۀ لاراول php قرار دارد و بنابراین یادگیری لاراول بدون داشتن تسلط کافی بر php چندان معنادار نیست. بدون دانستن php نخواهید توانست کارکردهای جدیدی را به لاراول اضافه کنید و فقط محدود به مواردی خواهید بود که در دل این فریم ورک به طور پیش فرض قرار گرفته اند. در واقع برای اینکه به بهترین وجه ممکن بتوانید از لاراول بهره ببرید باید هم php بدانید و هم اینکه مفاهیم برنامه نویسی شیء گرا (OOP) را به درستی درک کرده باشید. با داشتن این دو دانش می توانید به نحو احسن از تمامی پتانسیل موجود در لاراول استفاده کنید.

آیا یادگیری لاراول آسان است؟ بهترین راه یادگیری آن چیست؟


لاراول منحنی یادگیری کوتاهی دارد، مخصوصاً اگر قبلاً با php آشنایی داشته باشید. حتی اگر جایی گیر کنید، خوشبختانه جامعۀ برنامه نویسان لاراول جامعۀ بزرگی است و در ضمن منابع زیادی در شکل متن و فیلم و ... در وب یافت می شوند که می توانید به کمک آنها دانشتان در لاراول را افزایش دهید. یک روش خوب دیگر برای یادگیری لاراول، مطالعۀ اسناد خود آن است. یکی از بهترین روش های فراگیری لاراول استفاده از آموزش فریم ورک لاراول (Laravel FrameWork) می باشد.

آیا لاراول یک سیستم مدیریت محتوا است؟


برخلاف سیستم های مدیریت محتوا (CMS)، مانند دروپال یا وردپرس، لاراول کنترل کاملی بر روی برنامۀ شما می دهد. برخلاف دروپال و جوملا، در لاراول همه چیز در داخل کدها صورت می پذیرد، برای مثال، در سیستم های مدیریت محتوا می توانید بدون یک خط کدنویسی و حتی بدون داشتن دانش برنامه نویسی یک وبسایت ایجاد کنید، اما در لاراول اینگونه نیست. در واقع لاراول ابزاری برای برنامه نویسان وب و در اختیار آنها است. لاراول یک فریم ورک برنامه نویسی وب است که می توانید از آن برای ساختن برنامه های بسیاری از جمله ساختن خود سیستم های مدیریت محتوا مانند وردپرس و جوملا، استفاده کنید.

نکات مهم نصب لاراول


اولین نکتۀ نصب لاراول اینست که بدانید، لاراول برای مدیریت وابستگی ها (dependencies) از ابزار معروف دیگری بنام Composer استفاده کنید. فی الواقع این ابزار پیش نیاز نصب لاراول می باشد. سپس لاراول را روی آن نصب می کنید. بر روی سروری که لاراول را نصب می کنید ضرورت دارد که نسخۀ \(\text{5.4}\) از php نصب باشد. همچنین MCrypt PHP Extension نیز نصب و فعال باشد.

اولین نکتۀ مهمی که بعد از نصب لاراول باید در نظر داشته باشید اینست که یک کلید (key) برای برنامۀ تان سِت کنید، این کلید برای رمزگذاری داده ها و بالا بردن امنیت کاربرد خواهد داشت. تقریباً دیگر هیچ تنظیم یا پیکره بندی خاصی نیاز نیست و می توانید از اینجا به بعد برنامه نویسی با لاراول را آغاز کرده و از آن لذت ببرید.

آموزش برنامه نویسی لاراول

راهنمای گام به گام ایجاد اولین برنامۀ تحت وب با لاراول


لاراول از زمان انتشار اولیه اش در سال \(2011\) رشد بی سابقه ای را تجربه کرده است. در سال \(2015\) به عنوان پر ستاره ترین فریم ورک php در گیتهاب (GitHub) شناخته شد و به عنوان یک فریم ورک اصلی برای php در سراسر دنیا شناخته شد. لاراول بر روی کاربر نهایی تمرکز می کند، بدین معنی که بر روی سادگی، شفافیت و انجام کارها تمرکز دارد. برنامه نویسان از لاراول برای ساختن همه چیز از پروژه های سرگرمی ساده گرفته تا برنامه هایی برای شرکتهای بسیار بزرگ استفاده می کنند.

در اینجا قصد دارم تا برای تازه کارانی که اولین تجربۀ کاری خود با لاراول را سپری می کنند، راهنمای گام به گامی بسازم که در واقع ایده ای برای شروع کار با لاراول به آنها بدهد. این آموزش نیاز به چند پیش نیاز دارد که در لیست زیر آورده ام:

  • یک محیط محلی php (به عنوان مثال ابزارهایی همچون Valet، Homestead، MAMP و ...)
  • یک پایگاه داد (در اینجا من از MySQL استفاده خواهم کرد)
  • PHPUnit بر روی کامپیوتر شما نصب باشد
  • Node JS بر روی کامپیوتر شما نصب باشد

1. شروع پروژه


هر پروژه ای باید از جایی شروع شود. ایدۀ اولیه هر چقدر هم که ساده باشد باید یا در ذهن شما باشد یا اینکه روی کاغذ پیاده شده باشد. در اینجا قصد داریم پروژه ای بسازیم که یک سری لینک را در پایگاه داده ذخیره کند. بیایید کار را آغاز کنیم.

2. مرحلۀ اول


عادت شخصی من اینست که پروژه هایم را در مسیر \(\text{~/Sites}\) قرار دهم. برنامۀ ترمینال خود را باز کنید و وارد این مسیر شوید.

mkdir ~/Sites
cd ~/Sites

برای نصب لاراول در برنامه بسته به اینکه لاراول را مستقیم نصب کرده اید یا به کمک composer، یکی از دو قطعه کد زیر را اجرا کنید.

# Via the installer
laravel new links
# Via composer
composer create-project --prefer-dist laravel/laravel links "7.*"

با انجام این دستورات، یک دایرکتوری جدید در \(\text{~/Sites/links}\) ایجاد می شود و یک پروژۀ لاراول در آن نصب می گردد. اگر در مرورگرتان آدرس links.test را مشاهده کنید، صفحۀ پیش فرض لاراول را مشابه تصویر زیر خواهید دید:

آموزش برنامه نویسی لاراول

3. تنظیمات پایگاه داده


هنگامی که یک پروژۀ جدید لاراول را ایجاد می کنید، فرآیند نصب به طور خودکار یک فایل \(\text{.env}\) برای شما می سازد که پیکره بندی ها و گواهی نامه ها (credentials) را در آن ایجاد می کنید. بسته به فرآیند نصبتان باید قطعه کدهای تنظیمات زیر را جهت برقراری ارتباط با پایگاه داده تنظیم کنید:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=123

ممکن است بخواهید برای این پروژه یک فایل دیتابس جدید بسازید. در اینصورت:

# Connect via the mysql CLI
mysql -u root -p
mysql> create database links_development;
mysql> exit
# Or use the -e flag to run the create command
mysql -u root -e'create database links_development'

بعد از ایجاد دیتابیس جدید تنظیمات آن را مشابه کدهای زیر در فایل \(\text{.env}\) اعمال کنید.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=links_development
DB_USERNAME=root
DB_PASSWORD=123

بهترین روش برای تست ارتباط با پایگاه دادۀ شما اجرای دستور زیر است:

php artisan migrate

اگر همه چیز طبق برنامه پیش برود، بعد از اجرای دستور migrate چیزی مشابه تصویر زیر را مشاهده خواهید کرد:

آموزش برنامه نویسی لاراول

4. ایجاد لیستی از لینک ها


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

php artisan make:migration create_links_table --create=links

اکنون فایلی که توسط این دستور ایجاد شده است را باز کنید. آن را در مسیر \(\text{database/migrations/{{datetime}}_create_links_table.php}\) می توانید پیدا کنید. همچنین متوجه خواهید شد که تعداد دیگری migration نیز در این پوشه وجود دارد که توسط فریم ورک ایجاد شده اند.

در داخل متد \(\text{up()}\) اسکیمای زیر را وارد کنید.

Schema::create('links', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('url')->unique();
$table->text('description');
$table->timestamps();
});

فایل را ذخیره کنید و دستور زیر را اجرا کنید:

php artisan migrate

بسیار عالی. تا اینجای کار شما موفق شدید به کمک فریم ورک لاراول بخشی از این پروژه را پیش ببرید. البته این پروژه هنوز تکمیل نشده است و خیلی کارهای دیگر می توان با آن کرد، اما از آنجا که در این نوشتار هدف ما صرفاً یک آشنایی اولیه با لاراول بود به همین حد کفایت می کنیم. اگر در زمینۀ لاراول نیاز به آموزش های بیشتر دارید می توانید آموزش REST API در Laravel (لاراول) با بسته Passport در فرادرس را ببینید که یک آموزش حرفه ای در این زمینه می باشد.

جهت مشاهده آموزش های بیشتر در این زمینه و البته آموزش های بیشتر در سایر حوزه های فنی می توانید از سایت فرادرس بازدید نمایید. در این سایت می توانید موضوعات فراوانی در حوزه های برنامه نویسی، مهندسی نرم افزار، هوش مصنوعی، رباتیک، و ... را بیابید.

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


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز