آموزش منطق و مقدمات برنامه نویسی به همراه الگوریتم و فلوچارت آموزش منطق و مقدمات برنامه نویسی به همراه الگوریتم و فلوچارت
021-88146330
021-88146323
0

سبد خرید شما خالی است!

آموزشگاه برنامه نویسی تحلیل‌داده

با مجوز رسمی از سازمان فنی و حرفه‌ای کشور

ورود / ثبت‌نام

ورود کاربر جدید هستید؟ ثبت نام کنید

دوره آموزش جامع PHP از صفر تا صد با پروژه‌های عملی

دوره آموزش جامع PHP از صفر تا صد با پروژه‌های عملی، یک برنامه آموزشی کامل و رایگان است که به شما کمک می‌کند تا مهارت‌های برنامه‌نویسی PHP را از مبتدی تا حرفه‌ای فرا بگیرید. این دوره شامل مباحث پایه‌ای تا پیشرفته PHP، طراحی و توسعه وب، و انجام پروژه‌های عملی برای تقویت مهارت‌های شماست. با شرکت در این دوره، می‌توانید به سادگی وبسایت‌های داینامیک و اپلیکیشن‌های تحت وب حرفه‌ای را ایجاد کنید و به یک توسعه‌دهنده حرفه‌ای PHP تبدیل شوید.

تعداد دانشجو 94 نفر
مدت زمان دوره 39 ساعت و54 دقیقه
سطح دوره مبتدی تا متوسط
روش دریافت تماشای آنلاین
پیش نیاز ندارد
آخرین بروزرسانی 1403/08/10

سرفصل های دوره

تعداد ویدیوها : 127

برای مشاهده ویدیوها ابتدا دکمه شرکت در دوره را بزنید

فصل اول: آشنایی با PHP و مبانی آن

معرفی PHP
26 دقیقه

در این جلسه به معرفی این زبان میپردازیم ، php چیست ؟ چه مزیت هایی نسبت به بقیه زبان ها دارد ؟ حوزه تخصصی آن کجاست ؟ مفهوم زبان برنامه نویسی client-side یا server-side چیست و چه تفاوت هایی با هم دارند .

آشنایی با تگ‌های PHP در سند HTML، نحوه کامنت‌گذاری و دستورهای echo و print
17 دقیقه

در این بخش، با نحوه استفاده از تگ‌های PHP در سند HTML آشنا می‌شویم و همچنین روش‌های چاپ خروجی و کامنت‌گذاری در PHP را بررسی می‌کنیم.

آشنایی با متغیرها در PHP
9 دقیقه

متغیرها در PHP برای ذخیره داده‌ها و اطلاعات استفاده می‌شوند. در این بخش با نحوه تعریف، مقداردهی و استفاده از متغیرها در PHP آشنا می‌شویم.

انواع داده‌ها در PHP
25 دقیقه

PHP دارای انواع داده‌های متنوعی است که برای ذخیره و مدیریت اطلاعات استفاده می‌شوند. در این بخش با انواع داده‌های اصلی در PHP و نحوه استفاده از آنها آشنا می‌شویم.

اتصال رشته‌ ها (String Concatenation) در PHP
15 دقیقه

الحاق رشته‌ها در PHP به معنی ترکیب دو یا چند رشته به یک رشته جدید است. در PHP، عملگر "." برای الحاق رشته‌ها استفاده می‌شود.

نوع‌گذاری و تغییر نوع داده‌ها (Type Casting and Type Juggling) در PHP
13 دقیقه

در PHP، متغیرها نوع داده خاصی ندارند و به طور خودکار بسته به محتوای آن‌ها، نوعشان تعیین می‌شود. این ویژگی به عنوان نوع‌گذاری خودکار (Type Juggling) شناخته می‌شود. با این حال، در برخی موارد، ممکن است بخواهید نوع یک متغیر را به طور صریح تغییر دهید که به آن نوع‌گذاری (Type Casting) می‌گویند.

عملگرهای ریاضی و توابع در PHP
16 دقیقه

PHP شامل مجموعه‌ای از عملگرهای ریاضی و توابعی است که برای انجام محاسبات ریاضی و عملیات‌های مختلف بر روی اعداد استفاده می‌شوند. در این بخش، به بررسی عملگرهای ریاضی و توابع مربوطه در PHP می‌پردازیم.

توابع رشته‌ای در PHP
15 دقیقه

PHP دارای مجموعه‌ای از توابع قدرتمند برای کار با رشته‌ها است. این توابع به شما امکان می‌دهند تا عملیات مختلفی مانند جستجو، جایگزینی، تغییر طول و قالب‌بندی رشته‌ها را انجام دهید. در این بخش، برخی از توابع پرکاربرد رشته‌ای در PHP را بررسی می‌کنیم.

کار با تاریخ و زمان در PHP
8 دقیقه

PHP مجموعه‌ای از توابع و کلاس‌ها را برای کار با تاریخ و زمان فراهم می‌کند. این امکانات به شما امکان می‌دهد تا عملیات مختلفی مانند دریافت تاریخ و زمان فعلی، فرمت‌دهی تاریخ و زمان، محاسبات مربوط به تاریخ و زمان و ... را انجام دهید.

فصل دوم: کار با آرایه ها در PHP

مقدمه‌ای بر آرایه‌ها در PHP
15 دقیقه

آرایه‌ها در PHP یک ساختار داده‌ای قدرتمند هستند که به شما امکان می‌دهند تا مجموعه‌ای از مقادیر را در یک متغیر ذخیره کنید. آرایه‌ها می‌توانند شامل انواع داده‌های مختلفی مانند اعداد، رشته‌ها، و حتی سایر آرایه‌ها باشند. در این بخش با انواع آرایه‌ها و نحوه کار با آنها در PHP آشنا می‌شویم.

توابع آرایه‌ها در PHP
23 دقیقه

PHP دارای مجموعه‌ای از توابع داخلی برای کار با آرایه‌ها است که به شما امکان می‌دهد عملیات مختلفی مانند مرتب‌سازی، جستجو، تغییر و ترکیب آرایه‌ها را انجام دهید. در این بخش، برخی از توابع پرکاربرد آرایه‌ها در PHP را بررسی می‌کنیم.

آرایه‌های انجمنی در PHP
7 دقیقه

آرایه‌های انجمنی در PHP به شما امکان می‌دهند که مقادیر را به صورت کلید-مقدار (key-value) ذخیره کنید. در این نوع آرایه‌ها، به جای استفاده از اندیس‌های عددی، از کلیدهای رشته‌ای برای دسترسی به مقادیر استفاده می‌شود. این ویژگی باعث می‌شود که آرایه‌های انجمنی برای ذخیره‌سازی و دسترسی به داده‌ها به صورت معنایی و قابل فهم، بسیار مناسب باشند.

