راهنمای کامل توسعه وب سیمفونی: مبتدی تا پیشرفته

Symfony Web Development Complete Guide: Beginner To Advanced

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Master Symfony PHP Framework: از تئوری، از طریق برنامه‌های ساده و پیشرفته، تا معماری میکروسرویس‌ها با استفاده از CQRS شما Symfony 4 و 5 را از تئوری تا سطح پیشرفته با ایجاد پروژه‌های واقعی یاد خواهید گرفت. شما دو برنامه ایجاد خواهید کرد: یک برنامه ساده و یک اشتراک‌گذاری ویدیوی پیشرفته سرویس با ادغام PayPal، استقرار در Heroku و غیره. نحوه ایجاد درخت دسته بندی های تو در تو چند سطحی در PHP را یاد خواهید گرفت. نحوه نصب Symfony را یاد خواهید گرفت با پیکربندی Symfony آشنا خواهید شد با Symfony Flex آشنا خواهید شد. فریمورک مسیرها را یاد می گیرید کنترلرها را در Symfony با استفاده از Twig یاد خواهید گرفت فرم های html را در Symfony یاد خواهید گرفت Doctrine ORM (نحوه استفاده از پایگاه داده) شما موجودیت ها (مدل ها) در Symfony و روابط بین آنها را یاد خواهید گرفت. در مورد کانتینر و سرویس‌های سرویس در Symfony یاد می‌گیرید تزریق وابستگی (سیم‌کشی خودکار در Symfony) دستور کنسول را یاد می‌گیرید نحوه ایجاد رویدادها و شنوندگان را یاد می‌گیرید نحوه استفاده از جلسات و کوکی‌ها در Symfony را یاد می‌گیرید نحوه ارسال ایمیل را یاد خواهید گرفت. شما یاد خواهید گرفت که چگونه در Symfony ترجمه انجام دهید با مفاهیم امنیتی در Symfony (ورود به سیستم، ثبت نام و غیره) آشنا خواهید شد. تست واحد و عملکردی را یاد خواهید گرفت با اشکال زدایی برنامه های Symfony آشنا خواهید شد. Redis برای Sesion و Cache شما در مورد وراثت جدول دکترین در Symfony و پرس و جوهای پایگاه داده چند شکلی یاد خواهید گرفت شما یاد خواهید گرفت که چگونه یک برنامه Symfony را در Heroku استقرار دهید (برنامه آنلاین را بسازید) شما یاد خواهید گرفت که چگونه PayPal را با برنامه Symfony برای ایجاد صورتحساب اشتراک شما ادغام کنید. نحوه استفاده از API خارجی (Vimeo api) و استفاده از آن با برنامه Symfony شما می توانید وب سایت ها یا برنامه های وب خود را در چارچوب Symfony ایجاد کنید. اصول اولیه کارگزار پیام RabbitMQ را خواهید آموخت. آموزش الگوی CQRS - Query فرمان تفکیک مسئولیت شما REST API را با Symfony & API یاد خواهید گرفت پلتفرم پیش نیاز: زبان PHP و برنامه نویسی شی گرا مبانی HTML، CSS، جاوا اسکریپت نحوه نصب نرم افزار بر روی کامپیوتر و داشتن اتصال به اینترنت شما نیاز به داشتن سرور دارید محیط نصب شده، به عنوان مثال اوبونتو، Xampp و غیره برای کار با برنامه های PHP به صورت محلی

به جامع ترین دوره Symfony در Udemy خوش آمدید. Symfony چارچوب عالی PHP است!


در این دوره شما Symfony را از سطح مقدماتی تا پیشرفته - از تئوری، از طریق برنامه ساده خام، تا ایجاد یک برنامه Real Life پیشرفته، یاد خواهید گرفت. همچنین نحوه ایجاد REST API با استفاده از پلتفرم API و نحوه ایجاد معماری میکروسرویس با استفاده از CQRS، RabbitMQ و پیام‌رسان Symfony را خواهید آموخت.


در پایان این دوره شما می توانید هم وب سایت های ساده و هم برنامه های وب پویا پیچیده را در چارچوب Symfony PHP ایجاد کنید.


شما یک دوره جامع Symfony در Udemy از این دوره پیدا نخواهید کرد. اگرچه ما در حال حاضر نسخه 7 Symfony را داریم، این دوره هنوز بسیار مفید است، چیز زیادی تغییر نکرده است، بسیاری از چیزها بسیار شبیه هستند. به عنوان مثال، تعریف مسیریابی:

Symfony 4,5:

/**

* @Route("/blog، name="blog_list")

*/

لیست عملکرد عمومی(): پاسخ

{

//...

}

سیمفونی 7:

#[مسیر('/blog'، نام: 'blog_list')]

لیست عملکرد عمومی(): پاسخ

