توضیحات

برنامه نویسی شی گرایی (oop) که برگرفته از Object-Oriented Programming هست یک الگو یا روش برنامه نویسی می باشد که اساس این الگو بر پایه اشیاء یا object می باشد و به ساخت برنامه های کاربردی پیچیده و قابل استفاده مجدد کمک می کند.

شی گرایی یک از پرکاربردترین روش ها در بین برنامه نویس هاست و با شی گرایی شما برنامه ای مرتب تر، خوانا تر و با کیفیت تر می نویسید و همچنین توسعه برنامه ای که می نویسید نیز بسیار راحت تر می شود. پس شی گرایی (oop) یک الگو و یا روش برنامه نویسی هست که در زبان های برنامه نویسی که ساپورتش کنند میتوان استفاده کرد مانند زبان برنامه نویسی php (پی اچ پی) که قراره در این دوره کامل در خصوصش صحبت کنیم.

از مزایا برنامه نویسی شی گرایی (oop) میتوان به :

  • پنهان سازی جزیات نرم افزار (Encapsulation)
  • قابلیت استفاده مجدد و سهولت در توسعه ای پروژه یا نرم افزار (Reusablity & Extesibility)
  • افزایش قابلیت برنامه نویسی گروهی (Modular Programming)

و مفاهیم اصلی در برنامه نویسی شی گرایی (oop) :

  • کلاس ها (Classes)
  • اشیا (Objects)
  • خاصیت ها یا ویژگی ها (Properties)
  • رفتار ها یا متد ها (Methods)