آرایه‌های چندبعدی در PHP
10 دقیقه

آرایه‌های چندبعدی در PHP به شما امکان می‌دهند تا آرایه‌هایی داشته باشید که شامل آرایه‌های دیگر هستند. این نوع آرایه‌ها برای ذخیره‌سازی داده‌های پیچیده‌تر و ساختارمند بسیار مفید هستند. در این بخش، نحوه تعریف، دسترسی و کار با آرایه‌های چندبعدی را بررسی می‌کنیم.

فصل سوم: کار با حلقه ها در PHP

حلقه‌های پایه در PHP
20 دقیقه

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

حلقه‌های تو در تو در PHP
12 دقیقه

حلقه‌های تو در تو در PHP ابزارهای قدرتمندی برای کار با داده‌های چند بعدی و پیچیده فراهم می‌کنند. با استفاده از این نوع حلقه‌ها می‌توانید به راحتی در آرایه‌های چند بعدی پیمایش کنید و عملیات‌های پیچیده‌تری را انجام دهید. توجه داشته باشید که استفاده بی‌رویه از حلقه‌های تو در تو می‌تواند باعث پیچیدگی و کاهش کارایی کد شما شود، بنابراین باید بهینه و با دقت از آنها استفاده کنید.

پیمایش آرایه‌ها در PHP
12 دقیقه

پیمایش آرایه‌ها یکی از عملیات‌های رایج در برنامه‌نویسی است که برای دسترسی به مقادیر هر عنصر آرایه و انجام عملیات‌های مختلف بر روی آن‌ها استفاده می‌شود. در PHP، می‌توانید از انواع مختلف حلقه‌ها برای پیمایش آرایه‌ها استفاده کنید. در این بخش، به بررسی نحوه پیمایش آرایه‌ها با استفاده از حلقه‌های for، while، و foreach می‌پردازیم.

پیمایش آرایه‌های چندبعدی در PHP
24 دقیقه

پیمایش آرایه‌های چندبعدی در PHP نیازمند استفاده از حلقه‌های تو در تو است. شما می‌توانید از حلقه‌های foreach یا for برای پیمایش این آرایه‌ها استفاده کنید. با این روش‌ها، به راحتی می‌توانید به داده‌های موجود در آرایه‌های چندبعدی دسترسی پیدا کنید و عملیات مختلفی را بر روی آن‌ها انجام دهید.

فصل چهارم: ساختارهای شرطی در PHP

عملگرهای مقایسه‌ای و منطقی در PHP
15 دقیقه

عملگرهای مقایسه‌ای و منطقی در PHP برای انجام عملیات مقایسه و ترکیب شرایط استفاده می‌شوند. این عملگرها به شما امکان می‌دهند تا شرایط پیچیده را بررسی کرده و تصمیم‌گیری‌های منطقی را در برنامه‌های خود پیاده‌سازی کنید.

عملگر Null Coalescing در PHP
7 دقیقه

عملگر Null Coalescing (??) در PHP برای بررسی وجود مقدار غیر تهی (null) یک متغیر استفاده می‌شود. این عملگر زمانی مفید است که بخواهید یک متغیر را بررسی کنید و اگر آن متغیر مقدار تهی داشت، یک مقدار پیش‌فرض را به جای آن استفاده کنید.

دستورهای شرطی if در PHP
11 دقیقه

دستورهای شرطی if در PHP برای اجرای کدی استفاده می‌شوند که بر اساس شرایط مشخصی اجرا شوند. این دستورها به شما امکان می‌دهند تا کنترل بیشتری بر جریان اجرای برنامه داشته باشید. در این بخش، به بررسی جزئیات و نحوه استفاده از شرط‌های if، else, elseif و شرط‌های تو در تو در PHP می‌پردازیم.

تولید خروجی HTML بر اساس شرایط در PHP
8 دقیقه

با استفاده از PHP می‌توان بر اساس شرایط مختلف، خروجی HTML تولید کرد. این قابلیت به شما امکان می‌دهد تا صفحات وب داینامیک و متناسب با نیازهای مختلف ایجاد کنید. در این بخش، نحوه استفاده از دستورهای شرطی if، else, elseif و switch برای تولید خروجی HTML را بررسی می‌کنیم.

استفاده از عبارات شرطی در حلقه ها و دستورات break , continue در PHP
11 دقیقه

در PHP، شما می‌توانید از دستورات شرطی داخل حلقه‌ها استفاده کنید تا جریان اجرای برنامه را بر اساس شرایط مشخص کنترل کنید. دستورات break و continue دو ابزار قدرتمند برای کنترل جریان حلقه‌ها هستند. در این بخش، نحوه استفاده از این دستورات را در کنار دستورات شرطی بررسی می‌کنیم.

استفاده از حلقه ها و ساختارهای شرطی به صورت ترکیبی و استفاده از آنها در ساختار HTML - مثال کاربردی
11 دقیقه

در این قسمت با توجه به لیست داینامیکی که از آگهی ها ساخته ایم، میخواهیم با استفاده از Loop ها و Condition هایی که تا اینجای آموزش ها یادگرفته ایم حالت های خاصی را ایجاد کنیم.

دستور switch در PHP
10 دقیقه

دستور switch در PHP برای بررسی و انجام عملیات مختلف بر اساس مقادیر مختلف یک متغیر استفاده می‌شود. این دستور به شما امکان می‌دهد که بر اساس مقدار های مختلف یک متغیر، برای هر مقدار مشخص، کد متفاوتی را اجرا کنید. به طور کلی، دستور switch یک روش ساختاریافته و خوانا برای مدیریت تصمیم‌گیری‌های چندگانه است.

عملگر شرطی (Ternary Operator) در PHP
10 دقیقه

عملگر شرطی یا ternary operator در PHP یک روش کوتاه‌تر و خواناتر برای نوشتن عبارات شرطی if-else ساده است. این عملگر سه قسمت دارد: شرط، نتیجه در صورت برقرار بودن شرط، و نتیجه در صورت نادرست بودن شرط.

فصل پنجم: توابع در PHP

تعریف توابع و توابع بازگشتی در PHP
6 دقیقه

توابع در PHP می‌توانند مقادیر را به عنوان نتیجه بازگردانند. این قابلیت به شما امکان می‌دهد تا عملیات مختلفی را در یک تابع انجام داده و نتیجه را برای استفاده در جای دیگر کد بازگردانید. در این بخش، نحوه تعریف توابع با مقادیر بازگشتی و استفاده از آنها را بررسی می‌کنیم.

پارامترها و آرگومان‌ها در PHP
10 دقیقه

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

محدوده (Scope) متغیرها در PHP: محلی و سراسری
8 دقیقه

