در حال برگزاری و ثبت نام

دوره پروژه محور PHP MVC

30 درصد تخفیف پلکانی تا شروع دوره - تخفیف ذکر شده به ازای هر 10 دانشجو کاهش خواهد یافت.




 
طول دوره : 3 الی 4 ماه
 
کل دوره : بیش از 40 ساعت
 
جلسات منتشر شده : 10

مواردی که در این دوره فرا می گیریم :

  • پیاده سازی سیستم Routing فریم ورک مشابه با فریم ورک لاراول
  • مروری بر regular expression ها برای پیاده سازی کلاس Router و دریافت متغیر ها از URL همانند فریم ورک لاراول
  • بررسی مفهوم dispatch در سیستم routing و پیاده سازی آن
  • بررسی نحوه ارسال و دریافت پارامتر ها از طریق URL در معماری MVC
  • پیاده سازی سیستم اعتبار سنجی داده ها مشابه فریم ورک لاراول ( validation Rules )
  • بررسی نحوه ارسال داده ها به controller ها توسط متدهای GET و POSTو دریافت آنها
  • بررسی نحوه ارسال دادها از controller ها به Model برای پردازش دادها و ذخیره در دیتابیس
  • بررسی نحوه دریافت دادها از دیتابیس توسط Model و ارسال آنها به Controller های مربوطه
  • کار با composer و استاندارد psr4 برای مبحث autoloading کلاس ها و مدیریت بهینه آنها توسط namespace ها
  • پیاده سازی Model دیتابیس و کار بر روی انواع کوئری ها
  • استفاده از پکیج verta توسط composer برای کار با تاریخ شمسی
  • برای اطلاعات بیشتر سرفصل دوره را مطالعه کنید...

الگو ( معماری ) MVC چیست ؟
الگوی Model-View-Control (MVC) ، که در ابتدا در اواخر دهه 1970 تدوین شد ، یک الگوی طراحی یا به عبارتی یک معماری نرم افزاری است که بر اساس جدا نگه داشتن داده ها و بخش های مختلف یک نرم افزار بر پایه روش های تعامل بخش ها و داده ها با یکدیگر ساخته شده است. از نظر تئوری ، یک سیستم MVC که به خوبی توسعه یافته باید بتواند به یک توسعه دهنده وب چه Front-End چه Back-End اجازه دهد تا بر روی همان سیستم کار کنند بدون اینکه مداخله ای در اشتراک یا ویرایش فایل هایی داشته باشند که هر دو طرف روی آن کار می کنند ، ایجاد شود. حتی اگر MVC در ابتدا برای محاسبات شخصی طراحی شده باشد اما به دلیل جلوگیری از درهم ریختگی کدها ( Spaghetti Code ) و بر بطرف کردن دغدغه قابل استفاده بدون مجدد کدها ( Reusability) ، توسط توسعه دهندگان بسیار محبوب شده است. این الگو توسعه سیستم های ماژولار محور را امکان پذیر کرده و به توسعه دهندگان اجازه می دهد تا به سرعت قابلیت ها را به روز ، اضافه یا حتی حذف کنند.

مزایای الگوی MVC
کاهش انعطاف پذیری کدها
قابلیت استفاده مجدد از کدها
مدیریت آسان کدها و پروژه
خوانایی بالاتر کدها

در ادامه توضیحات الگوی MVC را مرور خواهیم کرد و یک تعریف کلی و در عین حال ساده از آن خواهیم داشت این توضیحات قطعا برای هر کسانی که قبلاً با MVC کد نویسی نکرده اند و یا کسانی که می خواهند مهارتهای قبلی خود را در توسعه نرم افزار افزایش دهند مفید خواهد بود.

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

 Model
بطور کلی کار Model ارتباط به دیتابیس است و توسط فرامینی که از controller دریافت می کند به تجزیه و تحلیل نوع درخواست ها پرداخته و تمام عملیاتی که مرتبط با ذخیر,بروزرسانی,حذف و یا فراخوانی دادها از دیتابیس است می پردازد و نتیجه را در اختیار Controller قرار می دهد یکی از جنبه های مهم Model این است که از نظر فنی به اصطلاح کور ( نابینا ) است به بیان ساده تر Model ها هیچ ارتباط و اطلاعی از آنچه برای داده ها هنگام انتقال به اجزای View یا Controller اتفاق می افتد ندارد. نه بخشهای دیگر را فرا خوانی می کنند و نه پاسخی می خواهد. تنها هدف آن پردازش داده ها و آماده سازی آنها برای انتقال به قسمت های دیگر نرم افرار است. با این حال ، مدل به سادگی نمی تواند به عنوان یک پایگاه داده یا دروازه ای به سیستم دیگری که فرآیند داده را کنترل می کند ، خلاصه شود. مدل باید به عنوان یک دروازه بان برای داده ها عمل کند ، هیچ سوالی نپرسد اما همه درخواست هایی را که سر راه آن قرار دارد بپذیرد. Model که اغلب پیچیده ترین قسمت نرم افراهای بر پایه الگوی MVC است ، قلب کل سیستم است زیرا بدون آن هیچ ارتباطی بین Controller و View وجود نخواهد داشت.