{

//...


نگران نباش. شما با خطاهای ناسازگاری نسخه مواجه نخواهید شد - در این دوره از همان نسخه های بسته به عنوان مدرس روی صفحه استفاده می کنید.


دوره بسیار کاربردی! تقریباً تمام بخش‌ها/مفاهیم با استفاده از برنامه‌ها/سناریوهای واقعی توضیح داده می‌شوند. در این دوره ما یک برنامه زندگی واقعی بزرگ ایجاد خواهیم کرد (احتمالاً دوره ای را پیدا نمی کنید که در آن برنامه پیشرفته تری مانند این دوره ساخته شده باشد).


این یک راهنمای بسیار گسترده برای Symfony است که یکی از محبوب ترین فریم ورک های PHP است. نسخه Symfony 4 رویکرد جدیدی را برای فریمورک‌های php معرفی کرد - به عنوان یک microframework کوچک شروع می‌شود و با نیاز به ویژگی‌های جدید رشد می‌کند. شما آنها را با استفاده از ابزار شگفت انگیز Symfony Flex نصب می کنید. به عنوان مثال، اگر یک وب سایت ساده می سازید و نیازی به قابلیت ورود به سیستم ندارید، هیچ کدی مسئول ورود به فهرست فریمورک نیست. با تشکر از این برنامه ما فقط به اندازه نیاز ما است.


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

1. بخش تئوری که در آن مفاهیم اولیه Symfony را بر روی نمونه هایی با افکت در مرورگر وب مورد بحث قرار می دهم

2. در قسمت دوم یک برنامه کاربردی ساده در Symfony خواهیم ساخت - لیستی از کارهایی که باید انجام شوند (پایگاه داده استفاده شده)

3. در قسمت 3 ما یک برنامه وب پیشرفته برای اشتراک ویدیو می سازیم که در آن PayPal را برای پرداخت ها، دسته بندی های ویدئویی تو در تو چند سطحی، ارتباط با Vimeo API، استقرار به سرور Heroku ادغام می کنیم


و همچنین:


بخش BONUS اضافه شد - اصول اولیه کامپوننت پیام رسان Symfony، کارگزار پیام RabbitMQ و الگوی CQRS (تفکیک مسئولیت پرس و جو فرمان) با مثال عملی با شبیه سازی سیستم تجارت الکترونیکی متشکل از برنامه اصلی و میکروسرویس های همکار.


به‌روزرسانی دوره: بخش جدید REST API با پلتفرم Symfony API اضافه شد



در طول دوره ما بسیاری از مفاهیم ساده و پیشرفته Symfony مانند: مسیریابی، کنترل‌کننده‌ها، نماها، پایگاه‌داده با فرم دکترین، موجودیت‌ها و روابط بین آن‌ها را پوشش خواهیم داد: یک به یک، یک به بسیاری و بسیاری به بسیاری. شنوندگان رویدادها، موضوعات امنیتی مانند ورود، ثبت نام، مجوز. همچنین تست واحد و عملکرد، تزریق وابستگی، کانتینر سرویس، خدمات سیمفونی، ارث بری جدول دکترین با جستارهای پایگاه داده چند شکلی، REST API و بسیاری موارد دیگر.


این دوره ترکیبی از نظریه و رویکرد یادگیری پروژه محور است. یادگیری با ساخت پروژه های واقعی بهترین راه برای یادگیری زبان های برنامه نویسی و ابزارهایی مانند چارچوب های PHP است.


همه برنامه های دوره با استفاده از Symfony 4 ساخته شده اند (به جز برنامه های کاربردی برای بخش rest api - Symfony 5). ارتقا به قسمت Symfony 5 به دوره اضافه شد. طبق استاندارد Symfony، هیچ ویژگی جدیدی در Symfony 5.0 در مقایسه با Symfony 4.4 وجود ندارد.


به خاطر داشته باشید که فقط تمرین باعث عالی می شود. در صورت لزوم، دو بار یا بیشتر دوره را مطالعه کنید. در طول دوره مانند یک دانش آموز واقعی یادداشت برداری کنید. از اسناد، جستجوی گوگل استفاده کنید. در نهایت سعی کنید برنامه را خودتان بنویسید، نه لزوماً مانند دوره، می توانید سعی کنید چیزی را تغییر دهید، اضافه کنید و غیره. فقط می تواند شما را به این هدف نزدیک کند. هر چه بیشتر تمرین کنید، بهتر است.



کیفیت

سوال سوال:

شما از Symfony 4 و Symfony 5 در این دوره برای ایجاد برنامه هایی برای تمرین دانش استفاده کردید. چرا فقط از آخرین نسخه استفاده نمی کنید؟ یعنی این دوره منسوخ شده و من از آن بهره ای نخواهم برد؟

پاسخ:

مطلقاً نه! در ابزارهایی مانند چارچوب های PHP، اصول و نحو پایه تقریباً هرگز بدون در نظر گرفتن نسخه تغییر نمی کند. اما مطمئناً هر نرم افزار نگهداری شده همیشه در حال تکامل است. به همین دلیل من همیشه به شما پیشنهاد می کنم از نسخه نرم افزاری که مدرس در دوره استفاده می کند استفاده کنید. از اشتباهات و سردرگمی ها جلوگیری می کند. به عنوان فردی که می‌خواهد توسعه وب را یاد بگیرد، باید بدانید که توسعه وب واقعی شامل تطبیق کد با نسخه‌های جدیدتر در صورت لزوم است - اما این همیشه ضروری نیست، هر شرکتی این کار را انجام نمی‌دهد. نرم افزار به قدری تغییر می کند که مربیان نمی توانند دوره ها را طوری ایجاد کنند که با آخرین نسخه مطابقت داشته باشند. این حتی توصیه نمی شود، زیرا شما به عنوان یک دانش آموز یک جنبه مهم از توسعه وب واقعی را از دست خواهید داد - آگاهی از اینکه همه چیز در حال تغییر است و شما باید بتوانید با آن کنار بیایید.



اکنون ثبت نام کنید و بیایید شروع به یادگیری Symfony کنیم!

هیچ خطری وجود ندارد! 30 روز ضمانت بازگشت وجه (مثل همیشه در Udemy)


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

مقدمه Introduction

  • به دوره خوش آمدید Welcome to the course

  • درباره سیمفونی About Symfony

  • ابزار و الزامات برای دانش آموزان Tools and requirements for students

  • نحوه استفاده از دوره How to use the course

  • نمای کلی برنامه های دوره Course applications overview

  • یادداشت سریع در مورد استانداردهای کدنویسی Quick note about coding standards

  • نحوه کمک گرفتن How to get helped

اصول اولیه، نصب و پیکربندی Symfony 4 و 5 Symfony 4 & 5 basics, installation & configuration

  • نصب و الزامات Symfony 4 Symfony 4 installation & requirements

  • پیکربندی Symfony 4 Symfony 4 configuration

  • نصب کتابخانه ها با Symfony Flex Installing libraries with Symfony Flex

  • اشیاء درخواست و پاسخ، گردش کار پردازش HTTP Request & response objects, HTTP processing workflow

تئوری - ویژگی های اصلی سیمفونی 4 و 5 Theory - Symfony 4 & 5 core features

  • قبل از شروع تماشای این بخش از دوره Symfony Before you start watching this section of the Symfony course

  • مسیرها Routes

  • کنترل کننده ها Controllers

  • بازدیدها Views

  • موجودیت ها (مدل ها) Entities (models)

  • کانتینر و خدمات سرویس - قسمت 1 Service container & services - part 1

  • کانتینر و خدمات - قسمت 2 Service container & services - part2

  • مسیرهای پیشرفته Advanced routes

  • پیام های فلش Flash messages

  • کوکی ها Cookies

  • جلسه Session

  • ارسال و دریافت داده POST & GET data

  • صفحات خطای سفارشی Custom error pages

  • رسیدگی به استثناها Handle exceptions

  • خدمات الزام آور به کنترلرها Binding services to controllers

  • ویژگی های بیشتر در کنترلرها More features in controllers

  • نماها - برچسب ها، فیلترها، توابع، تست ها، عملگرها Views - tags, filters, functions, tests, operators

  • نماها - ایجاد url و رشته های فرار Views - genereate url's and escaping strings

  • نماها - متغیرهای سراسری Views - global variables

  • بازدیدها - Webpack Encore Views - Webpack Encore

  • نماها - با استفاده از متغیر برنامه Views - using app variable

  • نماها - کنترلرها را در نمای جاسازی کنید Views - embed controllers in view

  • دکترین خام - ایجاد Doctrine crud - create

  • دکترین خام - بخوانید Doctrine crud - read

  • دکترین خام - به روز رسانی Doctrine crud - update

  • دکترین خام - حذف Doctrine crud - delete

  • پرس و جوهای خام دکترین Doctrine raw queries

  • مبدل پارامتر دکترین Doctrine param converter

  • گزینه Doctrine LifecycleCallbacks Doctrine LifecycleCallbacks option

  • دکترین روابط یک به چند و چند به یک Doctrine one-to-many & many-to-one relationships

  • روابط پایگاه داده دکترین - آبشار حذف اشیاء رتبه بندی شده Doctrine database relationships - cascade remove ralated objects

  • دکترین رابطه یک به یک Doctrine one-to-one relationship

  • دکترین رابطه خود ارجاعی چند به چند Doctrine many-to-many self referencing relationship

  • Doctrine Query Builder و بارگیری مشتاق Doctrine Query Builder & eager loading

  • نگاشت وراثت جدول دکترین در سیمفونی (پرس و جوهای چند شکلی) - قسمت 1 Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 1

  • نگاشت وراثت جدول دکترین در Symfony (پرس و جوهای چند شکلی) - قسمت 2 Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 2

  • نگاشت وراثت جدول دکترین در Symfony (پرس و جوهای چند شکلی) - قسمت 3 Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 3

  • پارامترهای سرویس Service parameters

  • سرویس و سیم‌کشی خودکار با تزریق سازنده و آرگومان‌های سرویس Service & autowiring by constructor injection and service arguments

  • پیکربندی سرویس Service configuration

  • خدمات - تزریق تنظیم کننده برای وابستگی های اختیاری Services - setter injection for optional dependencies

  • خدمات - تزریق اموال Services - property injection

  • بسته آهنگساز را قبل از سخنرانی بعدی نصب کنید Install composer package before the next lecture

  • خدمات - خدمات تنبل Services - lazy services

  • خدمات - نام مستعار Service - aliases

  • خدمات - برچسب ها Service - tags

  • سرویس - برخورد با پیاده سازی های مختلف یک سرویس Service - dealing with different implementations of a service

  • لیست خدمات Services list

  • حافظه پنهان - استفاده اولیه Cache - basic usage

  • حافظه پنهان - برچسب ها Cache - tags

  • کنسول سیمفونی Symfony console

  • از ابزار پروفایلر در سیمفونی استفاده کنید Use profiler tool in Symfony

  • محیط‌ها در مقابل هسته‌ها Environments vs kernels

  • برنامه Symfony را اجرا کنید Deploy Symfony application

  • مفاهیم پایه رویدادها و شنوندگان Events & Listeners base concepts

  • شنونده ایجاد کنید Create listener

  • اعزام رویدادها Dispatching events

  • ایجاد مشترک Create subscriber

  • مشترک - بسیاری از رویدادها توسط یک مشترک اداره می شود Subscriber - many events handled by one subscriber

  • مشترک - اولویت های رویدادها Subscriber - events priorities

  • فرم - یک کلاس ایجاد کنید Form - create a class

  • فرم - رندر در نظر Form - render in view

  • فرم - مضامین Form - themes

  • فرم - ارسال Form - send

  • فرم - اعتبار سنجی Form - validation

  • فرم - رویدادها Form - events

  • فرم - فیلدهایی که به نهاد مربوط نیستند Form - fields not related to entity

  • فرم - آپلود فایل ها Form - upload files

  • ایمیل - بسته ایمیل را نصب کنید و یک ایمیل ارسال کنید Email - install email package & send an email

  • ایمیل - spooling Email - spooling

  • ایمیل - تست عملکردی Email - functional testing

  • امنیت - ایجاد کاربر Security - create user

  • امنیت - ثبت نام Security - register

  • امنیت - ورود Security - login

  • امنیت - خروج از سیستم Security - logout

  • امنیت - ورود به سیستم و وضعیت ورود به سیستم را به خاطر بسپارید Security - login & remember login state

  • امنیت - csrf Security - csrf

  • امنیت - از چک کننده امنیتی استفاده کنید Security - use security checker

  • بسته بیانی زبان را نصب کنید Install expression-language package

  • امنیت - مجوز با استفاده از حاشیه نویسی Security - authorization using annotations

  • امنیت - مجوز با استفاده از فایل پیکربندی Security - authorization using configuration file

  • امنیت - مجوز با استفاده از روش denyAccessUnlessGranted Security - authorization using denyAccessUnlessGranted method

  • امنیت - مجوز در فایل های مشاهده Security - authorization in view files

  • امنیت - مجوز با استفاده از رأی دهندگان Security - authorization using voters

  • تست های واحد - نصب کنید Unit tests - install

  • آزمون های واحد - آزمون واحد اول Unit tests - first unit test

  • تست های عملکردی - نصب کنید Functional tests - install

  • تست های عملکردی و واحد - ادعاهای رایج Functional & unit tests - common assertions

  • تست های عملکردی - روی پیوندها کلیک کنید Functional tests - click links

  • تست های عملکردی - یک فرم ارسال کنید Functional tests - send a form

  • تست های عملکردی - ارائه دهندگان داده Functional tests - data providers

  • تست های عملکردی - تست ها به صورت مجزا Functional tests - tests in isolation

  • تست - اشیاء ساختگی Tests - mock objects

  • تست ها - گزارش پوشش کد Tests - code coverage report

  • ترجمه ها - یک بسته را نصب کنید Translations - install a package

  • ترجمه ها - دیدگاه ها Translations - views

  • ترجمه ها - کنترل کننده ها Translations - controllers

  • ترجمه ها - مسیرها Translations - routes

  • ترجمه ها - کثرت Translations - pluralization

اولین برنامه در Symfony: برنامه لیست کارها (CRUD) First application in Symfony: to-do list app (CRUD)

  • قبل از شروع تماشای این بخش از دوره Symfony Before you start watching this section of the Symfony course

  • نصب و ایجاد هاست مجازی (To-Do App) Installation and creating virtual host (To-Do App)

  • انتقال قالب html به Symfony (برنامه کاری) Move html template to Symfony (To-Do App)

  • ایجاد روش‌های کنترل‌کننده (برنامه کاری) Create controller methods (To-Do App)

  • در Symfony موجودیت بسازید و از آن استفاده کنید (برنامه کارهای انجام شده) Make entity in Symfony and use it (To-Do App)

  • نمایش لیست تمام وظایف در وب سایت (برنامه کارهای انجام شده) Display list of all tasks on the website (To-Do App)

  • تغییر وضعیت یک کار (برنامه کارها) Switch status of a task (To-Do App)

  • حذف یک کار (برنامه کارها) Delete a task (To-Do App)

کنترلرها، مسیرها، نماها - نصب و انتقال قالب html به Symfony (برنامه) Controllers, routes, views - install and move html template to Symfony (App)

  • قبل از شروع تماشای این بخش از دوره Symfony Before you start watching this section of the Symfony course

  • نصب فریمورک Symfony 4 و انتقال قالب به آن Installation of Symfony 4 framework and moving template to it

  • با انتقال قالب html به Symfony ادامه دهید Continue with moving html template to Symfony

  • ایجاد پیوندهای قالب در Symfony - قسمت 1 Make template links working in Symfony - part 1

  • ایجاد پیوندهای قالب در Symfony - قسمت 2 Make template links working in Symfony - part 2

  • ایجاد پیوندهای قالب در Symfony - قسمت 3 Make template links working in Symfony - part 3

  • ایجاد پیوندهای قالب در Symfony - قسمت 4 Make template links working in Symfony - part 4

  • ایجاد پیوندهای قالب در Symfony - قسمت 5 Make template links working in Symfony - part 5

  • Webpack-Encore را نصب کنید Install Webpack-Encore

موجودیت های دکترین، روابط، وسایل، دستورات کنسول - دسته های ویدیویی (برنامه) Doctrine entities, relations, fixtures,console commands - video categories (App)

  • موجودیت دسته (مدل) Category entity (model)

  • با برنامه های رده - قسمت 1 ادامه دهید Continue with Category fixtures - part 1

  • با برنامه های رده - قسمت 2 ادامه دهید Continue with Category fixtures - part 2

  • نمایش دسته های اصلی در وب سایت Display main categories on website

  • فیلتر Twig سفارشی ایجاد کنید Create custom Twig filter

  • کلاس دسته برای جلویی Category class for front-end

  • ساخت آرایه php برای دسته های تو در تو Build php array for nested categories

  • دسته های تو در تو را در صفحه اول ایجاد کنید Create nested categories on front-page

  • نمایش دسته ها در صفحه اول را به پایان برسانید Finish displaying categories on front-page

  • نمایش دسته ها در ناحیه مدیریت - قسمت 1 Display categories in admin area - part 1

  • نمایش دسته ها در قسمت مدیریت - قسمت 2 Display categories in admin area - part 2

  • ویرایش دسته در پنل مدیریت - قسمت 1 Edit category in admin panel - part 1

  • ویرایش دسته در پنل مدیریت - قسمت 2 Edit category in admin panel - part 2

  • ویرایش دسته در پنل مدیریت - قسمت 3 Edit category in admin panel - part 3

  • ویرایش دسته در پنل مدیریت - قسمت 4 Edit category in admin panel - part 4

  • ویرایش دسته در پنل مدیریت - قسمت 5 Edit category in admin panel - part 5

آزمون های واحد اول، کلاس های تمسخر (اپلیکیشن سیمفونی) First unit tests, mocking classes (Symfony App)

  • تست واحد دسته ها - قسمت 1 Unit testing of categories - part 1

  • تست واحد دسته ها - قسمت 2 Unit testing of categories - part 2

  • تست واحد دسته ها - قسمت 3 Unit testing of categories - part 3

  • تست واحد دسته ها - قسمت 4 Unit testing of categories - part 4

  • تست واحد دسته ها - قسمت 5 Unit testing of categories - part 5

اولین تست های عملکردی با ایزوله (برنامه سیمفونی) First functional tests with isolation (Symfony App)

  • تست عملکردی دسته ها - قسمت 1 Functional testing of categories - part 1

  • تست عملکردی دسته ها - قسمت 2 Functional testing of categories - part 2

  • تست عملکردی دسته ها - قسمت 3 Functional testing of categories - part 3

  • تست عملکردی دسته ها - قسمت 4 Functional testing of categories - part 4

صفحه بندی، مرتب سازی و جستجو - ویدیوها در وب سایت و آزمایش آن (برنامه Symfony) Paginate, sort and search - videos on the website and test it (Symfony App)

  • وسایل ویدئویی ایجاد کنید Create video fixtures

  • ویدئوها در صفحه اول Videos on front-page

  • صفحه بندی Pagination

  • نمایش فیلم ها از دسته های کودک Display videos from child categories

  • مرتب سازی ویدیوها Sort videos

  • نتایج جستجو Search results

  • تست عملکردی فیلم ها - قسمت 1 Functional testing of videos - part 1

  • تست عملکردی فیلم ها - قسمت 2 Functional testing of videos - part 2

  • تست عملکردی فیلم ها - قسمت 3 Functional testing of videos - part 3

سیستم ورود و مجوز، نمونه داده های کاربر - وسایل (برنامه Symfony) Login and authorization system, sample user data - fixtures (Symfony App)

  • سیستم ورود به سیستم Symfony - قسمت 1 Symfony login system - part 1

  • سیستم ورود به سیستم Symfony - قسمت 2 Symfony login system - part 2

  • سیستم ورود به سیستم Symfony - قسمت 3 Symfony login system - part 3

  • سیستم ورود سیمفونی - قسمت 4 Symfony login system - part 4

  • نقش های کاربر - قسمت 1 User roles - part 1

  • نقش های کاربر - قسمت 2 User roles - part 2

  • نقش های کاربر - قسمت 3 User roles - part 3

  • نمایش پیوندها برای کاربران بسته به وضعیت ورود - قسمت 1 Display links for users depending on login status - part 1

  • نمایش پیوندها برای کاربران بسته به وضعیت ورود - قسمت 2 Display links for users depending on login status - part 2

  • دسترسی ایمن به صفحات سوپرادمین Securing access to superadmin pages

  • امنیت را بررسی کنید Check security

فرم های Html، ثبت کاربران جدید (برنامه سیمفونی) Html forms, register new users (Symfony App)

  • ثبت نام کاربر - قسمت 1 User registration - part 1

  • ثبت نام کاربر - قسمت 2 User registration - part 2

  • ثبت نام کاربر - قسمت 3 User registration - part 3

سایر تست های کاربردی (برنامه سیمفونی) Other functional tests (Symfony App)

  • تست عملکردی دسته ها - قسمت 1 Functional testing of categories - part 1

  • تست عملکردی دسته ها - قسمت 2 Functional testing of categories - part 2

  • تست عملکرد - دسترسی به url - قسمت 1 Functional testing - accessing url's - part 1

  • تست عملکرد - دسترسی به url - قسمت 2 Functional testing - accessing url's - part 2

Doctrine and Lifecycle Callbacks, Repositories - نظرات در مورد ویدیوها (Symfony App) Doctrine and LifecycleCallbacks, repositories - comments on videos (Symfony App)

  • عملکرد نظرات Comments functionality

  • وسایل را کامنت کنید Comment fixtures

  • ارزش دینامیکی تعداد نظرات Dynamic value of comments number

  • نمایش جزئیات ویدئو Display video details

  • نمایش جزئیات نظرات Display comment details

  • ایجاد نظر جدید Create new comment

  • تست عملکردی Functional testing

  • تست عملکردی نظرات Functional testing of comments

رابطه دکترین خیلی به چند - قابلیت دوست داشتن/نپسندیدن (برنامه سیمفونی) Many-to-many Doctrine relation - likes/dislikes functionality (Symfony App)

  • موجودیت ویدیویی Video entity

  • وسایل برای ویدیوها Fixtures for videos

  • نمایش لایک/نپسندیدن - قسمت 1 Display likes/dislikes - part 1

  • نمایش لایک/نپسندیدن - قسمت 2 Display likes/dislikes - part 2

  • نمایش لایک/نپسندیدن - قسمت 3 Display likes/dislikes - part 3

  • نمایش لایک/نپسندیدن - قسمت 4 Display likes/dislikes - part 4

  • مرتب سازی بر اساس لایک - قسمت 1 Sort by likes - part 1

  • مرتب سازی بر اساس لایک - قسمت 2 Sort by likes - part 2

  • بهبود جستجو Improve searching

  • لیست ویدیوها در پنل مدیریت List videos in admin panel

  • بهبود تست عملکردی Improve functional testing

  • تست عملکردی لایک - قسمت 1 Functional testing of likes - part 1

  • تست عملکردی لایک - قسمت 2 Functional testing of likes - part 2

  • تست عملکردی لایک - قسمت 3 Functional testing of likes - part 3

  • بازسازی کد - قسمت 1 Code refactoring - part 1

  • بازسازی کد - قسمت 2 Code refactoring - part 2

روابط پایگاه داده دکترین و Redis برای جلسه - اشتراک های ویدیویی (برنامه) Doctrine database relations & Redis for session - video subscriptions (App)

  • قابلیت اشتراک - قسمت 1 Subscription functionality - part 1

  • قابلیت اشتراک - قسمت 2 Subscription functionality - part 2

  • پروفایل مدیریت Admin profile

  • قابلیت مکان‌دار ویدیو را ایجاد کنید Create video placeholder functionality

  • بازسازی کد Code refactoring

  • Redis را نصب کنید Install Redis

ثبت نام کاربران جدید با انتخاب طرح اشتراک ویدیو (برنامه Symfony) Register new users with choosing video subscription plan (Symfony App)

  • ثبت نام با طرح اشتراک مناسب - قسمت 1 Register with proper subscription plan - part 1

  • ثبت نام با طرح اشتراک مناسب - قسمت 2 Register with proper subscription plan - part 2

  • ثبت نام با طرح اشتراک مناسب - قسمت 3 Register with proper subscription plan - part 3

  • ثبت نام با طرح اشتراک مناسب - قسمت 4 Register with proper subscription plan - part 4

  • حذف آبشاری ویدیوها و نظرات را فعال کنید Enable cascade deletion of videos and comments

  • تست عملکردی اشتراک Functional testing of subscription

پیام های فلش، به روز رسانی پروفایل کاربر با استفاده از دکترین (برنامه سیمفونی) Flash messages, update user profile using Doctrine (Symfony App)

  • حذف پروفایل مدیریت Delete admin profile

  • به روز رسانی پروفایل مدیریت - قسمت 1 Update admin profile - part 1

  • به روز رسانی پروفایل مدیریت - قسمت 2 Update admin profile - part 2

  • به روز رسانی پروفایل مدیریت - قسمت 3 Update admin profile - part 3

  • به روز رسانی پروفایل مدیریت - قسمت 4 Update admin profile - part 4

  • تست عملکردی حساب کاربری Functional testing of user account

  • پروفایل سوپرادمین Superadmin profile

  • تست عملکردی Functional test

آپلود فایل - دو پیاده سازی رابط آپلودر (برنامه سیمفونی) Upload files - two implementations of uploader interface (Symfony App)

  • آپلود ویدئو - قسمت 1 Upload video - part 1

  • آپلود ویدیو - قسمت 2 Upload video - part 2

  • آپلود ویدیو - قسمت 3 Upload video - part 3

  • حذف ویدیوها Delete videos

  • لیست انتخاب دسته ها در پنل مدیریت Categories select list in admin panel

  • ویدیو را بدون عضو تغییر دهید Change video for no members

  • ویژگی novalidate را از فرم های html حذف کنید Remove novalidate attribute from html forms

  • ویدیوها را در Vimeo آپلود کنید Upload videos to Vimeo

  • مدت زمان ویدیوی آپلود شده را تنظیم کنید Set duration for uploaded video

  • یک نظر را حذف کنید Delete a comment

رویدادها و شنوندگان، ارسال ایمیل (برنامه سیمفونی) Events & listeners, sending emails (Symfony App)

  • ایجاد شنونده در Symfony Create listener in Symfony

  • در صورت افزودن یک ویدیوی جدید ایمیل ارسال کنید Send email on the event of adding a new video

  • تست عملکردی Functional testing

ترجمه به زبان های دیگر (برنامه سیمفونی) Translations to other languages (Symfony App)

  • ترجمه ها - قسمت 1 Translations - part 1

  • ترجمه ها - قسمت 2 Translations - part 2

ذخیره صفحات، خدمات و مشترکین رویداد (برنامه Symfony) Caching pages, services & event subscribers (Symfony App)

  • کش - قسمت 1 Cache - part 1

  • کش - قسمت 2 Cache - part 2

  • کش - قسمت 3 Cache - part 3

  • کش - قسمت 4 Cache - part 4

  • کش - قسمت 5 Cache - part 5

محیط های مختلف - استقرار Heroku (برنامه Symfony) Different enviromnents - Heroku deployment (Symfony App)

  • قبل از شروع تماشای این بخش از دوره Symfony Before you start watching this section of the Symfony course

  • استقرار Heroku - قسمت 1 Heroku deployment - part 1

  • استقرار Heroku - قسمت 2 Heroku deployment - part 2

خدمات سیمفونی با ادغام پی پال (برنامه سیمفونی) Symfony services by PayPal integration (Symfony App)

  • توجه! Attention!

  • ادغام PayPal - بخش 1 PayPal integration - part 1

  • ادغام پی پال - قسمت 2 PayPal integration - part 2

REST API با پلتفرم Symfony و API REST API with Symfony & API Platform

  • مقدمه Introduction

  • Symfony 5 و EasyAdmin باندل را نصب کنید Install Symfony 5 and EasyAdmin bundle

  • پلتفرم API را نصب کنید. با استفاده از مؤلفه Schema Generator API Pl، موجودیت ها را ایجاد کنید Install API Platform. Create entities using Schema Generator component of API Pl

  • بسته نرم افزاری EasyAdmin را سفارشی کنید Customize EasyAdmin bundle

  • تصاویر را از طریق EasyAdmin آپلود کنید Upload images through EasyAdmin

  • ایجاد نهادهای مرتبط برای مدیریت از طریق EasyAdmin Create related entities to manage through EasyAdmin

  • احراز هویت و مجوز به برنامه EasyAdmin Authentication and authorization to EasyAdmin app

  • برنامه جاوا اسکریپت مشتری را برای مصرف برنامه پلتفرم restAPI ایجاد کنید. دریافت نقطه پایانی API Create client JavaScript app to consume restAPI Platform app. GET API endpoint

  • صفحه بندی ایجاد کنید Create pagination

  • یک روتر ساده ایجاد کنید Create a simple router

  • نتیجه جستجوی api را با استفاده از فیلتر سفارش پلتفرم API مرتب کنید Sort api query result using API Platform order filter

  • از فیلتر موجود در پلتفرم API استفاده کنید Use exists filter of API Platform

  • از فیلتر جستجوی پلتفرم API استفاده کنید Use search filter of API Platform

  • گروه های سریال سازی پلت فرم API (نرمال سازی و غیرعادی سازی) API Platform serialization groups (normalization and denormalization)

  • داده های ساخت یافته json-ld را با ابزار گوگل تست کنید Test structured json-ld data with Google tools

  • دومین برنامه جاوا اسکریپت برای مصرف api. دریافت درخواست api، صفحه بندی را غیرفعال کنید The second javascript app to consume api. GET api request, disable pagination

  • یک پیشنهاد اضافه کنید. درخواست api استراحت POST Add an offer. POST rest api request

  • یک پیشنهاد را حذف کنید. درخواست استراحت api را حذف کنید Delete an offer. DELETE rest api request

  • بسته احراز هویت JWT را نصب و پیکربندی کنید Install & configure JWT authentication package

  • ثبت نام کاربر جدید Register a new user

  • وارد اپلیکیشن شوید Login to application

  • ایجاد رابطه پایگاه داده پیشنهادات برای کاربران، مجوز Create offers database relation for users, authorization

  • استفاده از مشترک رویداد پلتفرم API Using API Platform event subscriber

  • منابع فرعی پلتفرم API (نقاط پایانی تودرتو) API Platform subresources (nested endpoints)

  • کلاس شنونده برای تولید داده های اضافی به پاسخ JWT - شناسه کاربر ایجاد کنید Create listener class to produce additional data to the JWT response - user id

  • Refactoring: مجوز را آسان تر کنید. از وعده های جاوا اسکریپت استفاده کنید Refactoring: make easier authorization. Use JavaScript Promises

  • در صورت نامعتبر بودن رمز JWT، کد وضعیت خطای 401 را مدیریت کنید Handle 401 error status code when invalid JWT token

  • در صورت نامعتبر بودن رمز، به طور خودکار وارد شوید Login automatically when invalid token

  • عملکرد رمز عبور فراموش شده - قسمت 1 Lost password functionality - part 1

  • عملکرد رمز عبور فراموش شده - قسمت 2 Lost password functionality - part 2

  • عملکرد رمز عبور فراموش شده - قسمت 3 Lost password functionality - part 3

  • عملکرد رمز عبور فراموش شده - قسمت 4 Lost password functionality - part 4

  • عملکرد رمز عبور فراموش شده - قسمت 5 Lost password functionality - part 5

  • عملکرد رمز عبور فراموش شده - قسمت 6 Lost password functionality - part 6

  • عملکرد رمز عبور فراموش شده - قسمت 7 Lost password functionality - part 7

  • یک فایل را از طریق REST API آپلود کنید - قسمت 1 Upload a file through REST API - part 1

  • یک فایل را از طریق REST API - قسمت 2 آپلود کنید Upload a file through REST API - part 2

  • یک فایل را از طریق REST API - قسمت 3 آپلود کنید Upload a file through REST API - part 3

  • اعتبار سنجی و رسیدگی به خطاها Validation and errors handling

  • تست API با PhpUnit Testing API with PhpUnit

  • تصحیح مجوز GetOffers Fix GetOffers authorization

  • حافظه پنهان پلتفرم API API Platform Cache

  • برنامه پلتفرم API را در Heroku مستقر کنید Deploy API Platform app to Heroku

  • خطای "نمی توان به رشته تبدیل شود" را برطرف کرد Fix "can not be converted to string" error

  • افکار نهایی Final thoughts

بخش پاداش: RabbitMQ و CQRS با پیام‌رسان سیمفونی BONUS section: RabbitMQ & CQRS with Symfony Messenger

  • قبل از شروع تماشای این بخش از دوره Symfony Before you start watching this section of the Symfony course

  • Symfony Messenger Component - مقدمه Symfony Messenger Component - introduction

  • اصول RabbitMQ RabbitMQ basics

  • CQRS - مقدمه CQRS - introduction

  • زمان تمرین: سیستم تجارت الکترونیک را با استفاده از پیام ها شبیه سازی کنید Time for practice: simulate e-commerce system using Messages

  • اولین برنامه Symfony را نصب کنید Install first Symfony app

  • یک کنترلر برای وب سایت فروشگاه اینترنتی ایجاد کنید Create a controller for e-shop website

  • Symfony Messenger Component را نصب کرده و از آن استفاده کنید Install Symfony Messenger Component & use it

  • ارسال پیام CreadeOrder Dispatch CreadeOrder message

  • ارسال پیام SignUpSms Dispatch SignUpSms message

  • مسیر پیام ها به انتقال دکترین Route messages to Doctrine transport

  • RabbitMQ را نصب کنید Install RabbitMQ

  • میکروسرویس Symfony را ایجاد کرده و به آن پیام ارسال کنید Create Symfony microservice and send messages to it

  • یک میکروسرویس Symfony دیگر ایجاد کنید و به آن پیام بفرستید Create another Symfony microservice and send messages to it

  • دو میکروسرویس دیگر Symfony ایجاد کنید و برای آنها پیام ارسال کنید Create two another Symfony microservices and send messages to them

  • از اینجا به کجا برویم Where to go from here

راهنمای ارتقا Upgrade guide

  • Symfony را از نسخه>=4.0 ارتقا دهید Upgrade Symfony from >=4.0 version

  • ویژگی های جدید در نسخه اصلی بعدی سیمفونی (5) New features in the next major Symfony release (5)

نمایش نظرات

راهنمای کامل توسعه وب سیمفونی: مبتدی تا پیشرفته
جزییات دوره
24 hours
312
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
7,624
4.4 از 5
دارد
دارد
دارد
Robert Apollo
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Robert Apollo Robert Apollo

دوره های کامل توسعه وب