محدوده متغیرها در PHP تعیین می‌کند که کجا و چگونه می‌توان به یک متغیر دسترسی داشت. PHP دارای دو نوع محدوده اصلی برای متغیرها است: محلی (Local) و سراسری (Global). در این بخش، به بررسی این دو نوع محدوده و نحوه استفاده از آنها می‌پردازیم.

ثابت‌ها (Constants) در PHP
7 دقیقه

ثابت‌ها در PHP مقادیر ثابتی هستند که پس از تعریف، مقدارشان تغییر نمی‌کند. ثابت‌ها برای نگهداری مقادیری استفاده می‌شوند که در طول اجرای برنامه تغییر نمی‌کنند. در PHP، ثابت‌ها می‌توانند حاوی مقادیر رشته‌ای، عددی، یا مقادیر منطقی باشند. ثابت‌ها معمولاً برای نگهداری اطلاعاتی مانند تنظیمات پیکربندی، نسخه‌های نرم‌افزار و غیره استفاده می‌شوند.

استفاده از دستور declare در PHP
9 دقیقه

دستور declare در PHP برای تنظیمات مختلف اسکریپت PHP استفاده می‌شودو استفاده از آن اختیاری است. این دستور معمولاً برای فعال کردن حالت سخت‌گیرانه نوع‌ها (strict_types) استفاده می‌شود، اما کاربردهای دیگری نیز دارد. در این بخش، به بررسی انواع مختلف دستور declare و نحوه استفاده از آن‌ها می‌پردازیم.

استفاده از توابع - مثال کاربردی
11 دقیقه

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

ادامه استفاده از توابع - مثال کاربردی
10 دقیقه

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

توابع ناشناس و Closures در PHP
9 دقیقه

در این قسمت با توابع ناشناس (Anonymous Functions) و closures آشنا میشویم و کاربرد آنهارا بررسی میکنیم.این قابلیت‌ها به شما امکان می‌دهند تا توابع بدون نام ایجاد کنید و آن‌ها را به عنوان متغیرها، پارامترها یا مقادیر بازگشتی استفاده کنید.

توابع Callback در PHP
6 دقیقه

توابع Callback (بازگشتی) در PHP توابعی هستند که به عنوان آرگومان به توابع دیگر پاس داده می‌شوند.این قابلیت به شما این امکان را میدهد تا رفتار توابع را به صورت پویا تعیین کنید. توابع Callback می‌توانند توابع ناشناس، نام‌دار یا متدهای کلاس‌ها باشند.

توابع پیکانی (Arrow Functions) در PHP
6 دقیقه

توابع پیکانی یا Arrow Functions از PHP 7.4 معرفی شده‌اند. این توابع نسخه مختصری از توابع ناشناس هستند که به صورت ساده‌تری نوشته می‌شوند و به ویژه برای مواردی که توابع کوتاهی نیاز است، بسیار مفید هستند. در این بخش ساختار و نحوه تعریف آنها را می آموزیم.

استفاده از Arrow Functions - مثال کاربردی
4 دقیقه

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

فصل ششم: برنامه‌نویسی شیءگرا (OOP) در PHP

مقدمه و آشنایی با برنامه نویسی شئ گرا (Object-Oriented Programming یا OOP)
8 دقیقه

در این بخش به معرفی برنامه نویسی شئ گرا و تفاوت آن میپردازیم.برنامه‌نویسی شیءگرا (Object-Oriented Programming یا OOP) یک پارادایم برنامه‌نویسی است که بر اساس مفاهیم اشیاء (objects) و کلاس‌ها (classes) بنا شده است. این پارادایم به شما امکان می‌دهد که کدهای خود را به صورت سازمان‌یافته‌تر و قابل نگهداری‌تر بنویسید.

ایجاد یک کلاس در PHP
15 دقیقه

در PHP، یک کلاس قالبی برای ایجاد اشیاء است که می‌تواند شامل پراپرتی(متغیرها) و متدها (توابع) باشد. در این بخش، نحوه ایجاد یک کلاس، تعریف پراپرتی ها و متدها و استفاده از آن‌ها را بررسی می‌کنیم.

دسترسی به سطح کلاس و دریافت و تنظیم پراپرتی‌ها در PHP
15 دقیقه

در PHP، می‌توانید از دسترسی‌کننده‌ها (Access Modifiers) برای کنترل دسترسی به پروپرتی‌ها و متدهای کلاس استفاده کنید. همچنین می‌توانید با استفاده از متدهای گیرنده (Getter) و تنظیم‌کننده (Setter) به پروپرتی‌های خصوصی کلاس دسترسی داشته باشید و آن‌ها را تغییر دهید. در این بخش، نحوه استفاده از این مفاهیم را بررسی می‌کنیم.

مفهوم ارث‌بری (Inheritance) در شیءگرایی
21 دقیقه

ارث‌بری یکی از مفاهیم اساسی در برنامه‌نویسی شیءگرا (OOP) است که به شما اجازه می‌دهد تا یک کلاس، ویژگی‌ها و رفتارهای یک کلاس دیگر را به ارث ببرد. با استفاده از ارث‌بری، می‌توانید کلاس‌های جدید را، بدون نیاز به نوشتن مجدد کدهای مشترک، بر اساس کلاس‌های موجود ایجاد کنید، .

متدهای ایستا (Static Methods) در PHP
6 دقیقه

در PHP، متدهای ایستا (Static Methods) متدهایی هستند که به یک شیء خاص تعلق ندارند و مستقیماً از طریق کلاس خود فراخوانی می‌شوند. این متدها معمولاً برای توابعی استفاده می‌شوند که نیازی به دسترسی به پراپرتی‌ها و متدهای غیرایستا یک شیء ندارند.

کلاس‌های انتزاعی (Abstract Classes) در PHP
16 دقیقه

کلاس‌های انتزاعی (Abstract Classes) در PHP کلاس‌هایی هستند که نمی‌توان مستقیماً از آن‌ها نمونه‌سازی کرد. این کلاس‌ها برای ایجاد پایه‌ای برای سایر کلاس‌ها استفاده می‌شوند و می‌توانند شامل متدهای انتزاعی و متدهای عادی باشند. در این قسمت به بررسی ویژگی های کلاس های انتزاعی میپردازیم.

اینترفیس‌ها (Interfaces) در PHP
13 دقیقه

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

فصل هفتم: متغیرهای سوپرگلوبال

متغیرهای سوپرگلوبال در PHP
5 دقیقه

متغیرهای سوپرگلوبال در PHP مجموعه‌ای از آرایه‌ها و متغیرهای پیش‌ساخته هستند که در هر نقطه از اسکریپت PHP قابل دسترسی می‌باشند. این متغیرها به شما امکان می‌دهند که به اطلاعات مهمی مانند داده‌های ورودی کاربر، کوکی‌ها، اطلاعات سرور و موارد دیگر دسترسی پیدا کنید.

