قیمت این دوره : 250,000 تومان
  • مدرس دوره : حسن خسروجردی ( رزومه )
  • تعداد دانشجویان این دوره : 202 نفر
  • تعداد ویدیوها : 105 ویدیو
  • مدت زمان دوره : 31:27:00
  • سطح دوره : پیشرفته
  • وضعیت دوره : در حال برگزاری
  • تاریخ آخرین بروزرسانی : 1399/06/27
ثبتـــ نام در این دوره

دوره آموزش PHP MVC

دوره آموزش PHP MVC به همراه پروژه عملی

 

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

 

این دوره در حال برگزاری می باشد .

 

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

فهرستـــ ویدیوها

مدت زمان دوره 1.07:27:06
در صورتیکه ویدئو نمایش داده نشد آن را دانلود کنید و با KmPlayer مشاهده کنید.
لطفا در در صورت اقدام به دانلود تا انتها فرایند دانلود ، این صفحه را باز نگاه دارید.
1
  • معرفی دوره

  • 00:23:00
  • رایگانــ

معرفی دوره

2
  • mvc چیست ؟ و دلایل استفاده

  • 00:21:00
  • رایگانــ

mvc چیست ؟ و دلایل استفاده

3
  • ساختار کلی mvc

  • 00:23:00
  • رایگانــ

بررسی ساختار پروژه های مبتنی بر معماری mvc و آشنایی با فولدر های موجود در این معماری

4
  • معرفی پروژه عملی TinyProject

  • 00:11:00
  • رایگانــ

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

5
  • مقدمه ای بر دلایل استفاده از فریم ورک

  • 00:16:00
  • نقدیــ

مقدمه ای بر دلایل استفاده از فریم ورک و استفاده از دیزاین پترن ها و اصول solid  در شئ گرایی

6
  • ساختاربندی کلی tinyMVC

  • 00:12:00
  • نقدیــ

فولدربندی کلی پروژه به همراه فایل htaccess برای ساخت tinyMVC و همچنین توضیح درمورد تفاوت های فولدرهای موجود در پروژه

7
  • فایل htaccess چیست؟

  • 00:24:00
  • نقدیــ

فایل htaccess چیست؟

8
  • ساخت و پیکربندی سیستم روتینگ

  • 00:17:00
  • نقدیــ

ساخت و پیکربندی سیستم روتینگ

9
  • ساخت و پیکربندی سیستم روتینگ - بخش دوم

  • 00:31:00
  • نقدیــ

ساخت کامل بخش روتینگ پروژه و‌بررسی ادرس ها کلاس ها متدها و متغییر های ورودی کاربر در‌ این بخش

10
  • ساخت کنترلر و traits

  • 00:23:00
  • نقدیــ

ساخت کنترلر اصلی و نوشتن متدهای مورد استفاده در trait ها برای عملیات redirect و همچنین redirect back

11
  • ساخت بخش view

  • 00:29:00
  • نقدیــ

تست سیستم روتینگ نوشته شده و خروجی گرفتن از آن و همچنین پیاده سازی بخش view شبیه به فریم ورک های بزرگ مانند لاراول

12
  • استفاده از سیستم view

  • 00:23:00
  • نقدیــ

تست و بررسی سیستم view و ارسال متغییر ها و مقایسه با پروژه های مبتنی بر لاراول

13
  • ساخت بخش Model

  • 00:19:00
  • نقدیــ

ساخت و  پیکربندی کلی کلاس Model و اتصال به دیتابیس و همچنین تست بخش ریدایرکت در سیستم طراحی شده

14
  • ساخت بخش Model - بخش دوم

  • 00:14:00
  • نقدیــ

ساخت متد های کوئری و execute به منظور ارتباط با دیتابیس و همچنین قطع ارتباط با دیتابیس در انتهای عملیات در کلاس Model

15
  • ساخت autoload

  • 00:21:00
  • نقدیــ

ساخت بخش autoload به منظور جلوگیری از نوشتن کدهای اضافی در جهت فراخوانی کلاس های جدید و بهینه سازی کد ها

16
  • لایه بندی tinyMVC

  • 00:21:00
  • نقدیــ

لایه بندی کلی پروژه و ساخت فولدر های جداکننده پنل ادمین و بخش app و جداسازی header و  footer

