لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش PHP مدرن: راهنمای کامل - از مبتدی تا پیشرفته
Modern PHP: The Complete Guide - from Beginner to Advanced
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
به زبان برنامه نویسی که وب را قدرتمند می کند تسلط داشته باشید: PHP را بیاموزید و یک حرفه توسعه دهنده وب پردرآمد را شروع کنید حرفه خود را در زمینه فناوری شروع کنید: PHP را بیاموزید، زبانی که بیش از 75 درصد وب سایت ها را قدرت می دهد، برای اولین شغل خود، تبدیل شدن به یک فریلنسر با درآمد خوب یا ارتقا پیدا کنید PHP مدرن را بیاموزید: PHP تغییرات زیادی کرده است. به روش مدرن نوشتن PHP تسلط داشته باشید و برای استفاده واقعی از آن در محل کار کنونی آماده شوید. پایه های برنامه نویسی محکمی را ایجاد کنید: هنگامی که PHP را می شناسید، یادگیری زبان های دیگر بسیار آسان تر می شود تمرکز بر ساخت: با هم، وب سایت های ساده، گالری تصاویر ایجاد خواهیم کرد. سیستم های ورود و حتی یک سیستم مدیریت محتوای کامل (CMS) "چرا" را در پشت PHP درک کنید: فقط برنامه نویسان وب که به دنبال آن هستند این را می دانند با تمرین های سرگرم کننده و تعاملی بیاموزید: هرگز مفاهیم و برنامه های کاربردی PHP را فراموش نکنید در MVC مسلط شوید. چارچوب: چارچوب MVC خود را توسعه دهید، که به شما امکان میدهد برنامههای تحت وب در مقیاس بزرگ بنویسید و قیمتهای بالاتری را برای پروژههای خود دریافت کنید. تبدیل به یک دیباگر استاد شوید: یاد بگیرید چگونه حتی پیچیدهترین خطاهای PHP را اشکال زدایی کنید و برنامه خود را 100% ایمن کنید. لپ تاپ با سیستم عامل در حال اجرا (ویندوز/مک/لینوکس) بدون نیاز به دانش قبلی PHP دانش پایه HTML و CSS سودمند است، اما هنوز هم یک تجدید کننده اولیه برای یادگیری PHP وجود دارد :)
*** روش مدرن نوشتن PHP *** را با 30 تمرین تعاملی بیاموزید ***
آیا به دنبال یک برنامه تعاملی و گام به گام برای تسلط بر PHP مدرن و شروع کار خود به عنوان یک توسعه دهنده وب در سال 2024 هستید؟ سپس ادامه دهید.
بسیاری می گویند که PHP مرده است. اما حقیقت این است که PHP هنوز هم 75 درصد از برنامه های کاربردی وب آنلاین را امروز تامین می کند. این بدان معنی است که اگر به دنبال شغلی به عنوان یک توسعه دهنده وب هستید، یا یک شغل مستقل پردرآمد را شروع می کنید، با PHP مواجه خواهید شد.
مشکل این است که بسیاری از دوره ها بر روی روش قدیمی نوشتن PHP تمرکز می کنند که در بازار قدیمی شده است. پیروی از این برنامه ها فقط شما را ناامید می کند زیرا کد مقیاس نمی شود و نگهداری آن دشوار خواهد بود. شما روش های مورد نیاز برای ساختن برنامه های کاربردی وب در مقیاس بزرگ را یاد نخواهید گرفت و بنابراین هرگز نمی توانید به عنوان یک توسعه دهنده PHP یک حرفه کامل را شروع کنید.
هدف این برنامه تغییر آن است.
این دوره را برای کمک به شما در تسلط بر PHP طراحی کردم، گام به گام از مبتدی تا حرفه ای، اما به روشی که امروزه نوشته شده است. ما بر تسلط بر مفاهیمی تمرکز خواهیم کرد که میتوانند شما را از 0 به ساختن یک سیستم مدیریت محتوای ساده (CMS) با چارچوب خاص خود برسانند.
ما با کد PHP ساده شروع می کنیم، اما قدم به قدم، مفاهیم دیگری را معرفی می کنیم که PHP را به یک زبان مدرن و قدرتمند تبدیل می کند: برنامه نویسی شی گرا، فضاهای نام، بارگذاری خودکار، PSR-4، وراثت، PDO، MVC چارچوب - فقط برای نام بردن چند.
همچنین، با بهترین روش هایی آشنا می شوید که به شما در جلوگیری از حملات امنیتی کمک می کند. شما یاد خواهید گرفت که چگونه از حملات Cross-site-scripting (XSS)، تزریق SQL، حملات افزایش امتیازات و حتی موارد دیگر جلوگیری کنید. اگر میخواهید به یک فریلنسر پرطرفدار یا یک توسعهدهنده ارشد مورد تقاضا تبدیل شوید که شرکتها بتوانند به آن تکیه کنند، آگاهی و توانایی کاهش این خطرات ضروری است.
و توجه داشته باشید، این دوره فقط تئوری نیست. فصلها مملو از مثالهای عملی، آزمونهای جذاب و سناریوهای دنیای واقعی هستند که این تجربه را سرگرمکننده و جذاب میکنند. بعلاوه، در پایان دوره، شما همچنین چندین پروژه ساخته اید که می توانید آنها را به نمایش بگذارید و در نمونه کار خود از آنها استفاده کنید!
آخرین اما نه کم اهمیت، شما همچنین "چرا" پشت PHP را یاد خواهید گرفت - به طوری که از رفتن به آنجا و استفاده از این دانش در پروژه های واقعی مطمئن شوید.
بنابراین، پس از این دوره، شما همچنین می توانید به سبک های مختلف توسعه تسلط پیدا کنید. این دوره همه چیز را پوشش می دهد:
از اسکریپت های ساده PHP برای پروژه های کوچکتر
روی اسکریپت های شی گرا برای پروژه های متوسط
تا MVC-Frameworks برای پروژه های در مقیاس بزرگ
این به شما امکان می دهد به صورت حرفه ای توسعه پیدا کنید و بدانید چه زمانی باید از کدام سبک استفاده کنید.
برخی از چیزهایی که یاد خواهید گرفت:
اصول PHP
نحوه اجرای آپلود فایل
نحوه عملکرد یک وب سرور
نحوه دسترسی به پایگاه داده و نوشتن کتاب مهمان
نحوه جاسازی PHP در HTML
توابع، آرایه ها، رشته ها، اگر شرایط،...
یک پایگاه داده (MySQL/phpmyadmin) را کنترل کنید
نحوه ایجاد وب سایت های ساده با اسکریپت های PHP
نحوه ایجاد یک گالری تصویر با قابلیت آپلود
نحوه نوشتن یک CMS با الگوهای MVC شی گرا
جلسات کوکی ها: یک سیستم ورود به سیستم (و یک اطلاعیه کوکی) ایجاد کنید
نسخه آلمانی این دوره در حال حاضر محبوب ترین دوره PHP در بازار آلمان در Udemy است. با این نسخه انگلیسی پیشرفته، این دانش را به بازار بین المللی باز می کنم.
هم اکنون ثبت نام کنید و قدم خود را در دنیای هیجان انگیز توسعه وب بیاورید!
سرفصل ها و درس ها
معرفی
Introduction
معرفی
Introduction
نصب XAMPP (ویندوز)
Install XAMPP (Windows)
کد ویژوال استودیو (ویندوز) را نصب کنید
Install Visual Studio Code (Windows)
نصب XAMPP (macOS)
Install XAMPP (macOS)
راه حل مهم: XAMPP (macOS)
Important fix: XAMPP (macOS)
کد ویژوال استودیو (macOS) را نصب کنید
Install Visual Studio Code (macOS)
دانلود مطالب دوره
Download of the course materials
گام های اول با PHP - یک وب سایت رستوران پویا بسازید
First Steps with PHP - Build a dynamic Restaurant Website
بررسی اجمالی
Overview
اولین فایل PHP و دستور 'echo': نمایش متن در یک وب سایت
A first PHP file and the `echo` command: Display text on a website
اصول اولیه تولید متن با PHP: رنگ های پس زمینه پویا ایجاد کنید
The Basics of Text Generation with PHP: Create dynamic background colors
دستور 'include': چندین فایل PHP را ترکیب کنید
The `include` command: Combine multiple PHP files
متغیرها در PHP: ذخیره و دسترسی به داده ها به صورت پویا
Variables in PHP: Store and access data dynamically
دانش خود را از مبانی PHP تست کنید!
Test your knowledge of PHP Basics!
پروژه: وب سایت رستوران چند صفحه ای (مقدمه)
Project: Multi-Page Restaurant Website (Introduction)
پروژه: وب سایت رستوران چند صفحه ای (Refactoring)
Project: Multi-Page Restaurant Website (Refactoring)
پروژه: وب سایت رستوران چند صفحه ای (نمایش داده ها و تمرین)
Project: Multi-Page Restaurant Website (Displaying Data & Exercise)
پروژه: وب سایت رستوران چند صفحه ای (نمونه راه حل؛ افزودن صفحه دیگر)
Project: Multi-Page Restaurant Website (Sample Solution; Adding another Page)
چگونه با پیام های خطا و هشدار در PHP برخورد کنیم؟
How to deal with Error & Warning Messages in PHP?
انواع داده ها و ملزومات منطقی - پاسخ های شرطی را با if/else ایجاد کنید
Data Types & Logic Essentials - Craft Conditional Responses with if/else
بررسی اجمالی
Overview
رشته ها در نقل قول های منفرد و ترکیب رشته ها با عملگر نقطه (`.`).
Strings within Single Quotes & Combine Strings with the Dot (`.`) Operator
رشتهها در دو نقل قول: استفاده از جایگزینی متغیر و کاراکترهای خاص
Strings within Double Quotes: Utilize Variable Substitution & Special Characters
دانش خود را در مورد رشته ها آزمایش کنید!
Test your knowledge of Strings!
شماره
Numbers
مقدمه: تمرین های کدنویسی در این دوره
Introduction: Coding Exercises in this course
اصلاح وب سایت رستوران (نمونه راه حل؛ عناوین و تصاویر پویا)
Restaurant Website Refinement (Sample Solution; dynamic titles and images)
اصلاح وب سایت رستوران (نمونه راه حل؛ اصلاح منوی فعال)
Restaurant Website Refinement (Sample Solution; fixing the active menu)
آرایه ها و حلقه foreach - ذخیره، دستکاری و استفاده کارآمد از مجموعه داده ها
Arrays & the foreach Loop - Store, Manipulate and Use Data Sets Efficiently
انگیزه
Motivation
یک آرایه بسازید و به عناصر آن دسترسی پیدا کنید
Create an Array and Access its Elements
وجود کلیدها و مقادیر خاص در آرایه ها را آزمایش کنید
Test the Existence of specific Keys and Values in Arrays
دانش خود را از مبانی آرایه آزمایش کنید!
Test your knowledge of Array Basics!
تغییر، حذف و اضافه کردن عناصر به یک آرایه
Change, Delete and Append Elements to an Array
مثال هدیه: برندگان را از فهرست به صورت تصادفی انتخاب کنید
Giveaway Example: Select Winners from a List Randomly
توابع آرایه: عناصر تکراری را بیابید و آرایه ها را مرتب کنید
Array Functions: Find Duplicate Elements and Sort Arrays
دانش خود را در مورد دستکاری آرایه آزمایش کنید!
Test your Knowledge of Array Manipulation!
حلقه «foreach»: تکرار روی عناصر در یک آرایه
The `foreach` Loop: Iterate over Elements in an Array
حلقهها را با «شکستن» و «ادامه» کنترل کنید
Control Loops with `break` and `continue`
هماهنگی حضور در کارگاه (قسمت اول)
Workshop Attendance Coordination (Part 1)
توابع آرایه اضافی
Additional Array Functions
هماهنگی حضور در کارگاه (قسمت دوم)
Workshop Attendance Coordination (Part 2)
آرایه های انجمنی - جفت های کلید-مقدار را برای مدیریت پیشرفته داده ها مدیریت کنید
Associative Arrays - Manage Key-Value-Pairs for Advanced Data Handling
بررسی اجمالی
Overview
انگیزه و تعریف یک آرایه انجمنی
Motivation & Define an Associative Array
دستکاری و خروجی کلیدها و مقادیر آرایه های انجمنی
Manipulate and Output Keys and Values form Associative Arrays
دانش خود را از آرایه های انجمنی آزمایش کنید!
Test your Knowledge of Associative Arrays!
بهترین روش ها برای مدیریت آرایه های انجمنی
Best Practices for Managing Associative Arrays
تجزیه و تحلیل حقوق و دستمزد کارکنان (قسمت 1)
Employee Salary Analysis (Part 1)
تجزیه و تحلیل حقوق و دستمزد کارکنان (قسمت 2)
Employee Salary Analysis (Part 2)
تجزیه و تحلیل حقوق و دستمزد کارکنان (قسمت 3)
Employee Salary Analysis (Part 3)
پارامترهای URL - گرفتن و استفاده از ورودی ها برای تعاملات وب ایمن و پویا
URL Parameters - Capture and Utilize Inputs for Secure, Dynamic Web Interactions
بررسی اجمالی
Overview
بیانیه کوتاه «اگر».
The short `if` Statement
آرایه `$_GET`: ورودی کاربر را از URL بازیابی کنید
The `$_GET` Array: Retrieve User Input from the URL
ایجاد URL پویا: پیوندها را با پارامترها و «http_build_query» ایجاد کنید
Dynamic URL Creation: Craft Links with Parameters and `http_build_query`
دانش خود را در مورد پارامترهای URL آزمایش کنید
Test your Knowledge about URL Parameters
فرم را از طریق GET ارسال کنید
Submit a form through GET
فرم را از طریق POST ارسال کنید
Submit a form through POST
دانش خود را در مورد روش های فرم آزمایش کنید
Test your Knowledge of Form Methods
ایمن سازی وب سایت ها: جلوگیری از اسکریپت بین سایتی (XSS) با «htmlspecialchars»
Securing Websites: Prevent Cross-Site Scripting (XSS) with `htmlspecialchars`
پروژه: برنامه Secure Recipe (مقدمه و راه اندازی)
Project: Secure Recipe App (Introduction & Setup)
پروژه: برنامه دستور العمل ایمن (هدایت و تمرین ورودی امن)
Project: Secure Recipe App (Secure Input Handling & Exercise)
پروژه: برنامه دستور غذای امن (نمونه راه حل)
Project: Secure Recipe App (Sample Solution)
پروژه - یک گالری تصاویر چند صفحه ای بسازید
PROJECT - Build a Multi-Page Image Gallery
مرور اجمالی و مروری بر پایه کد
Overview & Code Base Walkthrough
تابع "rawurlencode": اطمینان از انتقال ایمن داده در URL ها (راهنمایی)
The `rawurlencode` function: Ensure Safe Data Transmission in URLs (Hint)
ویژگیهای CSS برای کنترل تصویر: «ابجیت متناسب» و «نسبت ابعاد» (اشاره)
CSS Attributes for Image Control: `object-fit` and `aspect-ratio` (Hint)
پروژه: گالری تصاویر - قسمت 1 (نمایش تصاویر در نمای گالری)
Project: Image Gallery - Part 1 (Display the Images in a Gallery View)
پروژه: گالری تصاویر - قسمت 2 (طراحی طرح گالری)
Project: Image Gallery - Part 2 (Design the Gallery Layout)
پروژه: گالری تصاویر - قسمت 3 (محتوای صفحه تصویر را پیاده سازی کنید)
Project: Image Gallery - Part 3 (Implement the Image Page Contents)
مفاهیم پیشرفته - انواع متغیر، از جمله فایل ها و توابع رشته
Advanced Concepts - Variable Types, Including Files and String Functions
بررسی اجمالی
Overview
بررسی نوع: شناسایی انواع با توابع «is_» و مدیریت آرایههای نوع مختلط
Type Checking: Identify Types with `is_` Functions & Manage Mixed-Type Arrays
Casting نوع: عدم تطابق نوع و اشکال زدایی کد خطا را به طور موثر حل کنید
Type Casting: Solve Type Mismatches and Debug Code Errors Efficiently
اپراتور Null Coalescing: Simplify Default Value Assignies
The Null Coalescing Operator: Simplify Default Value Assignments
پروژه - یک مرورگر داده کیفیت هوا بسازید
PROJECT - Build an Air Quality Data Browser
بررسی اجمالی
Overview
پردازش دادههای کیفیت هوا: رمزگشایی JSON و فشردهسازی bzip2
Processing the Air Quality Data: Decode JSON & Handle .bzip2 Compression
تبدیل داده های JSON به محتوای وب: ایجاد پیوندهای شهر پویا
Transforming JSON Data into Web Content: Create Dynamic City Links
ساخت صفحات آمار شهر: بازیابی داده ها و رسیدگی به خطاها
Crafting City Statistics Pages: Retrieve Data & Handle Errors
تجزیه و تحلیل داده های PM2.5: محاسبه شاخص کیفیت هوا
Analyzing PM2.5 Data: Calculate Air Quality Index
مدیریت یکپارچگی داده و ادغام پارامترهای اندازه گیری اضافی (PM10)
Manage Data Integrity & Integrate Additional Measurement Parameters (PM10)
صیقل دادن خروجی: واحدهای قالب بندی و اندازه گیری عددی را اضافه کنید
Polishing the Output: Add Numeric Formatting and Measurement Units
ادغام Chart.js با PHP - قسمت 1 (ساخت نمودارهای دیداری تعاملی)
Integrating Chart.js with PHP - Part 1 (Build Interactive Visual Charts)
ادغام Chart.js با PHP - قسمت 2 (اجرای انتقال داده قوی)
Integrating Chart.js with PHP - Part 2 (Implement Robust Data Transfer)
تضمین یکپارچگی داده ها: مقابله با داده های از دست رفته
Ensuring Data Integrity: Deal with Missing Data
حلقههای for and the while - دستیابی به کنترل دقیقتری بر تکرارها
for and the while Loops - Achieve Finer Control Over Iterations
بررسی اجمالی
Overview
حلقه «for»: تکرار اقدامات و مدیریت تکرارها
The `for` loop: Repeat Actions and Manage Iterations
پیش بینی مصرف انرژی (قسمت اول)
Energy Consumption Forecast (Part 1)
حلقه «while»: کد را با تکرارهای مشروط اجرا کنید و از حلقه های بی نهایت اجتناب کنید
The `while` loop: Execute Code with Conditional Repeats and Avoid Infinite Loops
پیش بینی مصرف انرژی (قسمت دوم)
Energy Consumption Forecast (Part 2)
پروژه - ساخت ویترین مسافرتی به روز رسانی خودکار (و کاوش سیستم های فایل)
PROJECT - Build an Auto-Update Travel Showcase (and Explore File Systems)
بررسی اجمالی
Overview
برای مدیریت دایرکتوری از «opendir»، «readdir» و «closedir» استفاده کنید
Utilize `opendir`, `readdir`, and `closedir` for Directory Management
استفاده از «readdir» در مدت زمان
Using `readdir` in a while Loop: Read File Directories Efficiently
تابع 'pathinfo': استخراج اجزای مسیر فایل برای فیلتر کردن انواع فایل
The `pathinfo` function: Extract File Path Components for Filtering File Types
ادغام تصاویر با متون توصیفی (دستورالعمل تمرین)
Integrate Images with Descriptive Texts (Exercise Instructions)
خواندن داده های متنی برای توضیحات تصویر (نمونه راه حل - قسمت 1)
Read Text Data for Image Descriptions (Sample Solution - Part 1)
سازماندهی و پردازش موثر داده های متنی (نمونه راه حل - قسمت 2)
Organize and Process Text Data Effectively (Sample Solution - Part 2)
ارائه داده های متنی در وب سایت (نمونه راه حل - قسمت 3)
Render Text Data on the Website (Sample Solution - Part 3)
معرفی پایگاه های داده MariaDB/MySQL در phpMyAdmin - استانداردسازی مدیریت داده ها
Intro to MariaDB/MySQL Databases in phpMyAdmin - Standardize Data Management
بررسی اجمالی
Overview
مبانی: از صفحات گسترده اکسل تا جداول پایگاه داده
Foundations: From Excel Spreadsheets to Database Tables
مراحل اول با phpMyAdmin: ایجاد پایگاه داده جدید و ذخیره داده ها
First steps with phpMyAdmin: Create new Databases and store Data
کلیدهای اصلی: از یکپارچگی داده ها با ستون های شناسه منحصر به فرد اطمینان حاصل کنید
Primary Keys: Ensure Data Integrity with unique ID Columns
Auto_Increment: شناسه های منحصر به فرد را به راحتی ایجاد کنید
Auto_Increment: Generate unique IDs with ease
صادرات و وارد کردن فایل ها در phpMyAdmin
Export & Import Files in phpMyAdmin
دانش خود را از پایگاه های داده تست کنید
Test your Knowledge of Databases
تعامل با پایگاه داده - از PHP به MySQL/MariaDB متصل شوید
Database Interactivity - Connect to MySQL/MariaDB from PHP
بررسی اجمالی
Overview
راه اندازی پایگاه داده و جدول برای برنامه Notes
Setting up the Database and Table for the Notes App
شی گرایی در PHP: مدیریت فایل های فشرده با روش ها (دوره Crash)
Object Orientation in PHP: Manage Zip Files with Methods (Crash course)
اتصالات پایگاه داده با PDO: راهاندازی و بهترین روشها
Database Connections with PDO: Initialization & Best Practices
عیب یابی: اتصالات پایگاه داده با PDO
Troubleshooting: Database Connections with PDO
بازیابی داده با PDO: داده ها را از یک پایگاه داده واکشی کنید
Data Retrieval with PDO: Fetch Data from a Database
دانش خود را در مورد اتصال پایگاه داده با PDO آزمایش کنید
Test your Knowledge of Database Connectivity with PDO
ارائه داده های واکشی شده به صورت HTML: خوانایی و امنیت را افزایش دهید
Rendering Fetched Data as HTML: Enhance Readability and Security
مبانی پرس و جوی SQL: از عبارت ORDER BY و SELECT ستون های خاص استفاده کنید
SQL Query Basics: Utilize the ORDER BY Clause and SELECT Specific Columns
داده ها را با بند WHERE فیلتر کنید و ورودی های فردی را با PDO واکشی کنید
Filter Data with the WHERE Clause and Fetch Individual Entries with PDO
مدیریت امن پارامترها در PDO: از تزریق SQL با روشهای Bind جلوگیری کنید
Secure Parameter Handling in PDO: Prevent SQL Injection with Bind Methods
با INSERT INTO، Placeholders و روش "bindValue" داده ها را ایمن درج کنید
Insert Data Securely with INSERT INTO, Placeholders, and the `bindValue` Method
دستکاری پایگاه داده: با استفاده از UPDATE و DELETE FROM به صورت ایمن
Database Manipulation: Using UPDATE and DELETE FROM Securely
دانش خود را از پرس و جوهای SQL امن در PDO آزمایش کنید
Test Your Knowledge of Secure SQL Queries in PDO
جلوگیری از نشت اطلاعات اتصال پایگاه داده در نسخه های قدیمی تر (<=8.1) PHP
Prevent Leakage of Database Connection Information in older (<=8.1) PHP Versions
انتخاب مجموعه Charset: از سازگاری با رمزگذاری utf8mb4 اطمینان حاصل کنید
Choosing the Charset: Ensure Compatibility with with utf8mb4 encoding
پروژه: طراحی برای یک برنامه خاطرات بسازید
PROJECT: Build the Design for a Diary App
بررسی اجمالی
Overview
فایل های طراحی
Design Files
شروع با طراحی
Starting with the Design
اضافه کردن لوگو
Adding the Logo
دکمه "ورود جدید" را ایجاد کنید
Create the "New Entry" Button
دکمه را قرار دهید
Position the Button
منطقه اصلی را پیاده سازی کنید
Implement the Main Area
یک کانتینر ایجاد کنید
Create a Container
طراحی چیدمان کارت (قسمت 1)
Design the Layout of the Card (Part 1)
طراحی چیدمان کارت (قسمت 2)
Design the Layout of the Card (Part 2)
طراحی چیدمان کارت (قسمت 3)
Design the Layout of the Card (Part 3)
طراحی تعاملی
Responsive Design
صفحه بندی را پیاده سازی کنید
Implement the Pagination
صفحه بندی را تمام کنید
Finish the Pagination
اضافه کردن پس زمینه (قسمت 1)
Add the Background (Part 1)
اضافه کردن پس زمینه (قسمت 2)
Add the Background (Part 2)
پاورقی را اضافه کنید
Add the Footer
ایجاد فرم (قسمت 1)
Develop the Form (Part 1)
توسعه فرم (قسمت 2)
Develop the Form (Part 2)
پایان کار
Finishing Touches
پروژه: یک اپلیکیشن خاطرات بسازید
PROJECT: Build a Diary App
بررسی اجمالی
Overview
پایگاه داده را ایجاد کنید
Create the DataBase
داده ها را از پایگاه داده واکشی کنید
Fetch Data from the DataBase
صفحه فرم
The form Page
داده ها را در پایگاه داده ارسال کنید
Submit Data into the DataBase
صفحه بندی را اضافه کنید
Add Pagination
ایجاد لینک
Generate Links
تاریخ ها (قسمت 1)
Dates (Part 1)
تاریخ ها (قسمت 2)
Dates (Part 2)
تاریخ ها را قالب بندی کنید
Format the Dates
آپلود فایل ها (قسمت 1)
Upload Files (Part 1)
آپلود فایل ها (قسمت 2)
Upload Files (Part 2)
چگونه یک تصویر را مقیاس بندی کنیم؟
How to Scale an Image?
اندازه یک تصویر را تغییر دهید و آپلود کنید
Resize an Image and Upload
آپلود تصویر را اجرا کنید
Implement Image Upload
آپلودهای نامعتبر را بگیرید
Catch Invalid Uploads
هدرها در PHP - کنترل ارتباطات سرور
Headers in PHP - Control Server Communication
بررسی اجمالی
Overview
آرایه `$_SERVER`: اطلاعاتی در مورد سروری که اسکریپت PHP شما را اجرا می کند به دست آورید
The `$_SERVER` Array: Gain Insights about the Server running your PHP Script
هدرهای HTTP: ارتباط مرورگر با سرور را بررسی کنید
HTTP Headers: Examine Browser to Server Communication
هدرهای HTTP: ارتباط سرور به مرورگر را بررسی کنید
HTTP Headers: Examine Server to Browser Communication
Content-Type Header مثال: CSS به صورت پویا با PHP ارائه شود
Content-Type Header Example: Dynamically Serve CSS with PHP
بافر خروجی: از مشکلات هدر اجتناب کنید و از انتقال یکپارچه فایل اطمینان حاصل کنید
Output Buffering: Avoid Header Issues and Ensure Seamless File Transmissions
سربرگ Content-Disposition و Content-Length: دانلود فایل ها را پیاده سازی کنید
Content-Disposition and Content-Length Header: Implement File Downloads
سربرگ موقعیت مکانی: کاربران را به فایلها هدایت کنید
Location Header: Redirect Users to Files
مثال: یک صفحه ثبت نام در خبرنامه با استفاده از سرصفحه های موقعیت مکانی بسازید
Example: Build a Newsletter Sign-Up Page using Location Headers
دانش خود را از هدرها در PHP تست کنید
Test your Knowledge of Headers in PHP
رمزگشایی کدهای وضعیت HTTP: موفقیت و خطاها
Decipher HTTP Status Codes: Success and Errors
پروژه: ایجاد یک صفحه خطای سفارشی 404 (قسمت 1)
Project: Craft a Custom 404 Error Page (Part 1)
پروژه: ایجاد یک سند خطای سفارشی (قسمت 2)
Project: Create a Custom ErrorDocument (Part 2)
توابع - سفارشی کردن عملیات برای کد قابل استفاده مجدد
Functions - Customize Operations For Reusable Code
بررسی اجمالی
Overview
توابع سفارشی را اعلام و احضار کنید
Declare and Invocate Custom Functions
زمینه های تابع و ارسال پارامتر: انتقال داده ها به توابع
Function Contexts and Parameter Passing: Transfer Data into Functions
پارامترهای چندگانه و مقادیر پیش فرض: پیکربندی توابع
Multiple Parameters & Default Values: Configure Functions
دانش خود را در مورد توابع آزمایش کنید
Test your knowledge about Functions
عبارت «بازگشت»: خروجی تابع استخراج
The `return` Statement: Extract Function Output
چند عبارت «بازگشت»: خروجی تابع کنترل
Multiple `return` Statements: Control Function Output
نوع «تهی»: مقادیر گمشده را نشان میدهد
The `null` Type: Represent Missing Values
تعریف مجدد تابع: بهترین روش ها
Function Redefinition: Best Practices
مثال: مدیریت اندازه فایل ها با استراتژی تفرقه بینداز و غلبه کن
Example: Handling File Sizes with a Divide & Conquer Strategy
زمانبندی رویداد برای کنفرانسهای آنلاین (قسمت 1)
Event Scheduler for Online Conferences (Part 1)
برنامه ریزی رویداد برای کنفرانس های آنلاین (قسمت 2)
Event Scheduler for Online Conferences (Part 2)
توابع تایپ شده - کد قابل اعتمادتر و دقیق تر بنویسید
Typed Functions - Write More Reliable and Precise Code
بررسی اجمالی
Overview
توابع تایپ شده: کد خود را ایمن و مستند کنید
Typed Functions: Secure & Document your Code
Union Types: انواع پارامترهای چندگانه را فعال کنید
Union Types: Enable Multiple Parameter Types
انواع بازگشت: خروجی های عملکرد قابل اعتماد را اعمال کنید
Return Types: Enforce Reliable Function Outputs
انواع Nullable: مقادیر از دست رفته را به عنوان پارامتر مجاز کنید
Nullable Types: Allow for Missing Values as Parameters
انواع سختگیرانه: کنترل دقیق نوع را اعمال کنید
Strict Types: Enforce Accurate Type Handling
دانش خود را در مورد توابع تایپ شده آزمایش کنید
Test your knowledge about Typed Functions
پروژه: یک اپلیکیشن Name Explorer بسازید
PROJECT: Build a Name Explorer App
بررسی اجمالی
Overview
داده ها را وارد کنید
Import the Data
به پایگاه داده متصل شوید
Connect to DataBase
پیمایش در هدر
Navigation in the Header
نام ها را لیست کنید
List the names
پرس و جو DB در تابع
DB Query in function
تابع را به یک فایل جداگانه منتقل کنید
Move Function to a separate File
راه حل: نمای نام را توسعه دهید
Solution: Develop the Name View
جلا دادن
Polishing
پرس و جو DB برای نمای کلی
DB query for overview
یک صفحه نمای کلی ایجاد کنید
Generate an Overview Page
بافر خروجی
Output Buffering
یک تابع «render()» ایجاد کنید
Create a `render()` function
انتقال داده به تابع «render()».
Passing Data into the `render()` function
از تابع "render()" استفاده کنید
Use the `render()` function
نامه را برجسته کنید
Highlight the Letter
افزودن صفحه بندی (قسمت 1)
Add Pagination (Part 1)
افزودن صفحه بندی (قسمت 2)
Add Pagination (Part 2)
مهم: بهبود عملکرد DB با شاخص ها
Important: Improve DB performance with indexes
عبارات منظم (Regex): پردازش متن مبتنی بر الگوی مهار
Regular Expressions (Regex): Harness Pattern-Based Text Processing
بررسی اجمالی
Overview
مقدمه Regex: جستجوی الگوها در رشته ها
Intro to Regex: Search Patterns in Strings
کمیت کننده ها: کنترل تکرارها برای تطبیق الگوهای قدرتمند
Quantifiers: Control Repetitions for Powerful Pattern Matching
لنگرهای `^` & `$`: مرزهای رشته را تعریف کنید
The `^` & `$` Anchors: Define String Boundaries
دانش خود را در مورد عبارات منظم آزمایش کنید
Test your knowledge of Regular Expressions
عبارات براکت (تئوری): مجموعهها و محدودههای کاراکتر سفارشی را ایجاد کنید
Bracket Expressions (Theory): Craft Custom Character Sets and Ranges
عبارات براکت در عمل
Bracket Expressions in Practice
گروه های ضبط: عناصر داده های ساختاریافته را استخراج کنید
Capture Groups: Extract Structured Data Elements
تبدیلهای متن: ویرایشهای مبتنی بر الگو با «preg_replace».
Text Transformations: Pattern-Based Edits with `preg_replace`
سئو و بهینه سازی دسترسی
SEO & Accessibility Optimization
مبانی برنامه نویسی شی گرا (OOP): ساختار کد خود را تقویت کنید
Foundations of Object-Orientated Programming (OOP): Enhance your Code Structure
بررسی اجمالی
Overview
محدودیتهای رویکردهای رویهای: تنظیم مرحله برای OOP
Limitations of Procedural Approaches: Setting the Stage for OOP
کلاس ها در OOP: ایجاد اشیاء سفارشی
Classes in OOP: Create Custom Objects
ویژگی های یک کلاس: تایپ، مقداردهی اولیه و مدیریت
Properties in a Class: Typing, Initialization, and Management
روش های کلاس: رفتار درون اشیاء را تعریف کنید
Class Methods: Define Behavior within Objects
دانش خود را در مورد کلاس ها آزمایش کنید
Test your knowledge about Classes
سازنده ها: از راه اندازی مناسب ویژگی های شی اطمینان حاصل کنید
Constructors: Ensure Proper Initialization of Object Properties
ساده سازی سازندگان: راه اندازی کارآمد و یکپارچه سازی منطق تجاری
Simplifying Constructors: Efficient Initialization & Business Logic Integration
مثال: یک روش انتقال برای معاملات بین حساب های بانکی را اجرا کنید
Example: Implement a Transfer Method for Transactions Between Bank Accounts
ایمن کردن خصوصیات کلاس: از دسترسی عمومی به خصوصی
Securing Class Properties: From Public to Private Access
دیجیتالی شدن اتاق هتل (قسمت اول)
Hotel Room Digitalization (Part 1)
دیجیتالی شدن اتاق هتل (قسمت 2)
Hotel Room Digitalization (Part 2)
دیجیتالی شدن اتاق هتل (قسمت 3)
Hotel Room Digitalization (Part 3)
پروژه: یک شهر کاوشگر بسازید
PROJECT: Build a City Explorer
بررسی اجمالی
Overview
کلاس مدل را ایجاد کنید
Create the Model Class
یک مخزن اضافه کنید
Add a Repository
واکشی ستون های اضافی
Fetch Additional Columns
یک شهر فردی را نشان دهید
Show an individual City
کد را بهینه کنید
Optimize the Code
نماد کشور به پرچم (پاداش)
Country to Flag Symbol (Bonus)
پرچم را به پروژه اضافه کنید
Add Flag to the Project
پیاده سازی صفحه بندی (تمرین)
Implement Pagination (Exercise)
پیاده سازی صفحه بندی (راه حل)
Implement Pagination (Solution)
یک فرم را پیاده سازی کنید
Implement a Form
به روز رسانی ورودی ها
Update Entries
افزودن محافظت از رمز عبور (پاداش)
Add Password Protection (Bonus)
OOP (بخش 2): سازماندهی کد با فضاهای نام، بارگذاری خودکار، رابط ها
OOP (Part 2): Organize Code with Namespaces, Autoloading, Interfaces
بررسی اجمالی
Overview
فضاهای نام در PHP: کد را سازماندهی کنید و از برخورد نامگذاری خودداری کنید
Namespaces in PHP: Organize Code and Avoid Naming Collisions
دستور 'use': کد PHP را با فضاهای نام ساده کنید
The `use` command: Simplify PHP Code with Namespaces
نامهای کلاس و فضاهای نام: دسترسی، وضوح، و تأیید نمونه
Class Names and Namespaces: Access, Resolution, and Instance Verification
بارگذاری خودکار: بارگذاری کلاس ها و مدیریت موثر فضاهای نام
Autoloading: Load Classes and Manage Namespaces Efficiently
فضای نام پیشرفته: بارگذاری خودکار PSR-4 را بپذیرید
Advanced Namespacing : Adopt PSR-4 Autoloading
دانش خود را در مورد فضاهای نام آزمایش کنید
Test your knowledge of Namespaces
رابط ها: تعریف و پیاده سازی برای ایمنی نوع پیشرفته و قابلیت استفاده مجدد
Interfaces: Define and Implement for Enhanced Type Safety and Reusability
انتشارات رسانه های اجتماعی
Social Media Publishing
پروژه: ساخت اپلیکیشن آب و هوا
PROJECT: Build a Weather App
بررسی اجمالی
Overview
App Frame را پیاده سازی کنید
Implement the App Frame
پس زمینه را نشان دهید
Show the Background
نوار بالا را پیاده سازی کنید
Implement the Top Bar
آب و هوا را تجسم کنید
Visualize the Weather
نمایش اطلاعات آب و هوا
Show the Weather Info
پرداخت نهایی
Final Polishing
OOP (بخش 3): استفاده مجدد از کد برای مقیاس پذیری با وراثت
OOP (Part 3): Reuse Code For Scalability with Inheritance
بررسی اجمالی
Overview
مقدمه ای بر وراثت: گسترش عملکرد از کلاس والدین
Intro to Inheritance: Extend Functionality From Parent Class
سازنده کلاس کودک را برای اولیه سازی موثر شی راه اندازی کنید
Set Up the Child Class Constructor for Effective Object Initialization
وراثت و دسترسی به اموال: خصوصیات را در بین طبقات پیمایش کنید
Inheritance & Property Accessibility: Navigate Properties Across Classes
قابلیت مشاهده اموال: ویژگی های خصوصی و محافظت شده برای مدیریت امن داده ها
Property Visibility: Private and Protected Properties for Secure Data Handling
کلیدواژههای «والد» و «خود»: روشهای کلاس مرجع دقیق
The `parent` & `self` keywords: Precisely Reference Class Methods
کلاس های چکیده: اجرای روش برای کد قابل اعتماد
Abstract Classes: Enforce Method Implementation for Reliable Code
دکمه های سبک به عنوان پیوند (پاداش)
Style Buttons as Links (Bonus)
اجرای ویژگی ویرایش (تمرین)
Implement the Edit Feature (Exercise)
پیاده سازی ویژگی ویرایش (راه حل قسمت 1)
Implement the Edit Feature (Solution Part 1)
پیاده سازی ویژگی ویرایش (راه حل قسمت 2)
Implement the Edit Feature (Solution Part 2)
کوکی ها و جلسات: مدیریت و محافظت از داده های کاربر
Cookies & Sessions: Manage and Safeguard User Data
بررسی اجمالی و آرگومان های نامگذاری شده
Overview & Named Arguments
تابع `setcookie()`: ایجاد کوکی در PHP
The `setcookie()` Function: Create Cookies in PHP
پارامترهای اضافی برای `setcookie()`: مدیریت کوکی ها در PHP
Additional Parameters for `setcookie()`: Manage Cookies in PHP
Sessions در PHP: داده ها را با متغیر `$_SESSION` ایمن کنید
Sessions in PHP: Secure Data with the `$_SESSION` Variable
پیاده سازی یک پیام کوکی (پاداش)
Implement a Cookies Message (Bonus)
دانش خود را در مورد کوکی ها و جلسات آزمایش کنید
Test your knowledge of Cookies & Sessions
پروژه: ساخت یک سیستم مدیریت محتوا (قسمت 4) - سیستم احراز هویت
PROJECT: Build a Content Management System (Part 4) - Authentication System
بررسی اجمالی
Overview
نحوه ذخیره ایمن رمز عبور
How to Safely Store a Password
جدول کاربران را تنظیم کنید
Set up the Users Table
فرم ورود را ایجاد کنید
Create the Login Form
ورود را با LoginController تأیید کنید
Validate the Login with the LoginController
Login را در Session ذخیره کنید
Store the Login within the Session
اطمینان حاصل کنید که با authService وارد شوید
Ensure Login with the authService
جلوگیری از شروع جلسات متعدد
Prevent Starting Sessions Multiple Times
ویژگی خروج را پیاده سازی کنید
Implement the Logout Feature
مقدمه ای بر جعل درخواست بین سایتی (CSRF)
Intro to Cross-Site Request Forgery (CSRF)
محافظت در برابر CSRF با توکن ها (قسمت 1)
Protect against CSRF with Tokens (Part 1)
محافظت در برابر CSRF با توکن ها (قسمت 2)
Protect against CSRF with Tokens (Part 2)
محافظت در برابر CSRF با توکن ها (قسمت 3)
Protect against CSRF with Tokens (Part 3)
نتیجه گیری پروژه CMS
Conclusion of the CMS Project
OOP (قسمت 4): برای کدهای قوی تر و قابل نگهداری بیشتر به موضوعات پیشرفته بروید
OOP (Part 4): Dive into Advanced Topics for More Robust and Maintainable Code
بررسی اجمالی
Overview
متدها و متغیرهای ایستا: فراخوانی رفتار کلاس و به اشتراک گذاری داده ها بدون نمونه
Static Methods & Variables: Invoke Class Behavior & Share Data Without Instances
ثابت ها: گزینه های جهانی و مقادیر پیوست شده به کلاس را با «define» و «const» تعریف کنید
Constants: Define Global Options & Class-Attached Values with `define` & `const'
الگوی Singleton: از یک نمونه واحد در سراسر برنامه خود اطمینان حاصل کنید
The Singleton Pattern: Ensure a Single Instance Throughout Your App
روش های جادویی: افزایش تعامل با شی و مدیریت دارایی
Magic Methods: Enhance Object Interaction and Property Management
ArrayAccess و Countable: شبیه سازی آرایه ها با رابط ها
ArrayAccess & Countable: Emulate Arrays with Interfaces
دانش خود را از موضوعات OOP پیشرفته آزمایش کنید
Test your knowledge of Advanced OOP Topics
رسیدگی به استثنا: عملکردهای حفاظتی با مکانیسم های Try-Catch
Exception Handling: Safeguard Functions with Try-Catch Mechanisms
نمای کلی: نشانیهای وب پاکتر با «mod_rewrite» در آپاچی
Overview: Cleaner URLs with `mod_rewrite` in Apache
پیکربندی «mod_rewrite»: تصاویر مستقیم با شرایط و استثنائات
Configuration of `mod_rewrite`: Direct Images with Conditions and Exceptions
مدیریت URL با PHP و Apache: درخواستهای تغییر مسیر
URL Handling with PHP and Apache: Redirect Requests
کاوش در اسناد «mod_rewrite».
Exploring the `mod_rewrite` Documentation
رمزگذاری رشته ها - رشته های چند زبانه و مجموعه های پایگاه داده را درک کنید
String Encodings - Understand Multilingual Strings & Database Collations
بررسی اجمالی
Overview
کاراکترهای چند بایتی: طول رشته ها را به طور دقیق با «mb_strlen» اندازه گیری کنید
Multibyte Characters: Measure String Lengths Accurately with `mb_strlen`
توابع رشته چند بایتی پیشرفته: `mb_substr`، `mb_strpos`، `mb_ord`،...
Advanced Multibyte String Functions: `mb_substr`, `mb_strpos`, `mb_ord`,...
پیچیدگی های یونیکد: از برنامه های وب خود در برابر شخصیت های پنهان محافظت کنید
Unicode Complexities: Safeguard Your Web Apps from Hidden Characters
پاداش: معرفی بسته سیمفونی/رشته
Bonus: Intro to the symfony/string package
رشته های غیر UTF-8 را با «mb_convert_encoding» تبدیل کنید
Convert non-UTF-8 strings with `mb_convert_encoding`
رمزگذاری پایگاه داده: نقش حیاتی utf8mb4 در MySQL
Database Encodings: The Critical Role of utf8mb4 in MySQL
مجموعهها در MySQL: تأثیر بر مرتبسازی و جستجو را کشف کنید
Collations in MySQL: Uncover the Impact on Sorting and Searching
Refresher: Jumpstart یا Revisite HTML & CSS Basics (اختیاری)
Refresher: Jumpstart or Revisit HTML & CSS Basics (optional)
مقدمه ای بر HTML: سرفصل ها، پاراگراف ها و تگ های لنگر
Intro to HTML: Headings, Paragraphs & Anchor Tags
عناصر درون خطی در مقابل عناصر بلوک: محتوای خود را شکل دهید
Inline Elements vs Block Elements: Shape your Content
معرفی CSS: تغییر سبک یک عنصر HTML
Intro to CSS: Change the Style of an HTML Element
از سبک های درون خطی تا فایل های CSS: افزایش انعطاف پذیری و کنترل
From Inline Styles to CSS Files: Enhance Flexibility and Control
انتخابگرهای CSS: عناصر را بر اساس «id» و «کلاس» انتخاب کنید
CSS Selectors: Select Elements by `id` and `class`
انتخابگرهای پیچیده تر: عناصر هدف را دقیقاً تعیین کنید
More Complex Selectors: Target Elements Precisely
مدل بلوک: ایجاد طرحبندی با CSS
The Block Model: Create Layouts with CSS
تعبیه تصاویر و سبک عناصر درون خطی
Embed Images and Style Inline-Block Elements
صفحات HTML را با divs، span ها و برچسب های معنایی مانند هدر ساختار دهید
Structure HTML Pages with divs, spans, and Semantic Tags like header
Outlook: چگونه افق پی اچ پی خود را گسترش دهیم
Outlook: How To Expand Your PHP Horizon
توسعه پیشرفته با Packagist، Composer و Frameworks (Symfony، Laravel)
Advanced Development with Packagist, Composer, and Frameworks (Symfony, Laravel)
کاوش راه حل های آماده: phpBB، فروشگاه و وردپرس
Exploring Ready-Made Solutions: phpBB, Shopware, and Wordpress
PhpStorm: محیط توسعه PHP خود را بهینه کنید
PhpStorm: Optimize Your PHP Development Environment
نمایش نظرات