دریافت اطلاعات سرور با استفاده از متغیر سوپرگلوبال $_SERVER در PHP
15 دقیقه

متغیر سوپرگلوبال $_SERVER یک آرایه در PHP است که حاوی اطلاعات و جزئیات مربوط به سرور و محیط اجرای اسکریپت است. این متغیر اطلاعات مفیدی در مورد مسیرها، سرور، پروتکل‌ها و درخواست‌های کاربر ارائه می‌دهد.

متغیر سوپرگلوبال $_ENV در PHP
7 دقیقه

در این قسمت به معرفی متغیر سوپرگلوبال ENV زبان PHP میپردازیم و اطلاعاتی که از سمت ما درون خودش ذخیره میکند را بررسی میکنیم. متغیر سوپرگلوبال $_ENV در PHP یک آرایه انجمنی (Associative Array) است که شامل اطلاعات مربوط به متغیرهای محیطی (Environment Variables) است. این متغیرها می‌توانند شامل اطلاعات مختلفی مانند مسیرها، تنظیمات سرور، اطلاعات مربوط به سیستم عامل و غیره باشند.

متغیر سوپرگلوبال $_GET در PHP وپارامترهای کوئری
23 دقیقه

در این قسمت به معرفی متغیر سوپرگلوبال GET در PHP و معرفی پارامترهای کوئری (Query Parameters) میپردازیم و سینتکس آنها درون URL را بررسی میکنیم .

متغیر سوپرگلوبال $_POST و ارسال داده‌ها از طریق آن در PHP
25 دقیقه

در این قسمت به معرفی متغیر سوپرگلوبال POST و ارسال داده ها از طریق آن در PHP میپردازیم و تفاوت بین متغیر سوپرگلوبال GET و POST در ارسال داده های یک فرم بررسی میکنیم .متغیر سوپرگلوبال $_POST در PHP یک آرایه انجمنی (Associative Array) است که شامل داده‌هایی است که از طریق درخواست‌های HTTP POST به سرور ارسال می‌شوند.

متغیر سوپرگلوبال $_FILES و بارگذاری فایل در PHP
23 دقیقه

در این قسمت به معرفی متغیر سوپرگلوبال FILES و بارگذاری فایل در PHP میپردازیم ، و نحوه بارگذاری فایل ها را در PHP بررسی میکنیم.

ایجاد پیغام های خطا و نمایش آنها در درخواست های PHP
19 دقیقه

در این قسمت به ایجاد پیغام های خطا و نمایش آنها در درخواست های PHP میپردازیم و نحوه مدیریت خطاها را بررسی خواهیم کرد.

متغیر سوپرگلوبال $_SESSION در PHP
14 دقیقه

در این قسمت به معرفی متغیر سوپرگلوبال $_SESSION در زبان PHP میپردازیم و نحوه ایجاد و ذخیره سازی آن را باهم بررسی میکنیم . متغیر سوپرگلوبال $_SESSION در PHP برای ذخیره اطلاعات کاربر به صورت سراسری (global) در تمام صفحات یک وب‌سایت استفاده می‌شود. این متغیر به شما امکان می‌دهد که اطلاعات کاربران را در طول جلسه (session) ذخیره و بازیابی کنید.

فصل هشتم: کار با دیتابیس در PHP

معرفی دیتابیس
9 دقیقه

در این قسمت به معرفی دیتابیس، کاربرد و انواع آن میپردازیم و در نهایت بررسی میکنیم که در در زبان PHP میتوانیم از چه نوع دیتابیس هایی استفاده کنیم.

نحوه نصب دیتابیس MySQL در محیط ویندوز
10 دقیقه

در این قسمت به نحوه نصب دیتابیس MYSQL در محیط ویندوز و چگونگی استفاده از آن میپردازیم .

ایجاد دستورات MySQL در محیط Command Prompt ویندوز
24 دقیقه

در این قسمت به دستورات ساده ای در MySQL و نحوه استفاده از آن در محیط Command Prompt ویندوز را بررسی میکنیم و نزدیکی دستورات این زبان به زبان انسان را مشاهده میکنیم.

معرفی Workbench های MySQL
27 دقیقه

MySQL Workbench یکی از محبوب‌ترین و قدرتمندترین ابزارهای GUI (Graphical User Interface) برای مدیریت و طراحی دیتابیس‌های MySQL است. این ابزار توسط Oracle توسعه داده شده و به طور گسترده‌ای توسط توسعه‌دهندگان و مدیران دیتابیس استفاده می‌شود.در این قسمت به معرفی Workbench های MySQL برخی از قابلیت‌های آن میپردازیم ونحوه سهولت استفاده از آنها را برای ایجاد دستورات MySQL را بررسی میکنیم.

کلاس PDO در PHP
17 دقیقه

در این قسمت معرفی کلاس PDO در زبان PHP میپردازیم تا با استفاده از آن بتوانیم از حملاتی مانند SQL Injection در درون دیتابیس خود جلوگیری کنیم، در ادامه نحوه ایجاد و سه متد اصلی و استفاده از آنها را بررسی میکنیم.PDO (PHP Data Objects) یک لایه انتزاعی دسترسی به داده‌ها در PHP است که به شما امکان می‌دهد به انواع مختلف دیتابیس‌ها از جمله MySQL متصل شوید.

دریافت چندین رکورد با استفاده از PDO در PHP
14 دقیقه

با استفاده از PDO، می‌توانید چندین رکورد را از یک دیتابیس واکشی کنید و نتایج را به صورت‌های مختلفی دریافت کنید. در این بخش، به نحوه دریافت چندین رکورد از دیتابیس با استفاده از PDO می‌پردازیم.

دریافت یک رکورد با استفاده از PDO در PHP
15 دقیقه

با استفاده از PDO، می‌توانید یک رکورد را از دیتابیس واکشی کنید. این کار معمولاً در مواقعی انجام می‌شود که می‌دانید کوئری شما حداکثر یک نتیجه برمی‌گرداند، مثلاً هنگام جستجوی یک کاربر با شناسه‌ی منحصربه‌فرد.

ایجاد فرم و درج رکورد در دیتابیس با استفاده از PHP و PDO
18 دقیقه

در این بخش، به نحوه ایجاد یک فرم HTML برای دریافت اطلاعات کاربر و درج این اطلاعات در دیتابیس MySQL با استفاده از PHP و PDO می‌پردازیم.

حذف رکوردها با استفاده از PHP و PDO
13 دقیقه

حذف رکوردها از دیتابیس یکی از عملیات‌های رایج در مدیریت دیتابیس‌ها است. در این قسمت به حذف یک رکورد در دیتابیس توسط کلاس PDO در PHP میپردازیم .