17
  • ساخت متد asset,include,url

  • 00:18:00
  • نقدیــ

ساخت متدهای فوق برای راحتی کار و همچنین جلوگیری از تکرار آدرس ها مشابه فریمورک لاراول

18
  • اتمام لایه بندی پروژه

  • 00:19:00
  • نقدیــ

تکمیل لایه بندی کلی و همچنین ساخت کنترلر های لازم در دو بخش app و panel

19
  • ساخت model های tinyMVC

  • 00:29:00
  • نقدیــ

ساخت model های tinyMVC

20
  • ساخت مدل article

  • 00:22:00
  • نقدیــ

ساخت مدل article

21
  • ساخت مدل Category

  • 00:28:00
  • نقدیــ

ساخت مدل دسته بندی ها و ساخت دو متد از کنترلر article  شامل index و create

22
  • ساخت کنترلر Article

  • 00:24:00
  • نقدیــ

ساخت کنترلر مربوط به مقالات و همچنین صفحه نمایش مقالات در پنل ادمین و پویا سازی کامل این صفحه

23
  • ساخت کنترلر category

  • 00:12:00
  • نقدیــ

ساخت کنترلر  category

24
  • پویا سازی بخش Article در پنل

  • 00:18:00
  • نقدیــ

پویا سازی بخش Article در پنل

25
  • پویا سازی بخش دسته بندی ها

  • 00:18:00
  • نقدیــ

پویا سازی بخش دسته بندی ها

26
  • تست عملیات CRUD در tinyMVC

  • 00:14:00
  • نقدیــ

تست عملیات CRUD  در tinyMVC

27
  • ساخت HomeController

  • 00:13:00
  • نقدیــ

ساخت HomeController

28
  • پویا سازی بخش app

  • 00:21:00
  • نقدیــ

پویا سازی بخش app

29
  • تکمیل پروژه tinyMVC

  • 00:34:00
  • نقدیــ

تکمیل پروژه tinyMVC

30
  • جمع بندی کلی tinyMVC

  • 00:22:00
  • نقدیــ

جمع بندی کلی tinyMVC

31
  • مروری بر شئ گرایی - بخش اول

  • 00:12:00
  • نقدیــ

مروری بر شئ گرایی - بخش اول

32
  • مروری بر شئ گرایی - بخش دوم

  • 00:10:00
  • نقدیــ

مروری بر شئ گرایی - بخش دوم

33
  • مروری بر شئ گرایی - بخش سوم

  • 00:11:00
  • نقدیــ

مروری بر شئ گرایی - بخش سوم

34
  • مروری بر شئ گرایی - بخش چهارم

  • 00:12:00
  • نقدیــ

مروری بر شئ گرایی - بخش چهارم

35
  • مروری بر شئ گرایی - بخش چهارم

  • 00:21:00
  • نقدیــ

مروری بر شئ گرایی - بخش چهارم

36
  • مروری بر شئ گرایی - بخش ششم

  • 00:20:00
  • نقدیــ

مروری بر شئ گرایی - بخش ششم

37
  • دیزاین پترن چیست؟

  • 00:17:00
  • نقدیــ

دیزاین پترن چیست؟

38
  • دیزاین پترن Singleton

  • 00:17:00
  • نقدیــ

دیزاین پترن  Singleton

39
  • دیزاین پترن observer

  • 00:12:00
  • نقدیــ

دیزاین پترن observer

40
  • دیزاین پترن chain of responsibility

  • 00:33:00
  • نقدیــ

بررسی ساختار دیزاین پترن chain of responsibility و همچنین مثال عملی و بررسی مثال ها در فریم‌ورک‌ها و middleware

41
  • دیزاین پترن Builder - بخش اول

  • 00:14:00
  • نقدیــ

بررسی ساختار کلی این دیزاین پترن در زبان های مختلف و کلیت آن

42
  • دیزاین پترن Builder - بخش دوم

  • 00:24:00
  • نقدیــ

مثال عملی برای این الگو با پیاده سازی دستورات sql بصورت متد چین

43
  • بررسی کلی اصول SOLID

  • 00:13:00
  • نقدیــ

بررسی کلی اصول SOLID

