احتمالاً این جمله را شنیدهاید که «وقت طلا است»، همیشه برای ما انسانها وقت طلا بوده، بخصوص در دنیای امروز که ما با داشتن تکنولوژی عجولتر شدهایم. سرعت زندگی ما بهشدت بالا رفته، از حرکت با اتومبیلها در اتوبان گرفته، تا ساخت یک مسکن، تا غذا خوردن و هر چیزی که فکرش را بکنیم با سرعت بسیار بیشتری در حال انجام است و این تبدیل به یک سبک زندگی و استاندارد برای همه ما شده است. اگر نگاهی به آگهیهای استخدامی در سایتهای مختلف بیندازید، متوجه حجم بسیاری از کارفرمایانی خواهید شد که حاضر هستند در قبال پرداخت پول بیشتر در زمان کمتری پروژه نرمافزاری خود را دریافت کنند، این دقیقاً ناشی از همان افزایش سرعت زندگی و انتظارات ماست. اگر شما هم تمایل دارید تا با سرعت بیشتر و درعینحال، پیچیدگی بسیار کمتر به پیادهسازی پروژههای نرمافزاری خود بپردازید و بتوانید در قبال کار سادهتر، درآمد بیشتری را کسب کنید با ما هم در این نقشه راه همراه باشید. ما بنا داریم تا در 7 مرحله، به شما مسیر تبدیلشدن به یک متخصص Laravel را نشان دهیم و از شما یک عقاب تیزپرواز بسازیم که با یک دید جامع، بهخوبی هدف خود را شناسایی کرده و سپس با سرعت بسیار به سمت آن حرکت میکند. در طول این مسیر به لطف تجربه 15 ساله خود، بهترین منابع موردنیاز را به شما معرفی میکنیم، نکاتی که احتمالاً در طول مسیر با آن مواجه خواهید شد را متذکر میشویم و در نهایت با شما در این مسیر، گامبهگام همراه خواهیم شد. در انتها به سوالات زیر پاسخ خواهیم داد:
ابتدا بیایید لاراول را بهتر بشناسیم؛ سپس به سراغ مسیر یادگیری آن خواهیم رفت.
بهتر است ابتدا بحث را با این موضوع شروع کنیم که فریمورک چیست؟ فرض کنید که قصد دارید یک وب اپلیکیشن را با کمک زبان PHP توسعه دهید. برای این کار نیاز دارید تا کارهایی تکراری همچون ساخت فولدرهای اصلی، ساخت فایل index.php، ساخت پایگاه داده و اتصال به آن و... را که در ابتدای توسعه هر روژه انجام میدهید را مجددا انجام دهید. این کار وقت و انرژی زیادی از شما میگیرد. فریمورکها برای حل این مشکل اختراع شدهاند و به اصطلاح ما کمک میکنند تا چرخ را دوباره اختراع نکنیم. برخی از فریمورکهای زبان PHP عبارتند از:
طبق جدیدترین نظرسنجیهای وبسایت JetBrains (شرکتی که بهترین IDEهای جهان را برای برنامه نویسان تولید میکند) بیش از 50% از توسعه دهندگان PHP بصورت منظم از Laravel استفاده میکنند. Symfony با آمار 25% در رده دوم است. این موضوع به خوبی نشان میدهد که Laravel به عنوان یکی از محبوبترین فریمورکهای زبان PHP، یک جامعه بزرگ و فعال از توسعه دهندگان باتجربه دارد که میتوانند در صورت لزوم پشتیبانی ارزشمندی ارائه دهند و به توسعه این فریمورک کمک کنند. میتوان چنین نتیجهگیری کرد که راه رستگاری در برنامه نویسی PHP از فریمورک لاراول میگذرد.
اکنون بیایید به سراغ مسیر یادگیری این فریمورک محبوب PHP برویم.
HTML و CSS زبانهایی هستند که برای توسعه رابط کاربری سایت استفاده میشوند و شاید با خودتان فکر کنید که یادگیری آنها چه ربطی به لاراول دارد! در واقع میتوان گفت زبان HTML محتوای درون صفحهای که به کاربر نشان داده میشود را تعریف میکند و این محتوا با CSS تزئین میشود. بنابراین ما برای نمایش اطلاعات مورد نظرمان روی صفحه باید با مبانی این دو زبان آشنا باشیم.
از این مرحله به بعد سفر برنامه نویسی شما آغاز میشود. مراحل ابتدایی برای شما بسیار مهم و حیاتی هستند و باید آنها را به درستی طی کنید. در ابتدای کار سعی کنید با مفاهیم اولیه علوم کامپیوتر و برنامهنویسی آشنا شوید. برای مثال:
وقتی که از شروع کار پایتان را جای محکمی بگذارید در ادامه مسیر با مشکل جدی روبرو نخواهید شد. علاوه بر این در صورت تمایل به یادگیری هر زبان برنامه نویسی دیگری، کارتان بسیار ساده خواهد بود؛ چراکه مفاهیم اصلی را یاد گرفتهاید.
برای یادگیری یک فریمورک، ابتدای امر نیاز است که سراغ یادگیری زبانی بروید که خود فریمورک با آن نوشته شده است. برای یادگیری لاراول، زبانی که باید آن را یاد بگیریم PHP خواهد بود. نیازی به نگرانی در رابطه با گذراندن این مرحله نیست چرا که اگر قدم قبلی را به خوبی پشت سر گذاشته باشید، میتوانید به سرعت با مقدمات اولیه PHP آشنا شوید. حال که شما مبانی علم برنامهنویسی و امکانات متفاوت در آن را یاد گرفتهاید تنها نیاز خواهید داشت تا شیوه نوشتن کدهای PHP را یاد بگیرید و در آن تجربه کسب کنید.
لاراول فریمورکی بر مبنای معماری MVC است بنابراین یادگیری این معماری برای برنامه نویسان PHP از نان شب واجبتر است. معماری یعنی نوشتن کد یک پروژه به گونهای که بتوان آن را قسمتهای مستقل تقسیم کرد. این روش به ما کمک میکند تا پروژههای بزرگ را به بخشهای کوچکتری تقسیم کرده و توسط چندین برنامه نویس به صورت موازی همه بخشها را پیش ببریم. با این کار، خوانایی و نگهداری کدها نیز آسانتر میشود و راحتتر میتوانیم بخشهای جدید را به پروژه اضافه کنیم. در واقع اگر در پروژههای بزرگ از یک معماری استفاده نکنیم، مدیریت و توسعه آنها چه برای توسعه دهنده و چه برای توسعه دهندهای که بعدا قرار است آن را ویرایش کند کاری عذابآور و دشوار خواهد بود. اکنون بیایید به سراغ معرفی معماری MVC برویم.
MVC مخفف Model، View و Controller است.
Model دادههای برنامه شما،View ارائه داده، Controller مغز و منطق برنامه شما هستند. فرض کنید که شما صاحب یک گالری فروش اتومبیل هستید و در پارکینگ خود ماشینهای مختلفی دارید (Model). وقتی مشتری درخواست دیدن اتومبیل موردنظر خود را میکند، شما (Controller) موجودی کالا (مدل) را جستجو میکنید، ماشین را آورده و به مشتری ارائه میدهید (View).
وب سایتها و وب اپلیکیشنها برای ذخیرهسازی و مدیریت دادهها به پایگاه داده نیاز دارند. در ابتدای کار بهتر است که با مفاهیم ابتدایی پایگاه دادهها بهصورت تئوری آشنا شده و بتوانید آنها را روی کاغذ پیادهسازی کنید. بعد از انجام این کار نیاز است که بهطور عملی وارد ماجرا شده و در عمل پایگاه دادههایتان را پیادهسازی کنید. از آنجایی که PHP و Laravel سازگاری بالایی با پایگاه داده MySQL دارند به شما پیشنهاد میکنیم که شروع به یادگیری آن و هم چنین زبان SQL (زبانی که با استفاده از آن دادهها را از پایگاه داده پرسوجو میکنیم) کنید. کار کردن با پایگاه داده بسیار لذت بخش است و به راحتی از پس آن برمیآیید.
بیایید کلمه Composer ( به معنای آهنگساز) را برای لحظهای به معنای واقعی کلمه تصور کنیم.
یک آهنگساز موسیقی دستهای از سازهای مختلف را برداشته و آنها را به گونهای ترتیب میدهد تا در کنسرت با هم کار کنند. برنامه Composer مجموعهای از برنامههای مختلف را در اختیار شما قرار میدهد و آنها را با هم بسته بندی میکند تا در کنسرت کار کنند.
کامپوزر به شما امکان میدهد وابستگیها را برای یک برنامه (یا نسخههای خاص) مشخص کنید و تنها کاری که لازم دارید، این است که بگویید، "سلام کامپوزر - ارکستر را جمع کن، میخواهم آهنگسازی کنم". کامپوزر یک ابزار Command Line است که میتواند با دستورات از پیش تعریف شده، وابستگیهای پروژه را نصب، آپدیت و مدیریت کند.
منبع دانلود وابستگیهای کامپوزر، وب سایت Packagist است. برنامه نویسان مختلف از سراسر جهان پکیجها و کتابخانههای خود را در این سایت بارگذاری میکنند و سایر برنامه نویسان با استفاده از دستورات کامپوزر میتوانند وابستگیهای موردنیازشان را به پروژه خود اضافه کنند. استفاده از این ابزار کاملا رایگان است و به شما کمک میکند تا سرعت توسعه پروژههای خود را بالا ببرید.
اکنون وقت آن است که یادگیری محبوبترین فریمورک PHP، یعنی لاراول را شروع کنید. لاراول همانند یک جادوگر است که انجام کارهای پیچیده را با چند دستور ساده امکان پذیر کرده است. اگر میخواهید پروژههای خود را هر چه سریعتر تمام کرده و به کارفرما تحویل دهید، باید به لاراول مجهز باشید.
علاوه بر این، آن دسته از توسعه دهندگان PHP که به فریمورک لاراول مسلط هستند، به راحتی میتوانند وارد بازار کار شوند و به کسب درآمد بپردازند.
حال این سوال پیش میآید که چگونه میتوان لاراول را به صورت کاربردی یاد گرفت؟ اینجا دو مسیر پیش روی شماست. یادگیری رایگان و غیر رایگان. روش اول به این صورت است که شما با کمک وب سایتهایی همچون laracasts و همچنین مطالعه مستندات لاراول به صورت خودآموز، نحوه کار این فریمورک را میآموزید. این روش از لحاظ مالی برای شما هزینهای ندارد، اما بسیار زمانبر است و باید تسلط نسبی بر زبان انگلیسی داشته باشید. فرض کنید که برای سفر به یکی از شهرهای ترکیه مثلا آنتالیا رفتهاید و چیزی از زبان و فرهنگ این کشور نمیدانید.
اگر راهنمای خوبی نداشته باشید، باید برای تاکسی، هتل و تفریحات خود هزینه بیشتری بپردازید. در صورتی که اگر یک راهنمای حرفهای در کنار خود داشته باشید، هزینههایتان کاهش مییابد و به قول معروف سرتان کلاه نمیرود. اینجاست که اهمیت داشتن یک راهنما و استفاده از تجربیات یک فرد باتجربه برای ما آشکار میشود.
روش دوم استفاده از یک دوره آموزشی معتبر است. در این روش، شما از تجربیات یک استاد حرفهای بهرهمند میشوید. گرچه این روش رایگان نیست اما اگر در قصد و هدف خود برای آموزش لاراول جدی هستید. ارزشش را دارد که آن را از یک متخصص بیاموزید و از توصیههای او نیز بهرهمند شوید.