بروزرسانی رکوردها با استفاده از PHP و PDO
26 دقیقه

بروزرسانی رکوردها در دیتابیس یکی از عملیات‌های رایج در مدیریت داده‌ها است. در این قسمت به بروزرسانی یک رکورد در دیتابیس توسط کلاس PDO در PHP میپردازیم .

فصل نهم: اجرای مفاهیم پایه در قالب یک پروژه واقعی

در این قسمت از آموزش، به پیاده‌سازی مفاهیم یادگرفته‌شده در قالب یک پروژه واقعی و عملی می‌پردازیم. برای مثال، می‌توانیم یک سایت مشابه آپارات پیاده‌سازی کنیم که قابلیت‌های پایه‌ای مانند ثبت‌نام کاربر، ورود، آپلود و مدیریت ویدیوها، نمایش لیست ویدیوها و حذف یا به‌روزرسانی اطلاعات را شامل می‌شود.

معرفی پروژه: پیاده سازی سایت آپارات
3 دقیقه

در این پروژه، ما قصد داریم یک سایت مشابه آپارات ایجاد کنیم که شامل قابلیت‌هایی مانند ثبت‌نام کاربران، ورود کاربران، آپلود ویدیوها، نمایش لیست ویدیوها، امتیاز دهی و نظرات و سایر ویژگی ها باشد. تمامی مراحل این پروژه در Repository گیت هاب قرار داده میشود و به مهارت شما در استفاده از گیت کمک میکند. این پروژه به شما کمک می‌کند تا مفاهیم پایه‌ای که در بخش‌های قبلی یاد گرفتید را در یک پروژه واقعی به کار ببرید.

شروع پروژه PHP و تنظیم Document Root با بارگذاری قالب دانلود شده
24 دقیقه

در این بخش، قصد داریم یک پروژه PHP ایجاد کنیم، یک ریپوزیتوری در GitHub بسازیم و قالب دانلود شده را برای سایت بارگذاری کنیم. سپس، تنظیمات Document Root را انجام داده و فایل‌های پروژه را آپلود می‌کنیم.

جداسازی قسمت‌های مختلف View ها در PHP با استفاده از Partial Views
18 دقیقه

یکی از بهترین شیوه‌های توسعه وب، استفاده از partial views برای جداسازی قسمت‌های مختلف رابط کاربری (UI) است. این روش باعث می‌شود که کد HTML سازماندهی شده‌تر، قابل‌فهم‌تر و قابل‌نگهداری‌تر باشد. همچنین، با این روش می‌توانیم قسمت‌های مشترک در صفحات مختلف را تنها یک‌بار تعریف و در صورت نیاز به‌روز کنیم.

معرفی و ایجاد توابع Inspect و DD در PHP
7 دقیقه

در فرآیند توسعه وب، دیباگ کردن و مشاهده‌ی مقادیر متغیرها و نتایج بازگشتی آنان بسیار مهم است. دو تابع inspect و dd (مخفف dump and die) برای این منظور می‌توانند بسیار مفید باشند. این توابع به توسعه‌دهندگان امکان می‌دهند تا به راحتی مقادیر متغیرها را چاپ کنند و در صورت نیاز اجرای اسکریپت را متوقف کنند.

جداسازی منطق کد از View ها در PHP
19 دقیقه

برای داشتن یک پروژه سازمان‌دهی شده و قابل نگهداری، بهترین روش جداسازی منطق (logic) از نمایش (view) است. این جداسازی باعث می‌شود کدها خواناتر، قابل فهم‌تر و نگهداری آن‌ها ساده‌تر باشد. در این قسمت به جداسازی قسمتهای منطقی یا logic کد از قسمتهای View ها در PHP میپردازیم و کم کم به سمت ایجاد ساختمانی برای قسمت های مختلف کدهامون میرویم و در نهایت ویوهای سمت کاربر را ایجاد میکنیم.

ایجاد پنل ادمین در PHP
17 دقیقه

پنل ادمین به مدیران سایت اجازه می‌دهد تا ویدیوها و کاربران را مدیریت کنند. ساختاردهی پروژه و ایجاد view های سمت پنل ادمین از اهداف اصلی این بخش است.

جداسازی روت‌ها از فایل index.php و ایجاد فایل‌های مجزا برای مدیریت روت‌ها
7 دقیقه

در این قسمت، قصد داریم روت‌ها را از فایل index.php جدا کرده و به فایل‌های مجزا منتقل کنیم. این روش باعث سازماندهی بهتر و خوانایی بیشتر کدها می‌شود. همچنین به بررسی URI ها و نحوه سازماندهی آنها می‌پردازیم.

تبدیل فایل router.php به یک کلاس در PHP
28 دقیقه

در این بخش، فایل router.php را به یک کلاس تبدیل می‌کنیم تا به یک ساختار مناسب برای مدیریت روت‌های پروژه دست یابیم. این کلاس به ما کمک می‌کند تا به راحتی روت‌های جدید اضافه کنیم و ساختار پروژه را بهبود بخشیم.

معرفی دیتابیس‌های رابطه‌ای و نحوه استفاده از آنها در PHP
15 دقیقه

در این بخش، به معرفی دیتابیس‌های رابطه‌ای، نحوه استفاده از آنها در PHP، و روابط بین جداول می‌پردازیم. در نهایت، ساختمان پروژه خود را در MySQL Workbench معرفی می‌کنیم.

ایجاد دیتابیس پروژه در MySQL Workbench
41 دقیقه

در این بخش، به ایجاد دیتابیس پروژه خود در محیط MySQL Workbench می‌پردازیم. ساختمان جداول خود را ایجاد می‌کنیم و روابط بین آنها را بررسی می‌کنیم. MySQL Workbench یک ابزار گرافیکی قدرتمند برای مدیریت دیتابیس‌های MySQL است و به ما امکان می‌دهد که جداول و روابط بین آنها را به راحتی ایجاد و مدیریت کنیم.

معرفی کلاس Database برای پروژه PHP
17 دقیقه

برای مدیریت بهتر ارتباط با دیتابیس و انجام عملیات مختلف روی دیتابیس، می‌توانیم یک کلاس Database ایجاد کنیم. این کلاس شامل متدهایی برای اتصال به دیتابیس، انجام کوئری‌ها و مدیریت ارتباطات است.

ایجاد متد Query در کلاس Database و Fetch کردن دسته‌بندی‌ها
14 دقیقه

در این بخش، متد query را در کلاس Database معرفی و ایجاد می‌کنیم تا بتوانیم درخواست‌های خود را اجرایی کنیم. سپس، اولین کوئری خود را برای دریافت کلیه دسته‌بندی‌ها از جدول categories پیاده‌سازی می‌کنیم.

مشاهده‌ی لیست دسته‌بندی‌ها و معرفی تکنولوژی AJAX
29 دقیقه

