آموزش صفر تا صد PHP
برنامه خروجی php دارای دیتابیس my sql https://www.apachefriends.org/download.html دانلود xampp برای
اگر نتونستی دانلود کنی از سایت سافت 98 کمک بگیر
https://soft98.ir/internet/webmaster-tools/13861-xampp-download.html
برای شروع برنامهنویسی حرفهای PHP در VS Code، به چند افزونه کلیدی نیاز دارید. مهمترین آنها PHP Intelephense است که هوشمندی و امکانات پیشرفته را به محیط شما اضافه میکند.
در ادامه با بهترین افزونههای حال حاضر آشنا میشوید:
🧠 افزونه اصلی و ضروری: PHP Intelephense
این افزونه را باید قلب تپنده توسعه PHP در VS Code دانست. تقریباً تمام امکانات حرفهای را که از یک IDE انتظار دارید، فراهم میکند.
* قابلیتها: تکمیل هوشمند کد (IntelliSense)، رفتن به تعریف توابع (
Go to Definition)، یافتن تمام ارجاعات (
Find All References)، بازسازی کد (
Rename Symbol)، نمایش خطاها و اخطارها هنگام تایپ، و پشتیبانی عالی از فریمورکهایی مثل لاراول. * نکته مهم: برای جلوگیری از تداخل و دریافت پیشنهادات تکراری، باید پیشنهاددهنده پیشفرض VS Code را غیرفعال کنید. کافی است در فایل تنظیمات (settings.json) خط زیر را اضافه کنید:
"php.suggest.basic": false🐛 اشکالزدایی (Debugging): PHP Debug اگر تا حالا با
var_dumpو
echoبرای پیدا کردن باگ کلنجار رفتهاید، این افزونه را نجاتبخش خود خواهید دید. * کاربرد: این افزونه Xdebug را به VS Code متصل میکند. میتوانید نقاط توقف (
Breakpoint) بگذارید، متغیرها را گام به گام بررسی کنید و جریان اجرای کد را خط به خط دنبال کنید. ✨ افزایش بهرهوری و زیبایی کد * PHP DocBlocker: با تایپ
/**و فشردن کلید Enter بالای یک تابع، به صورت خودکار یک قالب مستندسازی (PHPDoc) با پارامترهای تابع برایتان میسازد. برای نوشتن کدهای قابل فهم و حرفهای عالی است. * TemPHPest: یک افزونه همهکاره و جدید که کلی قابلیت ریز و درشت دارد. مثل تغییر خودکار کوتیشنهای ساده به دوتایی وقتی میخواهید از یک متغیر درون متن استفاده کنید، یا ساخت خودکار فایلهای کلاس با namespace مناسب. برای بالا بردن سرعت کدنویسی روزمره فوقالعاده است. * PHP CS Fixer: اگر میخواهید کدتان همیشه تمیز، مرتب و مطابق با استانداردهای جهانی (مثل PSR-12) باشد، این افزونه را تنظیم کنید تا هنگام ذخیره فایل (
Format on Save) به طور خودکار کدتان را مرتب کند. --- 📝 جمعبندی برای شروع به عنوان یک شروع عالی و بدون مشکل، پیشنهاد من این است: 1. PHP Intelephense را نصب کنید (هسته اصلی). 2. PHP Debug را نصب کنید (برای موقعی که کدتان خطا میدهد). 3. حتماً تنظیم
"php.suggest.basic": falseرا اعمال کنید تا Intelephense درست کار کند. این سه قدم شما را از یک مبتدی به یک توسعهدهنده حرفهای تبدیل میکند که از ابزارهای درست استفاده میکند. بقیه افزونهها را بعداً و به مرور زمان میتوانید اضافه کنید.
یک نکته مهم برای آموزش:
اگر مخاطبانتان در ویرایش settings.json مشکل دسترسی داشتند، همین راهحل ساده (Run as administrator) را به آنها آموزش دهید. این یک مشکل رایج برای تازهکارهاست که با آموزش شما حل میشود.
خیلی خوب! درس دوم رو آماده کنید. اینجا یه راهنمای کامل و روان برای آموزش به مخاطبانت هست:
---
درس دوم: اجرای اولین پروژه PHP در XAMPP
هدف درس:
ساخت اولین فایل PHP و دیدن خروجی در مرورگر
---
مرحله 1: پیدا کردن پوشه htdocs
جایی که باید فایلهای پروژه رو ذخیره کنید:
مسیر نصب XAMPP → پوشه htdocsمثال: - اگر XAMPP رو در
C:\xamppنصب کردید: C:\xampp\htdocs - اگر در G:\xampp نصب کردید: G:\xampp\htdocs > نکته مهم: هر فایل PHP فقط در داخل پوشه htdocs یا زیرپوشههای آن کار میکند. --- مرحله 2: ساخت پوشه پروژه (اختیاری اما حرفهای) برای منظم بودن، داخل htdocs یه پوشه جدید بسازید با نام: - my-first-project - یا هر نام دلخواه (بدون فاصله، فقط حروف انگلیسی) G:\xampp\htdocs\my-first-project\ --- مرحله 3: ساخت اولین فایل PHP در VS Code 1. VS Code را باز کنید 2. فایل جدید بسازید (Ctrl + N) 3. کد زیر را بنویسید: <?php echo "سلام دنیا!"; echo "<br>"; echo "اولین پروژه PHP من در XAMPP"; ?> 4. فایل را ذخیره کنید (
Ctrl + S) با نام: - `index.php` - در مسیر:
G:\xampp\htdocs\my-first-project\> چرا اسم `index.php`؟ > مرورگرها وقتی وارد یک پوشه میشوند، اول به دنبال فایل `index.php` یا index.html میگردند. --- مرحله 4: روشن کردن Apache در XAMPP 1. XAMPP Control Panel را باز کنید (به عنوان Administrator) 2. کنار Apache**، روی دکمه **Start کلیک کنید 3. رنگ دکمه از قرمز به سبز تغییر میکند و کنارش نوشته میشود Running > اگر خطا گرفت، مطمئن شوید پورت 80 توسط برنامه دیگری اشغال نشده باشد. --- مرحله 5: دیدن خروجی در مرورگر 1. مرورگر خود را باز کنید (Chrome، Firefox، Edge) 2. در نوار آدرس، تایپ کنید: http://localhost/my-first-project/ یا http://127.0.0.1/my-first-project/ 3. Enter بزنید --- ✅ خروجی مورد انتظار: سلام دنیا! اولین پروژه PHP من در XAMPP --- 🧪 تمرین برای مخاطبان: کد زیر را امتحان کنید تا با توابع مختلف آشنا شوند: <?php // نمایش متن echo "خوش آمدید!"; // نمایش تاریخ امروز echo "<br> امروز: " . date("Y-m-d"); // نمایش ساعت echo "<br> ساعت: " . date("H:i:s"); // محاسبه ساده $num1 = 10; $num2 = 20; $sum = $num1 + $num2; echo "<br> جمع $num1 و $num2 برابر است با: $sum"; ?> --- ❌ مشکلات رایج و راهحل: | مشکل | راهحل | |------|--------| | صفحه خالی میآید | فراموش کردید
<?phpرا بنویسید یا Apache روشن نیست | | کد روی صفحه نشان میدهد | XAMPP اجرا نیست یا به جای
localhostفایل را مستقیماً باز کردهاید | | خطای 404 | مسیر فایل اشتباه است یا فایل در
htdocsنیست | | دسترسی denied | XAMPP را به عنوان Administrator اجرا کنید | --- 📌 نکات کلاسی برای مخاطبان: 1. هر بار که کد را تغییر دادید**، برای دیدن تغییرات کافی است مرورگر را رفرش کنید (`F5`) 2. برای بستن XAMPP، اول Apache را **Stop کنید، بعد کنترل پنل را ببندید 3. اگر از
localhostخسته شدید، میتوانید از 127.0.0.1 استفاده کنید (یکی هستند) --- 🎯 جمعبندی درس دوم: ✅ پوشه
htdocsرا پیدا کردیم ✅ اولین فایل index.php را ساختیم ✅ Apache را در XAMPP روشن کردیم ✅ خروجی را در مرورگر دیدیم تکلیف: یک فایل به نام about.php بسازید و داخل آن یک معرفی کوتاه از خودتان بنویسید. آدرس آن در مرورگر:
http://localhost/my-first-project/about.php
با توجه به دو درسی که تا الان رفتید (درس ۱: نصب XAMPP و VS Code + تنظیمات، درس ۲: اجرای اولین پروژه)، در ادامه فهرست ۵۰ درس را به صورت منطقی و مرحلهای برای شما آماده کردهام:
---
📚 فهرست ۵۰ درس آموزش PHP از صفر تا پروژه
فاز اول: مبانی پایه (درس ۳ تا ۱۲)
درس عنوان
۳ متغیرها و قوانین نامگذاری در PHP
۴ انواع داده (string, integer, float, boolean, null)
۵ ثابتها و تفاوت با متغیرها (define و const)
۶ عملگرهای ریاضی و رشتهای
۷ عملگرهای مقایسهای و منطقی
۸ عملگرهای افزایش/کاهش و عملگرهای انتساب
۹ ساختار شرطی if، else و elseif
۱۰ ساختار شرطی switch و match
۱۱ عملگر سهتایی (Ternary) و Null coalescing (??)
۱۲ حلقه for و کاربردهای آن
---
فاز دوم: ساختارهای کنترلی و آرایهها (درس ۱۳ تا ۲۲)
درس عنوان
۱۳ حلقه while و do-while
۱۴ حلقه foreach برای آرایهها
۱۵ حلقههای تو در تو و کاربردها
۱۶ دستورات break، continue و goto
۱۷ آرایههای ایندکسی (indexed arrays)
۱۸ آرایههای انجمنی (associative arrays)
۱۹ آرایههای چندبعدی
۲۰ توابع کاربردی آرایهها (count, array_merge, array_keys, ...)
۲۱ مرتبسازی آرایهها (sort, asort, ksort, rsort, ...)
۲۲ توابع پیشرفته آرایه (array_map, array_filter, array_reduce)
---
فاز سوم: توابع و مدیریت خطا (درس ۲۳ تا ۳۰)
درس عنوان
۲۳ تعریف و فراخوانی تابع
۲۴ پارامترها و مقدار بازگشتی
۲۵ پارامترهای پیشفرض و آرگومانهای نامدار
۲۶ متغیرهای سراسری (global) و استاتیک (static)
۲۷ توابع بازگشتی (Recursive functions)
۲۸ توابع ناشناس (Anonymous) و توابع پیکانی (Arrow functions)
۲۹ مدیریت خطا با try-catch-finally
۳۰ استثناهای سفارشی (Custom exceptions)
---
فاز چهارم: کار با فرم و سوپرگلوبالها (درس ۳۱ تا ۳۷)
درس عنوان
۳۱ متغیرهای سوپرگلوبال ($_SERVER, $_ENV, $GLOBALS)
۳۲ دریافت داده از فرم با $_GET و $_POST
۳۳ اعتبارسنجی فرم (validation)
۳۴ آپلود فایل با $_FILES
۳۵ مدیریت جلسات ($_SESSION)
۳۶ مدیریت کوکیها (setcookie و $_COOKIE)
۳۷ ریدایرکت و هدرها (header())
---
فاز پنجم: کار با فایل و دایرکتوری (درس ۳۸ تا ۴۲)
درس عنوان
۳۸ بازخوانی و نوشتن در فایل (fopen, fread, fwrite, fclose)
۳۹ توابع سطح بالا (file_get_contents, file_put_contents)
۴۰ کار با دایرکتوریها (mkdir, scandir, unlink, rmdir)
۴۱ آپلود و ذخیره فایل در سرور
۴۲ بررسی وجود فایل و اطلاعات فایل (file_exists, filesize, pathinfo)
---
فاز ششم: دیتابیس MySQL با mysqli (درس ۴۳ تا ۴۸)
درس عنوان
۴۳ معرفی MySQL و phpMyAdmin
۴۴ اتصال به دیتابیس با MySQLi (object-oriented)
۴۵ عملیات CREATE و INSERT
۴۶ عملیات SELECT و نمایش دادهها
۴۷ عملیات UPDATE و DELETE
۴۸ جلوگیری از SQL Injection (prepared statements)
---
فاز هفتم: پروژه عملی و جمعبندی (درس ۴۹ تا ۵۰)
درس عنوان
۴۹ پروژه ۱: ساخت دفترچه تلفن ساده (CRUD کامل)
۵۰ پروژه ۲: ساخت سیستم ثبتنام و ورود کاربر (با session)
---
📌 نکات مهم برای کانالتان:
1. سرعت انتشار: پیشنهاد میکنم هفتهای ۲ تا ۳ درس منتشر کنید (مثلاً شنبه، دوشنبه، چهارشنبه)
2. مدت هر درس: بین ۱۵ تا ۲۵ دقیقه (نه بیشتر، نه کمتر)
3. تمرین: برای هر درس ۳ تا ۵ تمرین ساده بدید
4. پروژه میانی: بین درس ۳۰ تا ۳۱ یک پروژه کوچک (مثل ماشین حساب) قرار بدید
🔄 تغییرات احتمالی:
· اگر مخاطبانتان با آرایهها مشکل داشتند، میتوانید درس ۲۰-۲۲ را به چند قسمت کنید
· اگر به دیتابیس علاقه بیشتری نشان دادند، درسهای دیتابیس را به ۸ درس افزایش دهید
موفق باشید! اگر برای هر درسی نیاز به محتوای دقیقتر یا مثال داشتی، در خدمتم.
این کدی که فرستادید، یک فایل HTML خالص است، نه PHP. مرورگر آن را به همین صورت که میبینید نمایش میدهد.
---
## خروجی در مرورگر:
سلام## سورس (Source) صفحه در مرورگر:
<html> <head> <style data-merge-styles="true"></style> </head> <body> سلام </body> </html>--- ## نکته مهم برای کانالتان: اگر این کد را در فایل با پسوند
.htmlذخیره کنید، مستقیماً اجرا میشود. اگر در فایل با پسوند
.phpذخیره کنید، خروجی همان
سلاماست (تگهای HTML هم اجرا میشوند). --- ## برای تبدیل به PHP (اگر نیاز دارید):
<?php echo "سلام"; ?>این کد PHP هم دقیقاً همان خروجی (
سلام) را در مرورگر نشان میدهد.