مباحثی که در بخش  شی گرایی (oop) از دوره گفته میشود شامل :

  • آشنایی با شی گرایی (oop) و مفاهیم کلاس، پراپرتی، متد و object (آبجکت) و متد های داری پارامتر
  • آشنایی با کلمه کلیدی this$ و متد های getter و setter و متدهای constructor و destructor
  • آشنایی با متد های زنجیره ای (chain methods و مبحث دسترسی (modifire) و وراثت (inheritance)
  • آشنایی با overriding و کلاس ها و متد های final ومبحث رابط (interface)
  • آشنایی با کلاس ها و متدهای abstract و متد ها و پراپرتی های static
  • آشنایی با پنهان سازی جزیات (encapsulation) و مبحث type hinting و trait
  • آشنایی با dependency injection و namespace و مبحث autoloading

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

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

زمانی که پروژه بزرگ باشد کار بدون معماری سه لایه یا mvc کاری سخت و پیچیده ای می شود. بنابرین در این مواقع بهترین راه استفاده از مدل mvc است. چرا که کد کمتری نوشته می شود و برنامه علاوه بر اینکه ساده می شود. مدیریت و کنترل آن به دلیل اینکه به سه قسمت مجزا تقسیم شده است بهتر و آسان می شود و از دیگر مزایای استفاده از این الگوی می توان به استفاده دوباره از کد‌های نوشته شده اشاره کرد. حال ما قصد داریم با این ساختار یا الگو در زبان PHP (پی اچ پی) آشنا بشیم و ازش استفاده کنیم.

از طرفی laravel (لاراول) که محبوب ترین فریمورک PHP (پی اچ پی) است داره از همین الگوی معماری MVC به همراه شی گرایی (oop) استفاده می کند. از طرفی چون هدف اینکه با لاراول آشنا بشید پس بشدت مهمه که با این الگو و ساختار آشنا بشید که هدف این دوره می باشد.

مباحثی که در بخش آشنایی با الگوی mvc از دوره گفته میشود شامل :

آشنایی با الگو یا ساختار MVC

  • توضیح کامل بخش های مختلف الگو mvc
  • ایجاد یک مثال و تبدیل آن به الگو mvc

ساخت فریمورک بر اساس الگو MVC (پروژه)

  • ایجاد پروژه و استفاده از composer
  • کار با فایل htaccess. و ساخت دیتابیس و جداول مورد نیاز
  • نحوه ساخت و ایجاد router و controller
  • کار با بخش view شامل افزودن فایل css و js و فریمورک bootstrap
  • ساخت layout برای صفحات
  • نحوه ایجاد notification (نوتیفیکیشن) برای نمایش پیام های ارسالی به کاربر
  • نحوه validation (اعتبار سنجی) و ایجاد توابع کمکی برای دسترسی در کل پروژه
  • نحوه ایجاد model
  • پیاده سازی بخش دسته بندی و پست های پروژه
  • پیتده سازی بخش search (جستجو) و paginate (صفحه بندی) برای پست ها
  • پیاده سازی authentication (احراز هویت)
  • پیاده سازی authorization (مجوز دسترسی)
  • deploy یا آپلود فریمورک و پروژه روی سرور

حتما ویدیو معرفی دوره و قسمت های رایگان دوره را مشاهده کنید تا با دوره و محتوا و پروژه آن بخوبی بهتر آشنا شوید.

دوره های پیشنهادی، بعد از گذراندن این دوره :

پیش نیاز این دوره فوق العاده :


طراحی وب پی اچ پی php mysql شی گرایی php oop php mvc mvc sql پایگاه داده مای اس کیو ال php ورژن 8 پی اچ پی ورژن 8

مدرس دوره علی شیخ
مدت دوره 16:56:31
تعداد ویدیو 111

وضعیت دوره : کامل شده
قیمت دوره : 599,000 539,000 تومان
% 10 تخفیف

نظرات ارزشمند شما:

برای ارسال نظر ابتدا باید وارد سایت شوید

  • سلام و عرض ادب .
    ببخشید پروژه ای که در دامنه گذاشته بودید هم قابلیت ثبت نام و هم ورود و دسته محصول و پست ها رو داشت اما این پروژه خیلی از قابلیت ها رو نداره
    و شما دیتابیس رو اضافه نکرده بودید به پروژه نهایی .

    • سلام وقت بخیر.
      وضعیت دوره در حال برگزاری هست و قسمت های جدیدتر قرار میگیره
      هنوز دوره تکمیل نشده

  • سلام و عرض ادب
    دوره php بسیار ارزشمند بود این دوره هم بسیار عالیست و در حال پیش اومدنم
    چند سوال داشتم آیا مدرک از وبسایت webprog و یا فنی حرفه ای برای دوره های نقدی و یا رایگان امکان پذیر هست؟
    سپاسگزارم

    • سلام وقت بخیر.
      ممنون از شما و حمایتتون
      عذرخواهی میکنم، مدرک نداریم.

  • سلام استاد عزیز اگه مقدوره یک مقدار اپلود ویدیو های این دوره سریعتر بشه خیلی ممنون میشم چون تا جایی که اپلود شده دیدم و منتظر باقی مباحث شی گرایی و بازتولید mvc هستم. تا اینجای کار مباحث کاملا مفید و کاربردی بیان شدند بابت زحماتتون سپاسگذارم.

    • سلام وقت بخیر‌.
      ممنون از شما و حمایتتون🙏
      خداروشکر دوره براتون مفید بوده

  • سلام استاد. در باز تولید کامل دوره، ویدیوی "آشنایی با کلاس و متد های static" وجود نداره. البته منظوم اینه که 46 امین ویدیوی دوره قبلی اشتباهی آپلود شده. ممنون میشم مشکل حل بشه. در حال یادگیری دوره هستم.

    • سلام وقت بخیر.
      دوره مشکلی نداره و مباحثی که گفته میشه برای شروع و کار با لاراول اوکی هست.
      اما بله اگه آپدیتی باشه توی همین دوره اضافه میشه و دوستانی که دسترسی داشته باشند به آپدیت هم دسترسی دارند.

  • سلام استاد
    من این پروژه رو برم روی هاست اما بوتسترپم کار نمیکنه و و صفحات دیگر منتقل نمیشه و فقط روی صفحه اصلی اونم بدون بوتسترپ میاد بالا در صورتی که روی localhost خودم کامل و بدون مشکل بود،میخواستم بدونم مشکل از کجاست؟

    • سلام وقت بخیر.
      ببینید باید لاگ گرفته بشه و بررسی بشه که مقادیر داخل url را به چه شکل پردازش میشه یا فایل های css را توی مروگر inspect گرفته بشه و ببینید از چه مسیری میخونه

  • سلام و عرض ادب استاد محترم جناب آقای شیخ
    با تشکر فراوان از زحمات شما بابت تهیه دوره های آموزشی مفید، بخصوص این دوره شیء گرایی و mvc
    من اغلب دوره های آموزشی شما را طبق کدهای گفته شده در متن آموزش و همچنین فایل های پیوست اجرا نموده ام ولی در درس 39 این دوره به مشکل برخوردم، تابع () password_verify همیشه مقدار false برمی گرداند:
    if (password_verify ($data['password'] , $hash_password))
    خروجی همیشه fslse است، با این که ایمیل و پسورد درست را وارد می کنم.
    لطفا بفرمایید مشکل از کجاست؟!

    • سلام وقت بخیر.
      ممنون از شما و ممنون میشم سوالاتون را زیر قسمت مربوطه کامنت کنید.
      ببینید باید لاگ گرفته بشه و بررسی بشه که اطلاعات توی متغیرها چی هست
      خوده سورس کدی که در اختیازتون هست هم بررسی و تست کنید.

  • سلام آقای مهندس تشکر ویژه دارم بابت دوره های فوق العادتون. جمع شدن این حجم از دوره های با کیفیت واقعا مثال زدنی هست.
    ازتون یه راهنمایی می خواستم.همون طور که گفتین استفاده از لاراول خیلی توصیه میشه و php هم پیش فرض کار با این framework هست . من اخیرا برا یه شرکت خارجی درخواست کار فرستادم و اونا یه لینک ارزیابی مهارت در node.js و php برام فرستادن و بحث لاراول براشون مطرح نبود.از طرفی وقتی از لاراول استفاده می کنیم تسط زیاد روی php نیاز نداره. حالا من یه مقدار گیج شدم و نمی دونم واقعا در بازار کار تا چه حد باید روی php مسلط بود.

    • سلام وقت بخیر.
      ممنون از شما
      ببینید php یک زبان برنامه نویسی هست و ما موضوعی تحت عنوان فریمورک داریم که کار کردن با یک زبان برنامه نویسی را راحتر میکنه و اون فریمورک کاملا با اون زبان ایجاد شده و هر کاری که بشه با اون فریمورک انجام داد طبیعتا، میتوان با اون زبان هم انجام داد. اینکه میفرماید توی لاراول پیش فرض php هست و نیاز به تسلط php نداره کاملا اشتباه است و زمانیکه شما کمی حرفه ای تر بشید و با فریمورک های مختلف کار کنید، کمی تجربه بدست بیارید، متوجه منظور بنده میشید. طبیعتا هر چقد بیشتر بلد باشید چه اون زبان و چه فریمورک، شما قوی تر هستید.
      از طرفی دوست عزیز شما باید ببینید برنامه نویس فرانت هستید یا بک اند و چه مهارتی دارید و چقد قوی هستید، بعد با توجه به مهارتتون درخواست کار بفرستید. هر شرکتی متفاوت هست و ممکنه از زبان یا فریمورک متفاوتی استفاده کنه و مثلا لاراول نباشه

  • سلام استاد من اروری میگیریم تحت این عنوان

    Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 262144 bytes)

    تو تظیمات زمپ افزایش میدم memory_limit رو ولی بازم همین ارور رو میده .. تو ارور به این خط از کدم اشاره میکنه :


    ('this->UserModel = $this->model('User$

    • سلام وقت بخیر.
      مقدارش را برابر با 536870912 کنید و xampp را یکبار stop و دوباره start و تست کنید.

  • سلام استاد امیدوارم حالتون خوب باشه
    بابت دوره های خوب و مفیدتون باید تشکر کرد ازتون و خداقوت
    من تا الان html و css و bootstrap و php و php-oop-mvc و flex و responsive رو گذروندم از وبسایتتون و قدم بعدیم لاراول هست
    بازم دمتون گرم استاد خیلی قشنگ تدریس میکنید .

  • سلام استاد عزیز امیدوارم حالتون خوب باشه و دمتون گرم بابت دوره عالی و مفیدتون
    استاد بعد از تموم شدن پروژه mvc یه هشداری از فایل core.php میاد رو صفحه که میگه شما controller ندارید
    این ارور نیست و هشدار و من الان دارم از این mvc توی پروژه خودم استفاده میکنم و دارم روی فرانتش کار میکنم
    چیکار کنم این هشدار نباشه استاد
    هشدار اینه
    Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\CheckList\app\libraries\Core.php on line 17

    • سلام وقت بخیر.
      ممنون از شما و حمایتتون?
      توضیحاتی در قسمت توضیحات ویدیو شماره ۲۲ داده شده که چک کنید که اون کار را انجام دادید یا خیر

  • سلام خسته نباشین پارت 17 قسمت autoload
    وقتی من این کد __autoload را در vs code میزنم زیرش خط قرمز میکشه و این ارور رو بهم میده
    __autoload() is no longer supported, use spl_autoload_register() instead

    • سلام وقت بخیر.
      لطف کنید سوالاتتون را زیر قسمت مربوطه کامنت کنید، الان همین سوال را دوست دیگری زیر قسمت مربوطش پرسیده و پاسخ داده شده.
      تابع autoload همانطور که توی متن ارور گفته شده دیگه ساپورت نمیشه و باید از spl_autoload_register استفاده کنید که جلوتر درموردش صحبت کردیم.

  • با سلام خدمت شما استاد عزیز
    یک سوال الان اگر ما این دوره رو ببنیم دیگه نیازی نیست دوره دیگه ای رو ببنیم و اینکه با استفاده از این دوره دیگه میتونیم شروع به طراحی وبسایت و کسب در امد کنیم(ابته بعد از تمرین.....)
    و اینکه با دوره پی اچ پی رایگانتون هم میشه داخل مبحث طراحی وب وارد شد یا خیر....

    • سلام وقت بخیر.
      ببینید هدف از دوره های php این هست که شما آماده یادگیری فریمورک های php مانند لاراول بشید (دلیل استفاده از فریمورک ها بجای php خام، موارد زیادی هست که توی بخش ابتدای دوره رایگان لاراول در موردش صحبت میکنیم) و پروژه هاتون چه کوچیک و چه بزرگ را با لاراول پیاده سازی کنید که امکانات زیادی داره نه با php خام، با دیدن این دوره ها که پیش نیاز هست و همچنین دوره های لاراول موجود در سایت میتونید به سادگی بک اند سایت های خودتون را پیاده سازی کنید.

    • لاراول فریمورکی هست، که هم دوستان مبتدی و هم حرفه ای میتونند باهاش کار کنند، برای کار با لاراول خیر، نیازی نیست. اما بعد از مدتی کار کردن و همچنین اگه قصد داشتین حرفه ای تر با php کار کنید، میتونید یادبگیرید.