در این بخش، به ایجاد لیستی برای نمایش دسته‌بندی‌های دریافت شده از سمت دیتابیس می‌پردازیم و با تکنولوژی AJAX آشنا می‌شویم. AJAX به ما امکان می‌دهد تا بدون بارگذاری مجدد صفحه، داده‌ها را از سرور دریافت و در صفحه نمایش دهیم.

ایجاد و خواندن دسته‌بندی‌ها با استفاده از AJAX و PHP
38 دقیقه

در این بخش، به ایجاد دسته‌بندی جدید و ثبت آن در دیتابیس با استفاده از تکنولوژی AJAX و همچنین ارتباط با کلاس Database در محیط کنترلر خود می‌پردازیم.

ارسال داده‌ها از کنترلر به ویو در PHP
10 دقیقه

برای نمایش اطلاعات به دست آمده از دیتابیس به کاربر، باید این اطلاعات را از کنترلر به ویو (View) ارسال کنیم. این کار به ما امکان می‌دهد که داده‌ها را در محیط ویو نمایش دهیم و تجربه کاربری بهتری ارائه دهیم.

به‌روزرسانی اطلاعات دسته‌بندی‌ها با استفاده از تکنولوژی AJAX - قسمت اول
34 دقیقه

در این بخش، به معرفی و پیاده‌سازی به‌روزرسانی اطلاعات دسته‌بندی‌ها با استفاده از تکنولوژی AJAX می‌پردازیم.همانطور که گفته شد AJAX به ما امکان می‌دهد که بدون بارگذاری مجدد صفحه، داده‌ها را به سرور ارسال و پاسخ‌ها را دریافت کنیم.

به‌روزرسانی اطلاعات دسته‌بندی‌ها با استفاده از تکنولوژی AJAX - قسمت دوم
19 دقیقه

فصل دهم: تکمیل پروژه با تمرکز بر شئ گرایی

معرفی فریمورک خودمان در PHP
11 دقیقه

با جداسازی بخش‌های مختلف پروژه و سازماندهی آن‌ها، به نقطه‌ای رسیده‌ایم که می‌توانیم فریمورک خود را در PHP ایجاد کنیم. هدف از ایجاد یک فریمورک، سازماندهی بهتر، کد تمیزتر و قابلیت نگهداری بالاتر است. در این بخش، به ساختار پوشه‌ها و سازماندهی قسمت‌های مختلف فریمورک خود می‌پردازیم.

معرفی تابع ()spl_autoload_register در PHP
8 دقیقه

تابع ()spl_autoload_register در PHP به شما امکان می‌دهد تا به جای استفاده مستقیم از require یا include برای هر کلاس، از autoloader استفاده کنید. این روش به شما کمک می‌کند تا کد خود را تمیزتر و سازمان‌یافته‌تر نگه دارید و به مفهوم اتو لودینگ (Autoloading) در PHP آشنا شوید.

معرفی کامپوزر و استفاده از استاندارد PSR-4 در PHP
32 دقیقه

Composer یک ابزار مدیریت وابستگی (Dependency Manager) در PHP است که به شما امکان می‌دهد تا کتابخانه‌ها و پکیج‌های مختلف را به پروژه خود اضافه کرده و به راحتی آن‌ها را مدیریت کنید. استفاده از استاندارد PSR-4 در کنار Composer به شما کمک می‌کند تا از اتو لودینگ (Autoloading) برای کلاس‌ها به صورت استاندارد و سازمان‌یافته استفاده کنید.

بهینه‌سازی کدهای کلاس Router در PHP
16 دقیقه

در این بخش، به بهینه‌سازی کدهای کلاس Router می‌پردازیم تا بتوانیم کنترلرهای خود را به عنوان کلاس‌های جداگانه در نظر بگیریم و از ایجاد صفحات مختلف برای درخواست‌های خود پرهیز کنیم. هدف این است که کدها تمیزتر، قابل نگهداری‌تر و مقیاس‌پذیرتر شوند.

بهینه‌سازی لیست روت‌ها برای معرفی کلاس‌های کنترلر در PHP
32 دقیقه

در این بخش، به بهینه‌سازی لیست روت‌ها برای ارسال هر کدام از روت‌ها به کلاس کنترلر متناظر با خود می‌پردازیم. این کار به ما امکان می‌دهد تا از کدهای تمیزتر و سازمان‌یافته‌تری برخوردار باشیم و همچنین مسیریابی و کنترل درخواست‌ها را ساده‌تر کنیم.

بهینه‌سازی کنترلرهای پروژه در PHP
16 دقیقه

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

ایجاد کلاس ErrorController و متد delete برای CategoryController
20 دقیقه

در این بخش، به ایجاد کلاس ErrorController برای مدیریت ارورهای سیستمی و همچنین تکمیل عملیات CRUD با اضافه کردن متد delete به CategoryController می‌پردازیم. این کار به ما کمک می‌کند تا خطاهای سیستمی را بهتر مدیریت کنیم و عملیات حذف دسته‌بندی‌ها را نیز پیاده‌سازی کنیم.

ایجاد کلاس UserController و بهینه‌سازی نحوه ذخیره‌سازی اطلاعات کاربر
20 دقیقه

در این بخش، به ایجاد کلاس UserController برای مدیریت کاربران و بهینه‌سازی نحوه ذخیره‌سازی اطلاعات کاربران می‌پردازیم. هدف این است که کدها سازمان‌یافته‌تر، تمیزتر و قابل نگهداری‌تر باشند.

بهینه‌سازی کلاس Router برای ارسال پارامترها
34 دقیقه

در این بخش، به بهینه‌سازی کلاس Router برای ارسال پارامترهایی مانند ID، نام و سایر مطالب به روت‌ها و دریافت آن‌ها در کنترلرها می‌پردازیم. این کار به ما امکان می‌دهد که درخواست‌ها را به درستی مدیریت کنیم و پارامترها را به کنترلرها ارسال کنیم.

ویرایش کاربران با پاس دادن دیتا و ID آنها به سمت روتر با استفاده از AJAX
30 دقیقه

در این بخش، به ویرایش اطلاعات کاربران با استفاده از AJAX و ارسال پارامترهای کاربر از طریق URI به روتر می‌پردازیم. این کار به ما امکان می‌دهد تا بدون بارگذاری مجدد صفحه، اطلاعات کاربران را ویرایش کنیم و پارامترها را به روتر و کنترلرها ارسال کنیم.

معرفی کلاس Validation در پروژه و ایجاد متدهای استاتیک
33 دقیقه