44
  • پوشه بندی پروژه اصلی

  • 00:13:00
  • نقدیــ

بررسی پوشه بندی کلی پروژه اصلی و همچنین بررسی پوشه بندی فریم ورک لاراول و مقایسه با آن

45
  • بررسی پروژه دوره

  • 00:20:00
  • رایگانــ

بررسی پروژه دوره

46
  • تنظیمات هسته mvc

  • 00:27:00
  • نقدیــ

بررسی‌ تعریف ثابت ها و مقدمات سیستم روتینگ و اشنایی با http verbs

47
  • استفاده از composer در پروژه

  • 00:12:00
  • نقدیــ

در این بخش با کمک کامپوزر و استاندارد psr-4 برای autoloading سیستم استفاده شده است

48
  • بررسی کامل ساختار روتینگ سیستم

  • 00:20:00
  • نقدیــ

بررسی سیستم روتینگ فریم ورک لاراول و مقایسه با سیستم فعلی و همچنین بررسی ساختار اصلی پوشه های روتینگ

49
  • تجزیه و تحلیل مسیرها

  • 00:22:00
  • رایگانــ

در این بخش به تجزیه و تحلیل مسیر های رزرو شده پرداخته شده و تمامی مسیر‌ها بر اساس http verb مورد نظر جداسازی میشود

50
  • تکمیل بخش Route

  • 00:15:00
  • نقدیــ

در این بخش به تکمیل بخش های Route پرداخته میشه که شامل دو بخش web و  API میشه و همچنین توضیح مختصری درمورد API ارائه شده است

51
  • بخش bootstrap

  • 00:21:00
  • نقدیــ

بررسی بخش بوت استرپ و همچنین چگونگی استفاده از لوکال هاست با پورت ۸۰۰۰ در ویندوز و مک و توضیح کلی بخش روت

52
  • شروع سیستم روتینگ

  • 00:13:00
  • نقدیــ

در این بخش به معرفی متغییر های مورد نیاز در سیستم روتینگ پرداخته شده

53
  • MVC life cycle

  • 00:25:00
  • نقدیــ

در این بخش به ادامه ساخت بخش روتینگ پرداخته میشود و همچنین چرخه حیات لاراول و پروژه های مبتنی بر  MVC بررسی میشود

54
  • سیستم روتینگ - بخش دوم

  • 00:17:00
  • نقدیــ

در این بخش به پیکیربندی سه متد اصلی run match compare پرداخته میشود و همچنین متد error404 بمنظور ساخت صفحات not found ساخته میشود

55
  • سیستم روتینگ - بخش سوم

  • 00:16:00
  • نقدیــ

در این بخش به تکمیل متد compare پرداخته میشود و دو بخش مهم آن که شامل تعیین آدرس های اصلی "/" و تعیین سایز مسیر ها میباشد پرداخته میشود

56
  • سیستم روتینگ - بخش چهارم

  • 00:19:00
  • نقدیــ

در این بخش به تکمیل متد compare پرداخته میشود و آدرس ها با متغییر چک میشوند و همچنین مسیر از نظر ساختار هم بررسی میشود

57
  • سیستم روتینگ - بخش پنجم

  • 00:14:22
  • نقدیــ

در این بخش به متد match پرداخته میشود و در نهایت مسیر مورد نظر مقایسه شده , متد و کلاس آن جداسازی میشود.

58
  • سیستم روتینگ - بخش ششم

  • 00:16:14
  • نقدیــ

در این بخش به توضیح متد run پرداخته میشود . این متد وظیفه اجرای سیستم روتینگ را در کل سیستم بر عهده دارد.

59
  • سیستم روتینگ - بخش آخر

  • 00:24:00
  • نقدیــ

در این بخش آخرین بخش متد run نوشته شده که به منظور تعیین متد مورد استفاده و پارامتر های ورودی میباشد.

60
  • تست سیستم روتینگ بصورت عملی

  • 00:34:00
  • نقدیــ

در این بخش سیستم نوشته شده تاکنون را بررسی و تست واقعی میکنیم

61
  • فایل های پروژه

  • 00:00:00
  • نقدیــ

در این بخش فایل های مربوط به پروژه تا بخش سیستم روتینگ قرار داده شده است

62
  • اتصال به دیتابیس

  • 00:23:30
  • نقدیــ

