زبان برنامهنویسی PHP یکی از محبوبترین و قدرتمندترین زبانها برای توسعه سمت سرور و …. (اطلاعات کامل در ویکی پدیا)
به نظر شخصی من یادگیری خطی جواب نمیده و اصولا نباید دنبال نقشه راه Road map بریم
یادگیری خطی جواب نمیده ، یا حداقل برای من جواب نمیده معمولا من ادمی هستم که هیچ دوره ای رو تا به حال از اول تا اخر بر اساس سرفصل های ندیدم یکی از اون ادمایی هستم که دهها دوره مختلف تو حوزه های مختلف رو شروع میکنم و همون فصل اول حوصله ام سر میره و بی خیالش میشم
وقتی کولر خونتون کار نمیکنه نمیری کتابچه راهنما رو از صفحه اول بخونی و تا وقتی که کامل یاد نگرفتی و درکش نکردی بیای و کولر رو تعمیر کنی احتمالا راهی که باید بریم اینه بگیم «چرا این روشن نمیشه ؟»
بعد شروع میکنی بررسی کردن: شاید برق ندارد شاید فیوز سوخته شاید موتور مشکل دارد ؟
در واقع، ما با دو رویکرد کاملا متفاوت روبرو هستیم:
- یادگیری خطی: حرکت کردن از مقدمات تا رسیدن به مباحث پیشرفته.
- یادگیری غیرخطی: شروع کردن از یک هدف یا یک مسئله، و سپس برگشتن به مقدماتی که برای حل آن مسئله لازم داریم.
پس این نقشهراهی که برای یادگیری PHP گذاشتم، قرار نیست مثل یه کتاب از اول تا آخر خونده بشه. میتونی مستقیم بری سراغ ساخت یه پروژه (انگار رفتی آخرین پله نردبون)، بعد هرجا گیر کردی یا ارور خوردی، برگردی به نقشهراه و ببینی کدوم مفهوم پایه رو هنوز بلد نیستی.
بخش ۱: مباحث پایه
- معرفی PHP
- نصب و راهاندازی
- دستور زبان پایه
- متغیرها
- انواع داده
- عملگرها
- شروط
- حلقهها
- توابع پایه
- آرایهها
- کار با رشتهها
بخش ۲: مباحث میانی
- فرمها و دریافت داده
- کوکی و سشن
- مدیریت خطا
- توابع کاربری
- فضای نام (Namespaces)
- برنامهنویسی شیءگرا (OOP)
- کلاس
- ویژگی
- متد
- وراثت
- اینترفیس
- Traits
- Polymorphism
- Encapsulation
بخش ۳: کار با فایل و سرور
- خواندن و نوشتن فایل
- آپلود فایل
- Headers
- زمانبندی اسکریپت
- کار با تاریخ و زمان
- کار با JSON
- دسترسی به API
بخش ۴: مباحث پایگاه داده
- اتصال به MySQL
- CRUD
- PDO
- امنیت در دیتابیس
- Queryهای پیشرفته
بخش ۵: امنیت
- جلوگیری از SQL Injection
- XSS
- CSRF
- مدیریت ورودی
- Validation و Sanitization
- مدیریت رمز عبور و Hash
بخش ۶: مباحث پیشرفته
- Composer
- Autoloading
- MVC
- RESTful API
- الگوهای طراحی متداول
- خطایابی و Debug
- کار با CLI
- معماریهای پیشرفته
بخش ۷: کار با فریمورکهای PHP
- Laravel
- Symfony
- CodeIgniter
- Slim
- مقایسه و انتخاب فریمورک
محیط اجرا و پیشنیازهای سرور
برخلاف زبانهایی مانند HTML یا جاوا اسکریپت که مستقیماً توسط مرورگر کاربر اجرا میشوند، کدهای PHP در سمت سرور پردازش میشوند. برای اجرای کدهای PHP، شما به یک سرور وب مانند Apache یا Nginx به همراه مفسر PHP نیاز دارید. از آنجایی که نصب و پیکربندی جداگانه این موارد روی سیستم شخصی ممکن است دشوار باشد، برنامهنویسان معمولاً از بستههای نرمافزاری آمادهای مانند XAMPP (برای سیستمعاملهای مختلف) یا WAMP (مخصوص ویندوز) به عنوان محیط توسعه محلی (Localhost) استفاده میکنند.
ساختار فایلها و نحوه تعریف متغیرها
یک فایل PHP همواره با پسوند .php ذخیره میشود. برای اینکه سرور متوجه شود کدام بخش از فایل حاوی کدهای PHP است، تمامی دستورات باید داخل تگهای مخصوص <?php ... ?> قرار بگیرند. خارج از این تگها، شما میتوانید به راحتی از کدهای HTML استفاده کنید. همچنین، یکی از ویژگیهای بارز این زبان، نحوه تعریف متغیرهاست؛ در PHP نام تمامی متغیرها باید با علامت $ (دلار) شروع شود.
<?php
$greeting = "سلام دنیا!";
echo $greeting;
?>
ارتباط با دیتابیس در PHP
یکی از مهمترین وظایف PHP، مدیریت دادهها و ارتباط با پایگاههای داده (Database) است. PHP سازگاری فوقالعادهای با دیتابیسهای مختلف به ویژه MySQL دارد. توسعهدهندگان میتوانند با استفاده از افزونههایی مانند PDO (PHP Data Objects) یا mysqli، به سادگی به دیتابیس متصل شوند، اطلاعات کاربران را ذخیره کنند، بخوانند، ویرایش کنند و یا حذف نمایند. این قابلیت باعث میشود تا بتوانید سایتهایی کاملاً داینامیک طراحی کنید.
پروژههای بزرگی که با PHP ساخته شدهاند
شاید برایتان جالب باشد که بدانید بسیاری از غولهای دنیای وب بر پایه PHP بنا شدهاند. این موضوع نشاندهنده قدرت، پایداری و مقیاسپذیری این زبان است. برخی از معروفترین پروژههای مبتنی بر PHP عبارتند از:
- وردپرس (WordPress): محبوبترین سیستم مدیریت محتوا در جهان که بیش از نیمی از وبسایتهای اینترنت را قدرت میبخشد.
- فیسبوک (Facebook): این شبکه اجتماعی عظیم در ابتدا با PHP نوشته شد و همچنان بخش بزرگی از هسته آن (از طریق نسخه توسعهیافتهای به نام Hack) به این زبان وابسته است.
- ویکیپدیا (Wikipedia): بزرگترین دانشنامه آنلاین جهان که روزانه میزبان میلیونها بازدیدکننده است، بر پایه PHP و دیتابیس MySQL کار میکند.