کلاس Validation برای اعتبارسنجی داده‌هایی که از سمت کاربر از طریق فرم‌ها ارسال می‌شود استفاده می‌شود. این کلاس تضمین می‌کند که داده‌های ورودی قبل از ذخیره‌سازی در دیتابیس، معتبر باشند. استفاده از متدهای استاتیک به ما امکان می‌دهد تا به سادگی و بدون نیاز به نمونه‌سازی از کلاس، متدها را فراخوانی کنیم.

نرمال‌سازی داده‌های ارسال‌شده از فرم در PHP
21 دقیقه

در این قسمت به معرفی نرمال سازی دیتاهای ارسال از فرم در PHP میپردازیم تا بتوانیم از حملات Script Injection جلوگیری کنیم .

پیاده‌سازی اعتبارسنجی داده‌ها در کنترلرها با استفاده از کلاس Validation
29 دقیقه

در این بخش، به پیاده‌سازی کلاس Validation درون کلاس‌های کنترلر می‌پردازیم تا بتوانیم اعتبارسنجی را بر روی داده‌های ارسالی از فرم‌ها انجام دهیم. همچنین، در صورتی که اعتبارسنجی موفقیت‌آمیز نبود، خطاهایی را به کاربر نمایش دهیم

ایجاد یوزر در دیتابیس پس از مراحل Sanitize و Validation
24 دقیقه

پس از اطمینان از اینکه داده‌های ورودی از سمت کاربر به درستی نرمال‌سازی و اعتبارسنجی شده‌اند، اکنون می‌توانیم با خیال راحت این اطلاعات را درون دیتابیس ذخیره کنیم. در این بخش، پیاده‌سازی نهایی برای ایجاد کاربران در دیتابیس را انجام می‌دهیم.

حذف کاربر و ایجاد فلش مسیج‌ها در PHP
29 دقیقه

فلش مسیج‌ها (پیام‌های موقتی) به پیام‌هایی اطلاق می‌شود که برای یک دوره کوتاه (مثلاً بعد از یک عملیات خاص) به کاربر نمایش داده می‌شوند و پس از نمایش از بین می‌روند. در این بخش، به پیاده‌سازی فلش مسیج‌ها و همچنین حذف کاربران همراه با نمایش فلش مسیج‌ها به کاربر می‌پردازیم.

ویرایش اطلاعات کاربران در محیط پنل ادمین
44 دقیقه

در این بخش، به پیاده‌سازی فرم ویرایش اطلاعات کاربران در پنل ادمین می‌پردازیم. ابتدا فرم ویرایش را ایجاد کرده و سپس عملیات به‌روزرسانی اطلاعات کاربر را در کنترلر مدیریت می‌کنیم. همچنین از فلش مسیج‌ها برای نمایش پیام‌های موفقیت یا خطا استفاده خواهیم کرد.

ثبت نام کاربر و اعتبارسنجی او در PHP
48 دقیقه

در این بخش، به پیاده‌سازی سیستم ثبت نام و اعتبارسنجی کاربران (authenticate) می‌پردازیم. این سیستم شامل ایجاد فرم ثبت نام، اعتبارسنجی داده‌های ورودی، ثبت اطلاعات کاربر در دیتابیس و نمایش خطاها به کاربر است.

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

یکی از مهم‌ترین اصول در طراحی سیستم‌های ثبت نام، اطمینان از یونیک بودن ایمیل کاربران است. ایمیل به عنوان یک شناسه یکتا برای هر کاربر عمل می‌کند و تضمین می‌کند که هر حساب کاربری منحصر به فرد است. در این بخش، دلایل یونیک بودن ایمیل و نحوه جلوگیری از ثبت کاربران با ایمیل یکسان را بررسی می‌کنیم.

ایجاد کلاس Session در فریمورک آپارات در PHP
24 دقیقه

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

ورود (Login) در فریمورک
48 دقیقه

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

خروج (Logout) و پاکسازی سشن در فریمورک
19 دقیقه

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

Middleware و بررسی مبحث دسترسی‌ها
27 دقیقه

میدلورها (Middleware) نقش مهمی در مدیریت دسترسی‌ها و کنترل جریان درخواست‌ها در یک فریمورک وب ایفا می‌کنند. با استفاده از میدلورها، می‌توانیم بررسی کنیم که آیا کاربر مجاز به دسترسی به یک روت خاص است یا خیر. در این بخش، به معرفی میدلورها و پیاده‌سازی سیستم authorization برای بررسی دسترسی کاربران به روت‌های مختلف می‌پردازیم.

Middleware دسترسی‌ها به قسمت‌های مختلف پنل ادمین و پنل کاربری
12 دقیقه

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

تکمیل منوهای کاربری و پنل ادمین بر اساس نقش‌ها
18 دقیقه

در این بخش، به پیاده‌سازی منوهای کاربری و پنل ادمین بر اساس نقش کاربر می‌پردازیم. با توجه به نقش کاربر (ادمین یا کاربر عادی)، منوهای مختلفی برای آن‌ها نمایش داده می‌شود. این کار به ما کمک می‌کند تا تجربه کاربری بهتری ارائه دهیم و دسترسی‌های مناسب را به کاربران بدهیم.

تنظیمات پنل ادمین و پنل کاربری
44 دقیقه

در این بخش، به پیاده‌سازی تنظیمات پنل ادمین و پنل کاربری بر اساس نقش کاربر می‌پردازیم. هدف این است که منوها و بخش‌های مختلف هر پنل بر اساس نقش کاربر بارگزاری شوند و کاربران تنها به بخش‌های مجاز دسترسی داشته باشند.

میدلوری برای بارگزاری ویدیو (Upload Video Middleware)
9 دقیقه

در این بخش، میدلوری را پیاده‌سازی می‌کنیم که بررسی می‌کند آیا کاربر تنظیمات لازم (مانند نام کانال و بک‌گراند) را در پنل کاربری خود تکمیل کرده است یا خیر. اگر این تنظیمات تکمیل نشده باشد، کاربر از بارگزاری ویدیو منع می‌شود و به صفحه تنظیمات هدایت می‌شود.

بارگزاری ویدیو و ثبت آن در دیتابیس
29 دقیقه

در این بخش، به پیاده‌سازی فرم بارگزاری ویدیو و ثبت اطلاعات آن در دیتابیس می‌پردازیم. هدف این است که کاربران بتوانند ویدیوهای خود را از طریق فرم بارگزاری کنند و اطلاعات مربوط به ویدیو در دیتابیس ذخیره شود.

بهینه‌سازی متود ذخیره‌سازی ویدیو در کلاس VideoController
35 دقیقه

در این بخش، به بهینه‌سازی متود ذخیره‌سازی اطلاعات ویدیو در کلاس VideoController می‌پردازیم و با رعایت اصول SOLID، کد خود را بهبود می‌بخشیم. این اصول به ما کمک می‌کنند تا کدهای قابل توسعه و نگهداری‌تری بنویسیم.