در این بخش عملیات اتصال به دیتابیس به روش PDO و همچنین استفاده از دیزاین پترن singleton مورد بحث قرار میگیرد.

63
  • اتصال به دیتابیس - بخش دوم

  • 00:12:00
  • نقدیــ

در این بخش اتصال به روش pdo انجام شده و همچنین متد دریافت آی دی آخرین رکورد در هنگام insert نیز نوشته میشود.

64
  • ORM چیست؟

  • 00:20:00
  • نقدیــ

در این بخش به توضیح ORM پرداخته و ORM لاراول بررسی میشود.

65
  • ساخت trait ها

  • 00:11:00
  • نقدیــ

در این بخش با وظیفه هر trait آشنا میشویم.

66
  • ساخت HasQueryBuilder Trait

  • 00:09:30
  • نقدیــ

در این بخش به شکستن sql ها و تقسیم بندی آن ها پرداخته شده و یک getter setter برای sql نوشته میشود.

67
  • ساخت where و orderBy

  • 00:08:30
  • نقدیــ

در این بخش متدهایی برای ساخت بخش های where و orderBy نوشته میشود.

68
  • ساخت متد limit و bind

  • 00:12:30
  • نقدیــ

در این بخش به ساخت متد هایی برای limit و bind کردن پرداخته میشود.

69
  • پیکربندی Where

  • 00:16:30
  • نقدیــ

در این بخش به ساخت و پیکربندی sql های دارای where پرداخته میشود

70
  • پیکربندی order by - limit

  • 00:09:00
  • نقدیــ

در این بخش به پیکربندی بخش order by و limit پرداخته میشود

71
  • تکمیل متد executeQuery

  • 00:12:30
  • نقدیــ

در این بخش prepare و execute انجام میشود

72
  • تکمیل HasQueryBuilder Trait

  • 00:06:30
  • نقدیــ

در این بخش متد getCount به منظور تسهیل عملیات pagination نوشته میشود

73
  • توضیحات تکمیلی hasQueryBuilder

  • 00:21:00
  • نقدیــ

در این بخش با مثال های عملی بخش های مهم این تریت بررسی میشود

74
  • استفاده از Backticks در SQL ها

  • 00:18:30
  • نقدیــ

در این بخش به دلایل استفاده از Backticks پرداخته میشود و یک راه بهینه برای استفاده در فریمورک از Backticks معرفی میشود.

75
  • تنظیمات مدل ها

  • 00:36:30
  • نقدیــ

در این بخش با مفاهیم بسیار مهمی مثل deleted_at , casts, fillable, hidden و ... آشنا میشویم.

76
  • تحلیل trait hasAttributes

  • 00:18:30
  • نقدیــ

در این بخش به تحلیل تریت فوق پرداخته میشود و اهداف کلی برای نوشتن این تریت بصورت کامل بررسی میشود.

77
  • ساخت collection

  • 00:15:30
  • نقدیــ

در این بخش attribute های هر آرایه ثبت نام شده و عملیات decode شدن روی آن ها انجام میشود.

78
  • پیکربندی ساختار دریافت رکورد ها

  • 00:20:30
  • نقدیــ

در این بخش ساختار اصلی دریافت رکورد از دیتابیس متناسب با هر مدل بررسی میشود.

79
  • ساخت collection رکورد ها

  • 00:08:00
  • نقدیــ

در این بخش collection رکورد ها ساخته شده و دو متد برای تشخصی hidden ها و cast ها ساخته میشود.

80
  • serialize and unserialize

  • 00:11:30
  • نقدیــ

در این بخش با مفهوم serialize و unserialize آشنا میشویم

81
  • شروع HasCRUD trait

  • 00:20:30
  • رایگانــ

در این بخش متد fill که وظیفه مدیریت attribites قابل پر شدن را بر عهده دارد تکمیل میشود.

82
  • تفکیک عملیات update و insert

  • 00:21:30
  • نقدیــ

در این بخش به تفکیک عملیات update و insert پرداخته میشود

83
  • تکمیل اطلاعات آخرین رکورد اضافه شده

  • 00:25:30
  • نقدیــ

