یکی از دغدغه های افرادی که به زبان های برنامه نویسی اصلی مسلط هستند انتخاب یک فریم ورک کارا و قدرتمند می باشد تا حجم کدنویسی آنها را کاهش داده و در نهایت یک خروجی امن و قابل اعتماد تولید کند. فریم ورک لاراول (Laravel) یک جادوگر به تمام معناست. برای خلق آثار خارق العاده و وب سایت های قدرتمند کافیست شما به زبان PHP تسلط داشته باشید، باقی کارها را لاراول (Laravel) انجام می دهد. این یک شعار نیست بلکه حقیقی است که باعث شده فریم ورک لاراول (Laravel) به عنوان محبوب ترین فریم ورک PHP در سال های اخیر شناخته شود. علاوه بر این اگر شما هم اکنون هر یک از سایت های کاریابی ایران را باز کنید غیر ممکن است با چندین آگهی تحت عنوان «یک فرد مسلط به لاراول (Laravel)» روبه رو نشوید. تصویر زیر از نتایج گوگل نشان می دهد که تنها یک جمله درباره استخدام برنامه نویس لاراول نزدیک به ۱۱۶۰۰۰ نتیجه و لینک را باز گردانده است و مهر تاییدی بر بازار کار خوب این فریم ورک می باشد:
یک معرفی کامل و جامع در ارتباط با فریم ورک لاراول (Laravel) تحت عنوان «چرا لاراول (Laravel)» در روکسو پلاس منتشر شده است. لذا از تمام دوستانی که با این فریم ورک آشنایی ندارند تقاضا دارم که حتما این مقاله را (با کلیک کردن روی عبارت فوق) مطالعه بفرمایند.
چه مهارت هایی در دوره آموزش لاراول کسب می کنید؟
- درک تمام مفاهیم فریم ورک لاراول 6 (آخرین نسخه لاراول)
- ساخت تمام اپلیکیشن ها با استفاده از لاراول
- نصب لاراول روی ویندوز و ساخت محیط مجازی
- درک نحوه استفاده از فریم ورک لاراول در پروژه شخصی
- درک مفاهیم مربوط به مسیردهی ها (Route) در پروژه ها
- توانایی ساخت کنترلر (Controller) ها متناسب با نوع نیاز پروژه
- نحوه تعامل با موتور ساخت قالب Blade
- درک مفاهیم پایگاه داده و نحوه ارتباط با آن توسط Migration ها
- استفاده از ابزار Tinker جهت کار با پایگاه داده
- درک مفاهیم روابط جداول در پایگاه داده (یک به چند، چند به چند، Pholymorphic)
- ایجاد عملیات CRUD روی جداول
- درک مفهوم امنیت در لاراول و میان افزارها (Middleware)
- استفاده از ابزارهای ارسال ایمیل به کاربران
- توانایی نصب و راه اندازی ادیتور (ویرایشگر) شخصی مانند WYSIWYG
- ویرایش دسته ای مطالب
- ساخت یک CMS اختصاصی بلاگ مشابه وردپرس با لاراول
- ساخت یک فروشگاه اینترنتی مشابه دیجی استایل
- درک مفاهیم مربوط به ساخت View ها
- درک مفاهیم تعامل کاربر با پایگاه داده و معرفی ORM لاراول
- درک نحوه اعتبارسنجی فرم ها
- آموزش آپلود عکس و فایل ها
- آموزش ساخت جلسات (Sessions) و درک مفاهیم آن
- اتصال پروژه لاراول به Github و بروزرسانی آن
- یادگیری راه اندازی سیستم نظرات به همراه پاسخ به آنها
- توانایی بارگذاری پروژه نهایی خود در هاست و سرور شخصی
پیش نیازهای دوره آموزش لاراول (Laravel)
دوستان عزیز برای درک بهتر مفاهیم این دوره شما باید به زبان PHP که زبان پایه فریم ورک لاراول (Laravel) می باشد آشنایی داشته باشید. برای این منظور یک دوره آموزشی تحت عنوان «آموزش مقدماتی تا پیشرفته PHP همراه با ساخت یک CMS» در روکسو منتشر کرده ام که با استفاده از آن می توانید به اکثر مفاهیم زبان PHP تسلط کامل پیدا کنید. بنابراین پیش نیازهای این دوره عبارتند از:
- آشنایی به زبان PHP و مباحث اولیه شیء گرایی (که در دوره منتشر شده روکسو ارائه شده است)
- زبان HTML و CSS (جهت طراحی قالب)
معرفی دوره
لاراول به عنوان یکی از محبوب ترین فریم ورک های PHP در سال ۲۰۱۵ تا کنون شناخته شده است. این آمار با استناد به نمودار دایره ای که توسط سایت پوینت منتشر شده است مورد تایید می باشد.
در حال حاضر اکثر شرکت های ایرانی و حتی خارجی به هنگام استخدام نیروی برنامه نویس خود این سوال را می پرسند که «آیا با فریم ورک لاراول (Laravel) کار کرده اید؟» و این بدین معنی است که لاراول به عنوان یک جادوگر PHP می تواند هر کمپانی را نجات دهد. لاراول به دلیل سادگی بسیار زیاد و راحت بودن یادگیری آن و همچنین توانایی ساخت هر نرم افزار پیچیدهای، در هر شرکتی قابل استفاده است. از طرفی به دلیل محبوبیتی که این فریم ورک قدرتمند دارد برنامه نویسان و توسعه دهندگان زیادی پکیج ها (Package) و پلاگین هایی را برای آن تولید کرده اند تا حجم کدنویسی شما را به حداقل میزان ممکن برسانند. به هر حال ما اینجا نیستیم که درباره این فریم ورک و قدرتمندی آن صحبت کنیم. هر آنچه نیاز بوده در مقاله «چرا لاراول» توضیح داده شده است.
سرفصل ها
قدم اول
- معرفی دوره و مدرس
- معرفی لاراول و MVC
نصب لاراول
- مقدمه و معرفی نصب
- نصب محیط کاری PHP
- نصب یک ویرایشگر (IDE)
- معرفی و نصب کامپوزر (Composer)
- معرفی و نصب گیت (Git)
- ساخت یک پروژه لاراول
- معرفی هاست مجازی یا Virtual Hosts
- باز کردن یک پروژه در IDE و لاراول (Laravel)
مسیرها (Routes)
- مقدمه و معرفی ساختار
- مقدمه ای بر مسیرها (Routes)
- ایجاد مسیرها
- نام گذاری مسیرها (Naming Routes)
نترلرها (Controllers)
- معرفی کنترلرها
- ساخت کنترلرها
- مسیردهی با استفاده از کنترلرها
- ارسال اطلاعات به کنترلرها
- منابع (Resources) و کنترلرها
ویو (Views)
- معرفی ویو (Views)
- ساخت ویوها و متدهای دلخواه
- ارسال اطلاعات کنترلرها به ویوها
موتور قالب سازی Blade
- معرفی موتور قالب سازی بلید Blade
- ایجاد لایه های مستر (والد)
- معرفی و کار با برخی از ویژگی های قالب Blade
پایگاه داده - Migration ها
- مقدمه ای بر پایگاه داده
- تنظیم پایگاه داده و اتصال آن به لاراول
- درک مفهوم مهاجرت یا Migrating
- ساخت اولین Migration و حذف آن
- اضافه کردن ستون ها به جداول پایگاه داده
- نکات قابل توجه در Migration
کوئری های خام SQL
- معرفی کوئری ها
- افزودن داده ها به جداول پایگاه داده
- حذف داده ها از جداول پایگاه داده
- خواندن داده ها از جداول پایگاه داده
- بروزرسانی داده ها در جداول پایگاه داده
Eloquent و ORM لاراول
- معرفی الوکوئنت (Eloquent) و ORM یا رابط توسعه ای پایگاه داده
- خواندن داده ها با استفاده از Eloquent
- خواندن داده ها و پیدا کردن آنها با استفاده از قیدها (Constratints)
- راه های متفاوت دریافت داده از دیتابیس با استفاده از Eloquent
- حذف و افزودن داده ها به پایگاه داده با استفاده از Eloquent
- ساخت داده ها و تنظیم آنها به صورت Mass Assignment
- بروزرسانی داده ها با استفاده از Eloquent
- حذف داده ها با استفاده از Eloquent
- حذف داده در سطل زباله و ایجاد قابلیت بازگردانی داده با استفاده از Eloquent
پایگاه داده و ارتباط جداول با استفاده از Eloquent
- معرفی روابط جداول و Eloquent
- روابط یک به یک (One to One)
- روابط معکوس (Inverse Relation)
- روابط یک به چند (One to Many)
- روابط چند به چند (Many to Many)
- روابط Has Many Through
- روابط پلی مورفیک (Polymorphic)
- روابط پلی مورفیک معکوس (Inverse Polymorphic)
- روابط پلی مورفیک چند به چند (Many to Many Polymorphic)
پایگاه داده و ابزار تینکر (Tinker)
- معرفی ابزار تینکر (Tinker)
- ساخت داده با استفاده از Tinker
- جستجو بین رکورد ها با استفاده از Tinker
- بروزرسانی و حذف داده با استفاده از Tinker
پایگاه داده - ایجاد روابط یک به یک، یک به چند، چند به چند، پلی مورفیک به صورت CRUD
- معرفی روابط یک به یک
- ایجاد یک پروژه لاراول جدید و نصب آن
- تنظیم پایگاه داده و Migration ها
- ایجاد روابط بین جداول
- بروزرسانی داده ها
- خواندن و حذف داده ها
فرم ها و اعتبارسنجی در لاراول
- معرفی فرم ها و انواع اعتبارسنجی
- راه اندازی Migration ها و روابط بین جداول
- راه اندازی View و مسیرها (routes)
- راه اندازی کنترلرها و ویوها
- ارسال داده ها به پایگاه داده و خواندن داده از آن
- بروزرسانی و ویرایش فایل ها از پایگاه داده درون فرم
- حذف داده ها از طریق فرم ها
فرم ها - نصب پکیج ها و اعتبارسنج ها
- معرفی و مقدمه پکیج ها
- نصب پکیج ها و تست کردن آنها
- اصلاح فرم های ساخته شده با استفاده از پکیج ها
- اصلاح فرم های ویرایش و حذف داده ها با استفاده از پکیج اعتبارسنجی
- معرفی اعتبارسنجی های مقدماتی
- نمایش خطاهای اعتبارسنجی
- آموزش اعتبارسنجی حرفه ای
پایگاه داده - معرفی برخی عملگرهای مدل Model
- آموزش کار با Dates
- آموزش کار با Accessors ها
- آموزش کار با Mutators ها
- نحوه نوشتن کوئری در یک Scope
فرم ها - آپلود فایل ها (Uploading Files)
- معرفی فرم های آپلود فایل
- ایجاد ویو برای دریافت و آپلود فایل کاربران
- بازیابی فایل ها
- درج فایل ها در دیتابیس
- نمایش تصاویر با استفاده از accessor ها
کار با Storage
- معرفی پوشه Storage
- آپلود فایل ها در پوشه Storage
- فراخوانی فایل ها از پوشه Storage
- انتقال امن فایل ها به پوشه Storage
- نحوه حذف فایل ها از پوشه Storage
- محافظت از فایل های فروشی توسط پوشه Storage
- تنظیم کردن درایورهای پوشه Storage
فرم ها - ورود و عضویت کاربران
- معرفی نحوه ورود و عضویت کاربران
- ایجاد یک پروژه لاراول جدید
- نصب پایگاه داده و ارتباط جداول و Migrations
- ایجاد یک سیستم ورود و عضویت در کمتر از ۱ دقیقه
- بازیابی اطلاعات کاربران ثبت نام شده
امنیت - میان افزارها (Middleware) و محافظت از مسیرها
- مقدمه ای بر امنیت در لاراول (Laravel)
- ایجاد یک میان افزار Middleware جدید
- معرفی roles ها و migration ها و ایجاد روابط
- معرفی ۴ روش برای ارتباط میان افزارها با جداول
امنیت - کنترل سطح دسترسی (Access Control Level)
- مقدمه ای بر کنترل سطح دسترسی کاربران
- معرفی Gate یا درگاه ها
- صدور مجوز دسترسی کاربر به ویرایش فایل ها توسط Gateها
- ثبت درگاه ها و اعمال آنها در کنترلر
- معرفی Policy یا سیاست ها
- هوشمندسازی سطح دسترسی کاربران با سیاست ها
- تعیین سطح دسترسی کاربران بر اساس نقش آنها (نویسنده، مدیریت)
- امن سازی مسیرهای لاراول با استفاده از اعمال Policy در کنترلرها
جلسات (Sessions)
- معرفی جلسات (Sessions)
- خواندن و نوشتن جلسات (Sessions)
- حذف جلسات (Sessions)
- نمایش پیام ها
ارسال ایمیل به کاربران
- نصب یک پروژه جدید
- راه اندازی سیستم ایمیل با استفاده از mailgun
- ارسال تاییده ایمیل
- تنظیم سرور و ارسال ایمیل
- مسیردهی ایمیل برای تایید اطلاعات
گیت و گیت هاب (Git and Github)
- معرفی گیت (Git)
- آموزش نصب گیت (Git)
- ارائه برخی از دستورات گیت (Git)
- ایجاد شاخه ها
- معرفی گیت هاب (Github)
- ایجاد یک مخزن یا Repository در گیت هاب
- ایجاد تنظیمات گیت هاب و اتصال آن به گیت
- نحوه ارسال پروژه روی گیت هاب
بهینه سازی لاراول با Laravel Mix
- مقدمه ای بر Laravel Mix
- معرفی Node و ابزار npm
- نصب پکیج های موردنیاز برای کار با Laravel Mix
- فشرده سازی کدهای CSS و Js با استفاده از Laravel Mix
- استفاده از تابع mix و نمایش خروجی های آن
چند زبانه کردن لاراول با استفاده از Localization
- معرفی Localization
- نصب زبان فارسی و انگلیسی روی پروژه
- نمایش نحوه بکارگیری زبان برای هر مسیر
- نمایش نحوه بکارگیری توابع lang و trans و trans_choice
- ارسال پارامتر بر اساس زبان انتخابی
- دریافت زبان سایت با استفاده از متد getLocale و isLocale
تست کردن نرم افزار با استفاده از PHPUnit
- مقدمه و معرفی ابزار تست PHPUnit
- راه اندازی یک پروژه اولیه برای کار با PHPUnit
- بکارگیری PHPUnit روی مدل ها
- معرفی Assertion ها
- کار با انواع Asset ها و ارتباط دستورها با منابع
- کار با Dusk و تست کردن عملیات کاربران
پروژه سیستم مدیریت محتوا (CMS) بلاگ مشابه وردپرس
مقدمه و معرفی
- مقدمه و معرفی پروژه
- نصب آخرین نسخه
- ایجاد پایگاه داده و معرفی نرم افزار Navicat Permium
- اتصال پایگاه داده به پروژه وبلاگ
تحلیل پایگاه داده کاربران و نقش ها
- معرفی نرم افزار Visio
- مستندسازی پایگاه داده
- تعریف جداول posts و users و roles در Visio
- راه اندازی ویو مطالب
- معرفی و تعریف دستور foreign در پایگاه داده
- ایجاد کلیدهای خارجی جهت اتصال جداول roles و users
- تست جداول کاربران و نقش ها با استفاده از ابزار Tinker
قالب مدیریت
- راه اندازی و نصب قالب بخش مدیریت سایت
- اضافه کردن فایل های js و css
- میکس کردن و فشرده سازی فایل های js و css
- نصب بوت استراپ ۴ روی قالب مدیریت
- راه اندازی اولیه منوهای مدیریت
- نصب Nodejs و دانلود کردن فایل های مورد نیاز
بخش کاربران
- ایجاد صفحه نمایش لیست کاربران در بخش مدیریت
- استفاده از لاراول کالکتیو در صفحه مدیریت
- ایجاد کنترلر و مدل کاربران (user) به همراه روابط آنها در دیتابیس
- ایجاد صفحه ثبت نام کاربر جدید به همراه آپلود تصاویر
- اختصاص دادن نقش به کاربر (مدیریت، نویسنده، کاربر عادی)
- ویرایش و بروزرسانی کاربر
- آپلود تصویر آواتار (پروفایل) کاربر
- ایجاد سیستم حذف کاربران
- نمایش پیام های حذف و اضافه شدن کاربران به صورت فلش
امنیت در صفحه مدیریت
- راه اندازی میان افزارها برای امنیت صفحه مدیریت
- اجازه دسترسی به بخش مدیریت تنها برای کاربر با نقش «مدیر»
- ایمن سازی صفحه ثبت نام و ورود
- ایجاد صفحات ۴۰۴ و خطاها
- ایجاد partial view برای نمایش خطاها
بخش مطالب
- طراحی پایگاه داده مطالب (posts) و شبیه سازی آن در visio
- ایجاد کنترلر و مدل مطالب (post) به همراه روابط آنها در پایگاه داده
- اضافه کردن سئو به ساختار مطالب
- راه اندازی سیستم ذخیره سازی نام مستعار مطالب در پایگاه داده (slug)
- ایجاد آدرس های زیبا (Pretty Urls) برای سئو مطالب
- نمایش لیست مطالب و نویسندگان آن در صفحه مدیریت
- ایجاد مطلب جدید با قابلیت انتخاب خودکار دسته بندی ها
- افزودن امکان ویرایش مطلب و ذخیره آنها با اعتبارسنجی unique
- افزودن امکان آپلود تصاویر اصلی مطالب و قرار دادن آن در مطالب
- راه اندازی سیستم حذف مطالب
بخش دسته بندی ها
- طراحی جدول دسته بندی ها (categories) در پایگاه داده و شبیه سازی آن در visio
- ایجاد مدل و کنترلر دسته بندی ها (category) و روابط آنها در پایگاه داده
- نمایش تمام دسته بندی ها
- اعمال نام مستعار و سئو به هر دسته بندی
- اضافه کردن قابلیت حذف و اضافه کردن دسته بندی ها
بخش رسانه ها
- طراحی و پیاده سازی جدول رسانه ها (photos) در پایگاه داده و شبیه سازی آن در visio
- ایجاد مدل و کنترلر رسانه ها (photo) و روابط آن با سایر جداول در پایگاه داده
- نمایش کلیه تصاویر (رسانه ها) در صفحه مدیریت
- اضافه کردن سیستم آپلود تصاویر با پلاگین Dropzonejs
- اضافه کردن قابلیت حذف تصاویر از پایگاه داده و پوشه هاست (images)
بهینه سازی صفحه مدیریت
- ایجاد صفحه بندی (Pagination) در لاراول و قالب بوت استراپ
- ایجاد صفحه داشبورد
- نمایش تعداد پست ها، کاربران، دسته بندی ها و رسانه ها در داشبورد
- نمایش آخرین مطالب در صفحه داشبورد
- نمایش آخرین کاربران در صفحه داشبورد
طراحی قالب صفحه سمت کاربر (فرانتد)
- نمایش آخرین مطالب (فعال) بر اساس تاریخ انتشار
- ایجاد منوی سایت
- افزودن فریم ورک بوت استراپ به قالب
سئو و بهینه سازی مطالب وبلاگ
- ایجاد آدرس های زیبا و Pretty URL
- اضافه کردن تگ های متا (Meta Description و Meta Keywords)
سیستم نظرات
- ایجاد پایگاه داده سیستم نظرات
- برقراری روابط بین نظرات و پست ها
- نمایش نظرات در انتهای هر پست
- ایجاد سیستم رد و تایید نظرات موجود
- امکان افزودن پاسخ به هر نظر
- نمایش تو در تو پاسخ ها
- امکان بروزرسانی و ویرایش نظرات
امکان حذف دسته جمعی رسانه ها
پروژه فروشگاه اینترنتی دیجی استایل (Digistyle)
- تحلیل فروشگاه اینترنتی دیجی استایل
- نصب پروژه و ایجاد تنظیمات پایگاه داده
- آموزش کار با نرم افزار Navicat و رسم شماتیک پایگاه داده
- مستند سازی پروژه
- ایجاد قالب اصلی وب سایت فروشگاه اینترنتی دیجی استایل
- نصب قالب مدیریت HTML روی پروژه
- ایجاد مدل ها و روابط بین جداول در پایگاه داده
- استفاده از ابزار npm
- ایجاد دسته بندی ها، محصولات، کاربران در بخش مدیریت فروشگاه
- ایجاد مسیرهای (Route) مربوطه
- ایجاد کنترلرهای مربوط به هر بخش
- استفاده کردن از مدل ها و ارسال داده به قالب HTML جهت نمایش برای کاربران
- نصب Vuejs و استفاده از آن در پروژه
- ذخیره داده ها در پایگاه داده
- معرفی پلاگین Dropzone جهت آپلود چند منظوره تصاویر در فروشگاه
- ایجاد سیستم تخفیف برای فروشگاه
- ایجاد سیستم نمایش سفارشات در بخش مدیریت و پروفایل کاربری
- ایجاد سیستم نظرات در بخش مدیریت و قابلیت نظردهی برای هر محصول
- اسلایدر در صفحه اصلی فروشگاه
- ایجاد زیر دسته ها
- معرفی Helper ها و بکارگیری آنها در فروشگاه
- ایجاد سیستم سبد خرید کاربران
- ایجاد سیستم ثبت نهایی سفارش
- نمایش محصولات پیشنهادی به کاربران
- بهره مندی از سیستم ورود و عضویت کاربران
- ایجاد صفحه پروفایل کاربری و ویرایش آن توسط کاربر
- آموزش نحوه اتصال به درگاه های بانکی در فروشگاه اینترنتی
- ایجاد سیستم فیلتر محصولات برای هر دسته و زیر دسته
لاراول 6
- معرفی بروزرسانی و تغییرات لاراول 6
- بروزرسانی Xampp و نسخه PHP جهت کار با لاراول 6
- کار با پکیج ignition و مدیریت خطاها در لاراول 6
- معرفی و کار با PHP Generator در لاراول 6
- ویژگی جدید Lazy Collection در لاراول 6
- احراز هویت کاربران با Authorization Response در لاراول 6
- معرفی Job Middleware در لاراول 6
- کار با Subquery ها در لاراول 6
- کار با Laravel ui و راه اندازی احراز هویت در لاراول 6
لاراول 8
- معرفی بروزرسانی های مربوط به نسخه ۸ لاراول
- بررسی Semantic Versioning
- کار با فولدر Models و معرفی HasFactory
- کار با ساختار Authentication در لاراول 8
- معرفی JetStream در لاراول 8
- بررسی دو ابزار به نام های Livewire و Inertia
- نحوه نصب Jetstream در لاراول 8
- کار با پوشه بندی ها و کامپوننت های آماده در Inertia
- راه اندازی اولیه وب سایت
- کار با پنل ورود و عضویت کاربران و معرفی داشبورد کاربر
- بررسی ساختار Job Batching در لاراول 8
- بررسی احزار هویت دو مرحله ای (Two Factor Authentication)
- مدیریت Sessionها در داشبورد کاربران با Jetstream
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای دوره پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.