آموزش رایگان PHP از صفر تا پیشرفته

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

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

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

همچنین سیستم‌های مدیریت محتوای محبوب و فریمورک‌های پراستفاده‌ای با زبان PHP نوشته شده‌اند که چند مورد از آن‌ها را نام می‌برم:

سیستم مدیریت محتواوردپرس، جوملا، دروپال، OpenCart، پرستاشاپ، Magento و انجمن‌ساز vBulletin
فریمورک‌های زبان PHPلاراول (Laravel)، سیمفونی، CodeIgniter و Yii

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

آموزش PHP : شروع یادگیری

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

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

syntax و اجرای PHP

قواعد زبان PHP از سی (C)، C++، جاوا و Perl تأثیر گرفته است. اگر با یکی از این زبان‌ها آشنا باشید، می‌دانید که یک ساختار بلوکی در کدها داریم. یعنی برای مشخص کرده محدودهٔ یک دستور، از علامت آکولاد باز ({) و آکولاد بسته (}) استفاده می‌کنیم.

قطعه کد زیر یک دستور «شرطی» را نشان می‌دهد. در مورد این ساختار در جلسات آموزش بیشتر یاد می‌گیریم؛ الآن همینقدر بدانید که هر چیزی در محدوده دستور (بین { }) قرار بگیرید مربوط به دستور if خواهد بود.

مثالی از ساختار بلوک کد در PHP
نمونه ساختار بلوک در کدنویسی PHP

برای شروع آموزش مقدماتی PHP ابتدا باید بتوانیم کدها را اجرا کنیم. دو روش برای اجرای کدهای PHP داریم:

  • اجرای کدها روی کامپیوتر شخصی خودمان
  • اجرا روی سرور و هاست (فضای سایت‌های آنلاین)

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

آموزش نصب زمپ در ۶ گام تصویری

آموزش نصب زمپ در ۶ گام تصویری

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

مراحل یادگیری PHP

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

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

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

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

آموزش عملگر در PHP : یادگیری ۶ نوع اصلی عملگرهای پی اچ پی

آموزش عملگر در PHP : یادگیری ۶ نوع اصلی عملگرهای پی اچ پی

آموزش ساختارهای اصلی PHP

در همهٔ زبان‌های برنامه‌نویسی ازجمله PHP از ساختارهای شرطی برای کنترل جریان استفاده می‌کنیم. همین که در زبان محاوره می‌گوییم «اگر … آنگاه …» یک شرط ایجاد کرده‌ایم! 🙂 جلسه ساختار شرطی را با دقت ببینید چون بسیار کاربردی هستند.

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

حالا به کمک حلقه‌ها می‌توانیم یک قطعه کد را بارها و بارها تکرار کنیم. مثلاً نمرات همهٔ دانشجویان را در یک جدول نمایش دهیم. چاپ نمرات یک کار تکراری است که باید به‌ازای هر دانشجو انجام شود. حلقه‌ها این کار را برای ما ساده می‌کنند.

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

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

آموزش تابع در PHP و ترفندهای کار با Function

آموزش تابع در PHP و ترفندهای کار با Function

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

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

تبریک! تا اینجا با مباحث پایه‌ای آشنا شدیم. در جلسات بعدی از این دانسته‌ها به‌طور ترکیبی استفاده می‌کنیم تا کارهای جالب‌تری انجام دهیم.

تعامل با کاربر و داده‌ها

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

آموزش ذخیره داده در PHP

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

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

آموزش اتصال و کار با دیتابیس در PHP

آموزش اتصال و کار با دیتابیس در PHP

آموزش پیشرفته PHP

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

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

در ابتدا اگر با شئ‌گرایی آشنا نیستید، آموزشش را ببینید؛ سپس وارد جلسات کلاس و ارث‌بری پی‌اچ‌پی شوید.

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

در بعضی از مثال‌هایی تا به‌حال زدیم، از include یا require برای استفاده از یک فایل در فایل دیگر کمک گرفته بودیم. در جلسه بعدی این دستورها را یاد گرفته و پس از کار با زمان وارد مباحث پیشرفته یادگیری می‌شویم که اولین جلسهٔ آن interface است:

تبریییک می‌گم! شما آموزش مقدماتی PHP و بخش زیادی از قسمت متوسط رو گذروندید! از جلسهٔ interfaceها وارد بخش آموزش پیشرفته شدیم…

پیشنهاد برای آموزش حرفه‌ای PHP

الآن می‌توانم بگویم با تمام مباحث مقدماتی و پیشرفته PHP که برای برنامه‌نویسی نیاز دارید آشنا شده‌اید. 😉 خیلی خوشحالم که تا انتهای دوره آموزش رایگان PHP همراهمون بودید. ۲ پیشنهاد برای اینکه حرفه‌ای‌تر شوید برای شما دارم:

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

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

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

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

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

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