در این بخش به تکمیل اتریبیوت های برگشتی بعد از آخرین insert پرداخته میشود. در این عملیات تاکید بر حفظ ساختار درختی و توجه به تمامی اتریبیوت های هر رکورد شده

84
  • ساخت متد delete

  • 00:10:00
  • نقدیــ

در این بخش متد delete به منظورت حذف اطلاعات از دیتابیس ساخته میشود.

85
  • متد all

  • 00:08:30
  • نقدیــ

در این بخش متدی برای نمایش تمامی اطلاعات یک جدول نوشته میشود ( به شکل لاراول )

86
  • متد find

  • 00:08:26
  • نقدیــ

در این بخش متد find برای پیدا کردن رکورد مورد نظر نوشته میشود.

87
  • متد where

  • 00:18:42
  • نقدیــ

در این بخش متد where همانند لاراول نوشته میشود.

88
  • متد whereOr , whereNull , whereNotNull

  • 00:05:40
  • نقدیــ

در این بخش متد های whereOr , whereNull , whereNotNull مشابه لاراول نوشته میشوند.

89
  • متد whereIn

  • 00:10:14
  • نقدیــ

در این بخش متد whereIn مشابه لاراول ساخته میشود.

90
  • متدهای orderBy - limit

  • 00:06:02
  • نقدیــ

در این بخش به ساخت متد های orderBy - limit پرداخته میشود

91
  • متد get

  • 00:14:49
  • نقدیــ

در این بخش یکی از مهمترین متدهای موجود در لاراول به نام get بازنویسی میشود

92
  • متد paginate

  • 00:18:38
  • رایگانــ

در این بخش قسمت های اولیه متد paginate به منظور صفحه بندی نوشته میشود.

93
  • تکمیل متد paginate - ساخت متد create-update

  • 00:14:47
  • نقدیــ

در این بخش متد paginate تکمیل شده و متد های create و update نوشته میشوند.

94
  • شروع trait HasMethodCaller

  • 00:21:20
  • نقدیــ

در این بخش قصد داریم متدهایی که اجازه chain شدن دارند را مشخص کنیم

95
  • ساختار methodChain

  • 00:21:11
  • نقدیــ

در این بخش ساختاری تشکیل میشود تا بتوان به کمک آن از methodChain استفاده کرد

96
  • مفهوم soft delete

  • 00:07:58
  • نقدیــ

در این بخش به توضیح مفهوم soft delete پرداخته شده و دلایل استفاده از آن را شرح میدهیم.

97
  • شروع trait HasSoftDelete

  • 00:10:30
  • نقدیــ

در این بخش trait برای انجام soft delete نوشته میشود.اولین متدی که در این تریت لازم هست deleteMethod میباشد که وظیفه اصلی soft delete را به عهده دارد.

98
  • پیاده سازی متدهای all , find

  • 00:08:33
  • نقدیــ

در این بخش دو متد all , find برای عملیات soft delete بازنویسی میشوند.

99
  • اتمام trait hasSoftDelete

  • 00:09:30
  • نقدیــ

در این بخش دو متد اخر این تریت نوشته میشود و اصل solid که در این تریت استفاده شده بررسی میشود.

100
  • Relationships - one to one

  • 00:54:46
  • نقدیــ

در این بخش در رابطه با روابط در دیتابیس صحبت میشود همچنین رابطه one to one در ORM پیاده سازی میشود.

101
  • Relationships - one to many

  • 00:20:08
  • نقدیــ

در این بخش رابطه one to many ساخته میشود.

102
  • Relationships - many to many

  • 00:23:36
  • نقدیــ

در این بخش در مورد رابطه چند به چند صحبت میشود و در سیستم پیاده سازی انجام میگیرد.

103
  • تست عملی ORM

  • 00:23:03
  • نقدیــ

در این بخش ORM نوشته شده تست میشود.

104
  • تست عملی ORM - بخش دوم

  • 00:32:27
  • نقدیــ

در این بخش متد های all find و روابط بصورت عملی تست میشوند.

105
  • Migrations

  • 00:14:40
  • نقدیــ

در این بخش با مفهوم migration آشنا شده و ساختار db builder طراحی میشود.

نظرات کاربران در رابطه با این دوره

جهت ثبت نظر باید در سایت عضو شوید و یا وارد سایت شده باشید .