- مدرس دوره : حسن خسروجردی ( رزومه )
- تعداد دانشجویان این دوره : 429 نفر
- تعداد ویدیوها : 179 ویدیو
- مدت زمان دوره : 53:13:00
- سطح دوره : پیشرفته
- وضعیت دوره : در حال برگزاری
- تاریخ آخرین بروزرسانی : 1400/01/28

دوره آموزش PHP MVC
دوره آموزش PHP MVC به همراه پروژه عملی
الگوی MVC (مخفف عبارت Model View Controller) یک الگوی طراحی برنامه ای است که اطلاعات برنامه را جدا می کند ,امروزه این الگو در اکثر برنامهها و نرمافزارهای تحت وب پیادهسازی میشود. هماکنون فریم ورک های بسیاری با ساختار الگوی MVC ایجاد شدهاند.در حال حاضر فریمورکهای بسیاری بر مبنای زبان برنامهنویسی PHP وجود دارند که از این الگو پیروی میکنند. بنابراین یک واقعیت بسیار بزرگ وجود دارد و آن محبوبیت الگوی MVC در زبان برنامه نویسی PHP است.
این دوره در حال برگزاری می باشد .
فهرستـــ ویدیوها
مدت زمان دوره 53:13:00-
در صورتیکه ویدئو نمایش داده نشد آن را دانلود کنید و با KmPlayer مشاهده کنید.
-
لطفا در صورت اقدام به دانلود تا انتها فرایند دانلود ، این صفحه را باز نگاه دارید.
-
ساختار کلی mvc
- 00:23:00
- رایگانــ
بررسی ساختار پروژه های مبتنی بر معماری mvc و آشنایی با فولدر های موجود در این معماری
-
معرفی پروژه عملی TinyProject
- 00:11:00
- رایگانــ
معرفی مینی پروژه اول به همراه ساختاربندی کلی پروژه و همچنین تحلیل و بررسی قالب پروژه در بخش کاربر و ادمین
-
مقدمه ای بر دلایل استفاده از فریم ورک
- 00:16:00
- نقدیــ
مقدمه ای بر دلایل استفاده از فریم ورک و استفاده از دیزاین پترن ها و اصول solid در شئ گرایی
-
ساختاربندی کلی tinyMVC
- 00:12:00
- نقدیــ
فولدربندی کلی پروژه به همراه فایل htaccess برای ساخت tinyMVC و همچنین توضیح درمورد تفاوت های فولدرهای موجود در پروژه
-
ساخت و پیکربندی سیستم روتینگ - بخش دوم
- 00:31:00
- نقدیــ
ساخت کامل بخش روتینگ پروژه وبررسی ادرس ها کلاس ها متدها و متغییر های ورودی کاربر در این بخش
-
ساخت کنترلر و traits
- 00:23:00
- نقدیــ
ساخت کنترلر اصلی و نوشتن متدهای مورد استفاده در trait ها برای عملیات redirect و همچنین redirect back
-
ساخت بخش view
- 00:29:00
- نقدیــ
تست سیستم روتینگ نوشته شده و خروجی گرفتن از آن و همچنین پیاده سازی بخش view شبیه به فریم ورک های بزرگ مانند لاراول
-
استفاده از سیستم view
- 00:23:00
- نقدیــ
تست و بررسی سیستم view و ارسال متغییر ها و مقایسه با پروژه های مبتنی بر لاراول
-
ساخت بخش Model
- 00:19:00
- نقدیــ
ساخت و پیکربندی کلی کلاس Model و اتصال به دیتابیس و همچنین تست بخش ریدایرکت در سیستم طراحی شده
-
ساخت بخش Model - بخش دوم
- 00:14:00
- نقدیــ
ساخت متد های کوئری و execute به منظور ارتباط با دیتابیس و همچنین قطع ارتباط با دیتابیس در انتهای عملیات در کلاس Model
-
ساخت autoload
- 00:21:00
- نقدیــ
ساخت بخش autoload به منظور جلوگیری از نوشتن کدهای اضافی در جهت فراخوانی کلاس های جدید و بهینه سازی کد ها
-
لایه بندی tinyMVC
- 00:21:00
- نقدیــ
لایه بندی کلی پروژه و ساخت فولدر های جداکننده پنل ادمین و بخش app و جداسازی header و footer
-
ساخت متد asset,include,url
- 00:18:00
- نقدیــ
ساخت متدهای فوق برای راحتی کار و همچنین جلوگیری از تکرار آدرس ها مشابه فریمورک لاراول
-
اتمام لایه بندی پروژه
- 00:19:00
- نقدیــ
تکمیل لایه بندی کلی و همچنین ساخت کنترلر های لازم در دو بخش app و panel
-
ساخت مدل Category
- 00:28:00
- نقدیــ
ساخت مدل دسته بندی ها و ساخت دو متد از کنترلر article شامل index و create
-
ساخت کنترلر Article
- 00:24:00
- نقدیــ
ساخت کنترلر مربوط به مقالات و همچنین صفحه نمایش مقالات در پنل ادمین و پویا سازی کامل این صفحه
-
دیزاین پترن chain of responsibility
- 00:33:00
- نقدیــ
بررسی ساختار دیزاین پترن chain of responsibility و همچنین مثال عملی و بررسی مثال ها در فریمورکها و middleware
-
دیزاین پترن Builder - بخش اول
- 00:14:00
- نقدیــ
بررسی ساختار کلی این دیزاین پترن در زبان های مختلف و کلیت آن
-
دیزاین پترن Builder - بخش دوم
- 00:24:00
- نقدیــ
مثال عملی برای این الگو با پیاده سازی دستورات sql بصورت متد چین
-
پوشه بندی پروژه اصلی
- 00:13:00
- نقدیــ
بررسی پوشه بندی کلی پروژه اصلی و همچنین بررسی پوشه بندی فریم ورک لاراول و مقایسه با آن
-
تنظیمات هسته mvc
- 00:27:00
- نقدیــ
بررسی تعریف ثابت ها و مقدمات سیستم روتینگ و اشنایی با http verbs
-
استفاده از composer در پروژه
- 00:12:00
- نقدیــ
در این بخش با کمک کامپوزر و استاندارد psr-4 برای autoloading سیستم استفاده شده است
-
بررسی کامل ساختار روتینگ سیستم
- 00:20:00
- نقدیــ
بررسی سیستم روتینگ فریم ورک لاراول و مقایسه با سیستم فعلی و همچنین بررسی ساختار اصلی پوشه های روتینگ
-
تجزیه و تحلیل مسیرها
- 00:22:00
- رایگانــ
در این بخش به تجزیه و تحلیل مسیر های رزرو شده پرداخته شده و تمامی مسیرها بر اساس http verb مورد نظر جداسازی میشود
-
تکمیل بخش Route
- 00:15:00
- نقدیــ
در این بخش به تکمیل بخش های Route پرداخته میشه که شامل دو بخش web و API میشه و همچنین توضیح مختصری درمورد API ارائه شده است
-
بخش bootstrap
- 00:21:00
- نقدیــ
بررسی بخش بوت استرپ و همچنین چگونگی استفاده از لوکال هاست با پورت ۸۰۰۰ در ویندوز و مک و توضیح کلی بخش روت
-
شروع سیستم روتینگ
- 00:13:00
- نقدیــ
در این بخش به معرفی متغییر های مورد نیاز در سیستم روتینگ پرداخته شده
-
MVC life cycle
- 00:25:00
- نقدیــ
در این بخش به ادامه ساخت بخش روتینگ پرداخته میشود و همچنین چرخه حیات لاراول و پروژه های مبتنی بر MVC بررسی میشود
-
سیستم روتینگ - بخش دوم
- 00:17:00
- نقدیــ
در این بخش به پیکیربندی سه متد اصلی run match compare پرداخته میشود و همچنین متد error404 بمنظور ساخت صفحات not found ساخته میشود
-
سیستم روتینگ - بخش سوم
- 00:16:00
- نقدیــ
در این بخش به تکمیل متد compare پرداخته میشود و دو بخش مهم آن که شامل تعیین آدرس های اصلی "/" و تعیین سایز مسیر ها میباشد پرداخته میشود
-
سیستم روتینگ - بخش چهارم
- 00:19:00
- نقدیــ
در این بخش به تکمیل متد compare پرداخته میشود و آدرس ها با متغییر چک میشوند و همچنین مسیر از نظر ساختار هم بررسی میشود
-
سیستم روتینگ - بخش پنجم
- 00:14:22
- نقدیــ
در این بخش به متد match پرداخته میشود و در نهایت مسیر مورد نظر مقایسه شده , متد و کلاس آن جداسازی میشود.
-
سیستم روتینگ - بخش ششم
- 00:16:14
- نقدیــ
در این بخش به توضیح متد run پرداخته میشود . این متد وظیفه اجرای سیستم روتینگ را در کل سیستم بر عهده دارد.
-
سیستم روتینگ - بخش آخر
- 00:24:00
- نقدیــ
در این بخش آخرین بخش متد run نوشته شده که به منظور تعیین متد مورد استفاده و پارامتر های ورودی میباشد.
-
تست سیستم روتینگ بصورت عملی
- 00:34:00
- نقدیــ
در این بخش سیستم نوشته شده تاکنون را بررسی و تست واقعی میکنیم
-
فایل های پروژه
- 00:00:00
- نقدیــ
در این بخش فایل های مربوط به پروژه تا بخش سیستم روتینگ قرار داده شده است
-
اتصال به دیتابیس
- 00:23:30
- نقدیــ
در این بخش عملیات اتصال به دیتابیس به روش PDO و همچنین استفاده از دیزاین پترن singleton مورد بحث قرار میگیرد.
-
اتصال به دیتابیس - بخش دوم
- 00:12:00
- نقدیــ
در این بخش اتصال به روش pdo انجام شده و همچنین متد دریافت آی دی آخرین رکورد در هنگام insert نیز نوشته میشود.
-
ساخت HasQueryBuilder Trait
- 00:09:30
- نقدیــ
در این بخش به شکستن sql ها و تقسیم بندی آن ها پرداخته شده و یک getter setter برای sql نوشته میشود.
-
ساخت where و orderBy
- 00:08:30
- نقدیــ
در این بخش متدهایی برای ساخت بخش های where و orderBy نوشته میشود.
-
ساخت متد limit و bind
- 00:12:30
- نقدیــ
در این بخش به ساخت متد هایی برای limit و bind کردن پرداخته میشود.
-
پیکربندی order by - limit
- 00:09:00
- نقدیــ
در این بخش به پیکربندی بخش order by و limit پرداخته میشود
-
تکمیل HasQueryBuilder Trait
- 00:06:30
- نقدیــ
در این بخش متد getCount به منظور تسهیل عملیات pagination نوشته میشود
-
توضیحات تکمیلی hasQueryBuilder
- 00:21:00
- نقدیــ
در این بخش با مثال های عملی بخش های مهم این تریت بررسی میشود
-
استفاده از Backticks در SQL ها
- 00:18:30
- نقدیــ
در این بخش به دلایل استفاده از Backticks پرداخته میشود و یک راه بهینه برای استفاده در فریمورک از Backticks معرفی میشود.
-
تنظیمات مدل ها
- 00:36:30
- نقدیــ
در این بخش با مفاهیم بسیار مهمی مثل deleted_at , casts, fillable, hidden و ... آشنا میشویم.
-
تحلیل trait hasAttributes
- 00:18:30
- نقدیــ
در این بخش به تحلیل تریت فوق پرداخته میشود و اهداف کلی برای نوشتن این تریت بصورت کامل بررسی میشود.
-
ساخت collection
- 00:15:30
- نقدیــ
در این بخش attribute های هر آرایه ثبت نام شده و عملیات decode شدن روی آن ها انجام میشود.
-
پیکربندی ساختار دریافت رکورد ها
- 00:20:30
- نقدیــ
در این بخش ساختار اصلی دریافت رکورد از دیتابیس متناسب با هر مدل بررسی میشود.
-
ساخت collection رکورد ها
- 00:08:00
- نقدیــ
در این بخش collection رکورد ها ساخته شده و دو متد برای تشخصی hidden ها و cast ها ساخته میشود.
-
serialize and unserialize
- 00:11:30
- نقدیــ
در این بخش با مفهوم serialize و unserialize آشنا میشویم
-
شروع HasCRUD trait
- 00:20:30
- رایگانــ
در این بخش متد fill که وظیفه مدیریت attribites قابل پر شدن را بر عهده دارد تکمیل میشود.
-
تفکیک عملیات update و insert
- 00:21:30
- نقدیــ
در این بخش به تفکیک عملیات update و insert پرداخته میشود
-
تکمیل اطلاعات آخرین رکورد اضافه شده
- 00:25:30
- نقدیــ
در این بخش به تکمیل اتریبیوت های برگشتی بعد از آخرین insert پرداخته میشود. در این عملیات تاکید بر حفظ ساختار درختی و توجه به تمامی اتریبیوت های هر رکورد شده
-
ساخت متد delete
- 00:10:00
- نقدیــ
در این بخش متد delete به منظورت حذف اطلاعات از دیتابیس ساخته میشود.
-
متد all
- 00:08:30
- نقدیــ
در این بخش متدی برای نمایش تمامی اطلاعات یک جدول نوشته میشود ( به شکل لاراول )
-
متد whereOr , whereNull , whereNotNull
- 00:05:40
- نقدیــ
در این بخش متد های whereOr , whereNull , whereNotNull مشابه لاراول نوشته میشوند.
-
متد get
- 00:14:49
- نقدیــ
در این بخش یکی از مهمترین متدهای موجود در لاراول به نام get بازنویسی میشود
-
متد paginate
- 00:18:38
- رایگانــ
در این بخش قسمت های اولیه متد paginate به منظور صفحه بندی نوشته میشود.
-
تکمیل متد paginate - ساخت متد create-update
- 00:14:47
- نقدیــ
در این بخش متد paginate تکمیل شده و متد های create و update نوشته میشوند.
-
شروع trait HasMethodCaller
- 00:21:20
- نقدیــ
در این بخش قصد داریم متدهایی که اجازه chain شدن دارند را مشخص کنیم
-
ساختار methodChain
- 00:21:11
- نقدیــ
در این بخش ساختاری تشکیل میشود تا بتوان به کمک آن از methodChain استفاده کرد
-
مفهوم soft delete
- 00:07:58
- نقدیــ
در این بخش به توضیح مفهوم soft delete پرداخته شده و دلایل استفاده از آن را شرح میدهیم.
-
شروع trait HasSoftDelete
- 00:10:30
- نقدیــ
در این بخش trait برای انجام soft delete نوشته میشود.اولین متدی که در این تریت لازم هست deleteMethod میباشد که وظیفه اصلی soft delete را به عهده دارد.
-
پیاده سازی متدهای all , find
- 00:08:33
- نقدیــ
در این بخش دو متد all , find برای عملیات soft delete بازنویسی میشوند.
-
اتمام trait hasSoftDelete
- 00:09:30
- نقدیــ
در این بخش دو متد اخر این تریت نوشته میشود و اصل solid که در این تریت استفاده شده بررسی میشود.
-
Relationships - one to one
- 00:54:46
- نقدیــ
در این بخش در رابطه با روابط در دیتابیس صحبت میشود همچنین رابطه one to one در ORM پیاده سازی میشود.
-
Relationships - many to many
- 00:23:36
- نقدیــ
در این بخش در مورد رابطه چند به چند صحبت میشود و در سیستم پیاده سازی انجام میگیرد.
-
تست عملی ORM - بخش دوم
- 00:32:27
- نقدیــ
در این بخش متد های all find و روابط بصورت عملی تست میشوند.
-
Migrations
- 00:14:40
- نقدیــ
در این بخش با مفهوم migration آشنا شده و ساختار db builder طراحی میشود.
-
Migrations - بخش دوم
- 00:24:14
- نقدیــ
در این بخش لیست تمامی جداول دریافت میشود و old tables جداسازی میشوند.
-
normal validation and number validation
- 00:18:11
- نقدیــ
در این بخش اعتبار سنجی بر اساس اعداد یا در حالت معمول نوشته میشود.
-
Rules - بخش سوم
- 00:16:34
- نقدیــ
در این بخش قوانین email , date , required , number بررسی میشوند.
-
file validation - بخش دوم
- 00:24:44
- نقدیــ
در این بخش قوانین max min type required برای فایل ها نوشته میشود.
-
Authentication - بخش دوم
- 00:15:34
- نقدیــ
در این بخش کلاس auth تکمیل میشود. متد های loginById, loginByEmail , logout
-
helpers - بخش چهارم
- 00:14:47
- نقدیــ
در این بخش helper های redirect , back , currentDomain , asset , url نوشته میشوند.
-
helpers - بخش اخر
- 00:09:22
- نقدیــ
در این بخش helper های currenUrl , arrayDot , methodField , token نوشته میشوند.
-
سخن پایانی ( پایان فصل اول )
- 00:13:10
- نقدیــ
در این بخش توضیحاتی درمورد گسترش فریمورک و همچنین نسخه بندی معنایی ارائه میشود.
-
معرفی کامل پروژه دوره ( آغاز فصل دوم )
- 00:09:45
- رایگانــ
در این بخش پروژه املاک بصورت کامل معرفی میشود.
-
ساخت بخش category
- 00:11:07
- نقدیــ
در این قسمت , مدل , کنترلر و مسیر های دسته بندی ها ساخته میشود.
-
ایجاد دسته بندی جدید
- 00:15:41
- نقدیــ
در این بخش عملیات store نوشته میشود و به صورت عملی از request استفاده میشود.
-
مدیریت خطا haها و اعتبارسنجی ها
- 00:10:05
- نقدیــ
در این بخش helpers برای نمایش خطا ها تعریف میشوند.
-
ساخت روابط زیر دسته و همچنین soft delete
- 00:18:02
- نقدیــ
در این بخش روابط زیر دسته ها و همچنین soft delete بررسی میشود.
-
اضافه کردن CKEditor به پروژه
- 00:26:42
- نقدیــ
در این بخش نحوه استفاده از ckeditor توضیح داده میشود.
-
اپلود عکس به کمک Intervention Image
- 00:27:31
- نقدیــ
در این بخش نحوه استفاده از Intervention Image گفته میشود.
-
تکمیل بخش اخبار
- 00:09:36
- نقدیــ
در این بخش اخبار تکمیل شده و فایل های مربوط به صفحه آگهی ها توضیح داده میشود.
نظرات کاربران در رابطه با این دوره