View 
View جایی است که داده های درخواست شده از مدل مشاهده شده و خروجی نهایی آن تعیین می شود. به طور سنتی در برنامه های وب که با استفاده از MVC ساخته می شوند ، View بخشی از سیستم است که وظیفه آن نمایش رابط کاربری و به زبان ساده تر همان کدهای CSS,HTML است. بطور کلی کابران یک نرم افزار از طریق مشاهده View ترقیب به واکنش می شوند. مثلا کاربر توسط یک دکمه مثل ثبت نام در سایت که در بخش View قرار داده شده کلیک می کند که باعث شروع عملیاتی در Controller می باشد. ( ارسال اطلاعات فرم ثبت نام به controller ) "توجه به این نکته بسیار مهم است که برای اعمال صحیح معماری MVC ، نباید هیچ تعاملی بین Model و View بطور مستقیم وجود داشته باشد و تمام منطق برنامه باید توسط بخش Controller اداره می شود"

Controller 
وظیفه Controller رسیدگی به درخواست ها و یا داده هایی است که کاربر وارد و یا ارسال می کند. حیات Controller به کاربر وابسته است . بدون وجود کاربر و بطبع درخواست او Controller هیچ معنا و هدفی ندارد. به بیان ساده تر وظیفه Controller جمع آوری اطلاعات از قبیل گوش دادن به درخواست های کاربر و نشان دادن واکنش مناسب است و در صورت نیاز انتقال آنها به Model برای پردازش داده ها و درخواست ها می باشد ، و منطقی غیر این ندارد. لازم به یادآوری است که Controller فقط وظایفی را انجام انجام می دهد که کاربر ابتدا در View درخواست آن را داشته و هر عملکرد Controller یک محرک است که با تعامل کاربر با View تنظیم و هدف گذاری شده است.

جمع بندی با یک مثال ساده که ما بارها در یک نرم افزا با آن سروکار داشته ایم , ثبت نام در یک نرم افزار
کاربر با پر کردن فرم ثبت نام و فشردن دکمه ثبت نام یه در خواست برای عضویت در سایت ارسال می کند این درخواست توسط controller مربوطه شنیده شده و اطلاعات کاربر را به Model مرتبط با ثبت نام کاربر منتقل کرده و Model فرایند ثبت نام را انجام داده و در صورت نیاز نتیجه عمل ثبت نام را در اختیار Controller قرار داده و سپس Controller نتیجه را به View منتقل می کند که نتیجه آن نمایش پیام ثبت نام شما با موفقیت صورت گرفت برای کاربر می باشد.

بلافاصله بعد از ثبت نام در دوره ویدئو ها و فایل های دوره در اختیار شما قرار خواهد گرفت.
برای استفاده از دوره محدودیت زمانی وجود نداشته و بصورت مادام والعمر این دوره برای شما فعال خواهد بود لذا هر زمان که تمایل داشته باشید می توانید ویدئوها و فایل های دوره را دانلود و مشاهده نمایید
دوره هایی که نیاز به آپدیت و بروزرسانی داشته باشند اطلاع رسانی خواهد شد و در صورت انتشار آپدیت دانشجویان دوره نیازی به پرداخت هزینه مجدد نخواهند داشت.
با توجه به رعایت حقوق ناشر ما هیچ گونه رضایتی برای استفاده اشتراکی از این دوره نداریم و در صورت مشاهده تخلف ناچار به مسدود سازی حساب کاربر خواهیم بود!
لطفا در این مورد با شماره پشتیبانی و یا از طریق شبکه های اجتماعی با ما در ارتباط باشید تا در درباره آن صحبت کنیم و تمام تلاشمان را می کنیم تا به نتیجه مطلوب برسیم :-)

مدرس دوره

vahid salehi

    وحید صالحی

  • برنامه نویس و توسعه دهنده اپلیکیشن های تحت وب
  • 7 سال سابقه فعالیت های آموزشی حرفه ای
  • تدریس بیش از 600 ساعت دوره آنلاین
  • برنامه نویس دور کار در زمینه مباحث مبتنی بر طراحی و برنامه نویسی وب
  • مدرس دوره های تخصصی طراحی و برنامه نویسی وب با بیش از 4000 دانشجو
  • برگزار کننده بیش از 11 دوره آموزشی حرفه ای آنلاین در زمینه طراحی و برنامه نویس وب

راه های ارتباط با مدرس این دوره

دسترسی بلافاصله بعد از ثبت نام
*********@gmail.com 0902*******
 
دانشجویان : 18

شهریه دوره : 299 هزار تومان