به‌روز رسانی ویدیو (Video Update)
43 دقیقه

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

حذف ویدیو با استفاده از AJAX و SweetAlert
13 دقیقه

در این بخش، به پیاده‌سازی مراحل حذف ویدیو با استفاده از تکنولوژی AJAX و کتابخانه SweetAlert می‌پردازیم. این روش به کاربران و مدیران سایت اجازه می‌دهد تا ویدیوها را به‌صورت سریع و بدون بارگذاری مجدد صفحه حذف کنند.

نمایش ویدیوها بر اساس دسته‌بندی در صفحه اصلی
23 دقیقه

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

بهینه‌سازی HomeController با استفاده از JOIN‌ها در MySQL
15 دقیقه

در این بخش، به بهینه‌سازی HomeController می‌پردازیم تا بتوانیم با استفاده از JOIN‌ها در MySQL، اطلاعات مربوط به کاربران و ویدیوها را به صورت بهینه‌تری دریافت کنیم. هدف این است که اطلاعات کاربرانی که ویدیوها را در دسته‌بندی‌های مختلف بارگزاری کرده‌اند، نیز نمایش داده شود.

اعتبارسنجی نام کانال (Channel Name Validation)
26 دقیقه

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

ایجاد صفحه دسته‌بندی (Category Page)
30 دقیقه

در این بخش، به پیاده‌سازی صفحه دسته‌بندی می‌پردازیم تا کاربران بتوانند تمامی ویدیوهای مرتبط با یک دسته‌بندی خاص را مشاهده کنند. این صفحه به کاربران اجازه می‌دهد که با انتخاب یک دسته‌بندی از منوها یا صفحه اصلی، ویدیوهای مرتبط با آن دسته‌بندی را مشاهده کنند.

پیاده‌سازی منطق Followering در PHP - قسمت اول
39 دقیقه

در این بخش، به پیاده‌سازی منطق follow و unfollow در شبکه‌های اجتماعی می‌پردازیم. این عملیات معمولاً شامل استفاده از جدول میانی (junction table) برای ایجاد رابطه بین کاربران و دنبال‌کنندگان است. همچنین، این منطق را در محیط کانال‌های خود پیاده‌سازی می‌کنیم تا کاربران بتوانند یکدیگر را دنبال و دنبال کردن را لغو کنند.

پیاده‌سازی منطق Followering در PHP - قسمت دوم
29 دقیقه

شمارش تعداد فالوورهای هر کانال در PHP
9 دقیقه

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

ایجاد صفحه نمایش ویدیو در PHP
19 دقیقه

در این بخش، به ایجاد صفحه نمایش ویدیو می‌پردازیم تا کاربران بتوانند ویدیوهای موجود در سایت را به صورت داینامیک مشاهده کنند. این صفحه شامل جزئیاتی مانند عنوان ویدیو، توضیحات، تعداد بازدید و نظرات کاربران خواهد بود.

تکمیل صفحه نمایش ویدیو در PHP
15 دقیقه

در این بخش، به تکمیل صفحه نمایش ویدیو می‌پردازیم تا شامل جزئیاتی مانند تعداد بازدید، تعداد لایک، فالو کردن، و دانلود ویدیو باشد.

مشاهده تمامی فالوورها و فالووشدگان در پنل کاربر - قسمت اول
10 دقیقه

در این بخش، به پیاده‌سازی نمایش تمامی فالوورها و فالووشدگان در پنل کاربر می‌پردازیم. کاربران باید بتوانند لیستی از کسانی که آن‌ها را دنبال کرده‌اند (فالوورها) و کسانی که خودشان دنبال کرده‌اند (فالووشدگان) را مشاهده کنند. همچنین باید امکان حذف فالوورها و فالووشدگان وجود داشته باشد.

مشاهده تمامی فالوورها و فالووشدگان در پنل کاربر - قسمت دوم
44 دقیقه

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

نمایش ویدیوهای با بیشترین بازدید در صفحه اصلی و صفحه‌ای جداگانه
9 دقیقه

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

لایک ویدیو و استفاده از جدول علاقه‌مندی‌ها
14 دقیقه

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

نمایش بهترین ویدیوها در صفحه اصلی بر اساس آمار بازدید و تعداد لایک
21 دقیقه

در این بخش، به پیاده‌سازی نمایش بهترین ویدیوها در صفحه اصلی بر اساس تعداد بازدید و تعداد لایک می‌پردازیم. این کار با استفاده از فرمولی که نسبت تعداد لایک‌ها به تعداد بازدیدها را محاسبه می‌کند انجام می‌شود و بر اساس آن، ویدیوهای برتر را استخراج می‌کنیم.

کامنت گذاری بر ویدیوها
11 دقیقه

در این بخش، به بررسی منطق ایجاد کامنت‌ها برای هر ویدیو می‌پردازیم و همچنین منطق آن را طوری پیاده‌سازی می‌کنیم که کاربر مالک ویدیو بتواند اجازه تایید این کامنت یا یادداشت را برای ویدیو بدهد.

معرفی ORM در PHP
35 دقیقه

در این بخش، به معرفی ORM (Object Relational Mapping) برای ارتباط با دیتابیس در PHP می‌پردازیم و مزایای آن را بررسی می‌کنیم. همچنین پکیج Illuminate/Database (بخشی از فریمورک Laravel) که Eloquent ORM را فراهم می‌کند، معرفی خواهد شد.

ایجاد سرچ باکس و معرفی پلاگین Easy-Code در پروژه
36 دقیقه

در این بخش، به ایجاد سرچ باکس در پروژه برای جستجوی تمامی محتواهای داخل سایت مانند نام کاربر، نام کانال و ویدیوها با استفاده از ORM Eloquent می‌پردازیم. همچنین پلاگین Easy-Code برای ادیتورهای PHPStorm و VSCode را معرفی می‌کنیم.

آموزش آپلود فایل‌های پروژه در محیط cPanel سرور
32 دقیقه

در این بخش، به بررسی قسمت‌های مختلف cPanel و آماده‌سازی محیط برای بارگزاری پروژه آپارات می‌پردازیم. سپس مراحل بارگزاری پروژه را انجام خواهیم داد.

جلسه پایانی و توضیحاتی درباره ادامه مسیر
4 دقیقه

تبریک می‌گوییم! شما به پایان دوره آموزشی خود رسیدید. در این جلسه پایانی، قصد داریم نکاتی درباره ادامه مسیر و توسعه بیشتر مهارت‌هایتان در برنامه‌نویسی PHP و توسعه وب ارائه دهیم.

نظرات شما

برای ارسال سوال لازم است، ابتدا وارد سایت شوید.

این دوره به سبد خرید اضافه شد
دوره آموزش جامع PHP از صفر تا صد با پروژه‌های عملی
رفتن به سبد خرید