تجربه شروع یادگیری زبان برنامه نویسی PHP با فرادرس
PHP چیست؟ چه تفاوت و اشتراکاتی با سایر زبانهای برنامهنویسی دارد؟ و چطور میتوان با آن برنامه نوشت؟ متنی که یکی از شرکتکنندگان در جشنواره تجربه یادگیری با مخاطبان به اشتراک گذاشته، ما را بر آن داشت تا برای یافتن پاسخ این سوالات به سراغ آموزشهای موجود در فرادرس برویم.
آموزشی که پویا حقیقتجو، کاربر شرکتکننده در جشنواره تجربه یادگیری، از آن نام برده «آموزش برنامهنویسی PHP» است که طی 30 جلسه تدریس شده است. این آموزش توسط دکتر مصطفی کلامی هریس؛ دکتری تخصصی مهندسی برق- کنترل تهیه شده. برای آنکه بیشتر درباره پیشنیازها و ابزارهای لازم برای یادگیری زبان PHP بدانیم «آموزش آشنایی با PHP» فرادرس را در این گزارش مرور کردهایم.
پس از دریافت این اطلاعات میتوانید تصمیم بگیرید چگونه برنامهنویسی با زبان PHP را آغاز کنید. در این گزارش همراه با مرور متن پویا حقیقتجو، کاربر و همراه فرادرس، اطلاعاتی را که برای برنامهنویسی با PHP لازم است از نظر میگذرانیم.
پویا حقیقتجو، کاربری که در جشنواره تجربه یادگیری شرکت کرده، در ابتدا مقدمهای برای معرفی آموزشهای فرادرس نوشته است. او قبل از هر چیز آموزش را دارای دو رکن اساسی میداند؛ نخست آموزگار و دیگری دانشآموز. البته او اضافه میکند موارد دیگری همچون ابزار آموزش، محل آموزش، شرایط و مسایل دیگری هم بر آموزش تاثیرگذار هستند که در جای خود اهمیت دارند.
اما اگر در دو رکن اصلی آموزش که همان آموزشدهنده و آموزشگیرنده است، ایرادی وجود داشته باشد به اصل آموزش لطمه میخورد. حتی ممکن است بازدهی آموزش به صفر برسد و عملا سودی در آموزش دادن و آموزش دیدن وجود نداشته باشد. او برای روشنتر شدن موضوعی که مدنظر دارد، مثالی مطرح میکند که در ادامه آورده شده است.
تصور کنید برای یادگیریِ مهارت یا هنری بسیار جدی هستید. شما در حد توان خود تلاش میکنید، اما چیزی یاد نمیگیرید. دلیل آن چیست؟ پویا حقیقتجو در پاسخ به این سوال مینویسد:
«از آنجا که یکی از دو رکن، تلاش خود را انجام داده فقط یک مورد برای بررسی باقی میماند و آن هم آموزگار است.»
به عبارتی اگر شما تمام تلاش خود را صرف یادگیری کنید و بهترین زمانهای عمرتان را به آموزش دیدن اختصاص بدهید، اما استاد توانایی انتقال مفاهیم را نداشته باشد نتیجه مشخص است؛ عدم یادگیری شما به عنوان دانشآموز یا دانشجو. او در ادامه به ابزارهای آموزش هم اشاره میکند.
حقیقتجو با یادآوری شیوع کووید-19 و مجازی شدن روند برخی آموزشها نکته دیگری را هم اضافه میکند. او میگوید: برخی افراد به صورت خودجوش به سراغ آموزشهای مجازی رفتهاند. یعنی علت استقبال از آموزشهای مجازی تنها بروز ویروس کرونا در جهان نبوده. پویا حقیقتجو معتقد است در هر دو صورت، حتی اگر مدرس تسلط کافی برای آموزش مجازی داشته باشد و کیفیت صدا یا تصویر مناسب نباشد یادگیری مناسب هم اتفاق نمیافتد.
او پس از ارائه این توضیحات به معرفی سایت فرادرس میپردازد و آن را یکی از کاملترین و مفیدترین سایتهای آموزش آنلاین میداند. همچنین اضافه میکند اگر کسی وارد این سایت آموزشی شود، دستِ خالی برنمیگردد. چرا که گستردگی آموزشها باعث میشود نیاز تمام رشتهها مرتفع شود.
این کاربر لینک ورود به سایت را برای همراهان خود درج کرده و در ادامه توضیح میدهد سایت فرادرس برای هر درس، مدرسهای مختلفی دارد. حتی کاربران و دریافتکنندگان آموزش میتوانند به مدرسان فرادرس بپیوندند. یکی دیگر از خصوصیاتی که نظر پویا حقیقتجو را جلب کرده، تخفیف بر روی آموزشهای فرادرس است.
او این تخفیفها را عجیب و باور نکردنی میخواند و آن را باعث اقبال و گرایش کاربران نسبت به این سایت میداند. از جمله آموزشهایی که توسط این کاربر به سایرین معرفی شده، آموزش برنامهنویسی به زبان PHP است. از نظر پویا حقیقتجو تسلط مدرس این دوره آموزشی باعث شده که هر از گاهی به این آموزش سر بزند و آن را برای بارِ چندم ببیند.
آموزش مدنظر پویا حقیقتجو توسط سید مصطفی کلامی هریس، دکتری مهندسی برق- کنترل، تدریس شده. به گفته مدرس این دوره آموزشی، PHP یکی از زبانهای برنامهنویسی سمت Server است که کاربرد اصلی آن در پیادهسازی پروژههای وب و وبسایتهای دینامیکی است.
علاوه بر این PHP پرکاربردترین زبان برنامهنویسی در حوزه وب است و مهارت برنامهنویسی به این زبان یکی از ویژگیهای مهم و ضروری برای هر برنامهنویس و توسعهدهنده تحت وب است. به گفته مدرس، بسیاری از سیستمهای مدیریت محتوای رایگان از جمله «وردپرس»، «دروپال»، «جوملا»، «اپنکارت» با این زبان پیادهسازی شدهاند و تسلط به این زبان برای کار با سیستمهای مدیریت محتوا ضروری است.
هرچند اصلیترین کاربرد زبان PHP در حوزه برنامهنویسی تحت وب است، اما این امکان را ایجاد میکند که در سایر زمینهها هم از آن استفاده شود. آنطور که مدرس میگوید: PHP یکی از زبانهای برنامهنویسی ساده، سبک و قابل انتقال است. به همین دلیل هم انتخاب اول بسیاری از پروژههای Open-source بوده که تا کنون پیادهسازی شدهاند.
دکتر کلامی هریس میگوید: «PHP اشتراکات زیادی با زبان C و ++C، همینطور «جاوا» و «پرل» دارد. از این جهت افرادی که با این زبانها آشنایی دارند، نیاز نیست تا زمان زیادی را برای یادگیری PHP صرف کنند تا با سینتکس خاص این زبان آشنا شوند. به عبارت دیگر افرادی که با برنامهنویسی به زبانهای خانواده C آشنا باشند به راحتی میتوانند با نحو این زبان ارتباط برقرار کنند.»
این یکی از مزیتهای برنامهنویسی با PHP است. مدرس توصیه میکند قبل از شروع به یادگیری، مطالعهای درباره زبانهای برنامهنویسی C و «جاوا» داشته باشید تا کار یادگیری این زبان راحتتر انجام شود. پیشفرض این است که کاربر هنگام یادگیری PHP با HTML, CSS آشنایی دارد و به راحتی میتواند با ایجاد داکیومنتهای وب ارتباط برقرار کند.
همچنین مدرس پیشنهاد میکند کاربران مطالعات تکمیلی خود در این حوزهها را آغاز کنند تا بتوانند ارتباط بهتری با آموزش برقرار کنند. در کنار مفاهیمی که در آموزش برنامهنویسی با زبان PHP وجود دارد، پروژههایی نیز به طور گام به گام پیادهسازی میشوند. یعنی برای هر مورد یک مثال در نظر گرفته شده تا کاربر بتواند با مفاهیم ارتباط برقرار کند. همچنین به همراه تئوریهای گفته شده در این درس، مهارتهای عملی لازم را هم به دست آورد. این سبکی است که در سایر آموزشهای برنامهنویسی فرادرس هم مدنظر قرار گرفته.
طی این آموزش قرار است کاربر با ابزارهای لازم برای برنامهنویسی با PHP آشنا شود. مثلا در ابتدای آموزش درمییابد که باید بر روی سیستم خود از ابزار XAMPP استفاده کند. ابزاری که از طریق موتور جستجوی گوگل قابل دانلود کردن است. آموزش با نوشتن سادهترین برنامه PHP آغاز میشود. پس از معرفی ابتدایی انواع ویرایشگرها ویرایشگر NetBeans به عنوان ویرایشگر هماهنگ با XAMPP معرفی میشود.
مزیت این ویرایشگر رایگان بودن آن است. ضمن آنکه مشکلی هم برای نصب آن وجود ندارد. ابتدا لینکی بین این ویرایشگر و XAMPP برقرار میشود و یک پروژه با استفاده از همین ویرایشگر به زبان PHP اجرا میشود. مدرس امکان میکس کردن HTML با PHP را طی یک تمرین یادآوری میکند. امکانی که زبان برنامهنویسی PHP را بسیار قدرتمند نشان میدهد.
همچنین تگ استاندارد PHP و همچنین تگهای غیراستاندارد این زبان معرفی میشوند، اما یادآوری میشود این تگها مطلوب برنامهنویسی نیست و میتواند مشکلاتی برای برنامهنویس ایجاد کند. چرا که تگهای غیراستاندارد برای اجرا شدن نیاز به تنظیمات خاصی روی Host دارند. اگر این تنظیمات وجود نداشته باشند برنامه در هنگام اجرا دچار مشکل خواهد شد.
مدرس تاکید میکند با وجودی که این مسائل حلشدنی هستند، شما همیشه از حالت پیشفرض برای نوشتن کدهای PHP استفاده کنید. چون استفاده از تگهای غیراستاندارد انتقالپذیری برنامهها را کم میکند. ذکر تفاوت متنهای استاتیک و دینامیک اطلاعات دیگری است که یک برنامهنویس به زبان PHP باید با آن آشنایی داشته باشد.
آنطور که سرفصل دروس آموزش مذکور نشان میدهد پس از آشنایی اولیه با زبان برنامهنویسی PHP، به شناخت متغیرها، انواع دادهها و ثوابت و همینطور عملگرهای جدید در نسخه جدید PHP، عبارتهای شرطی و دستورهای مربوطه و ملحقات آنها، ساختارهای کنترل برنامه و حلقههای تکرار پرداخته شده است. به تاکید مدرس، آشنایی با آرایهها در PHP لازمه کار دقیق و کاربردی در PHP است و یک جلسه کامل به آرایهها و توابع آنها اختصاص داده شده.
موضوع رشتهها، انواع رشتهها و اهمیت آنها، همچنین توانایی استفاده از توابع که یک توانایی بسیار مهم در همه زبانهای برنامهنویسی و PHP است، در این دوره تدریس میشود. علاوه بر این درباره اشکالزدایی یا مدیریت حالات استثنایی مباحثی مطرح میشود. این مباحث کمک میکنند که برنامههای سالمتری پیادهسازی شود.
در این دوره آموزشی نحوه کار با فرمهای وب، انواع روشهای درخواست و پاسخگویی به این درخواست نیز دیده میشود. علاوه بر آنکه روشهای ذخیرهسازی اطلاعات برای کاربران، چیستیِ کوکیها، ذخیرهسازی اطلاعات و حذف کوکیها درباره کاربر نیز تدریس میشود.
آشنایی با هدرها و نحوه ارسال آنها و همینطور کار با فایلها و پوشهها در PHP طی چهار جلسه آموزشی تدریس شده است. سپس کار با یک پایگاه داده مبتنی بر فایل و نصب آن آموزش داده میشود. سپس یک سیستم مدیریت پایگاه داده پرکاربرد در این آموزش ایجاد میشود. ضمن آنکه روشهایی برای جایگذاری و خوانشِ داده در این پایگاهِ داده ذکر میشود.
پیادهسازی یک پروژه وب ساده و کامل به صورت گام به گام جزو بخشهای پایانی این دوره آموزشی است. به عبارتی یک اپلیکیشن ساده از صفر تا صد پیادهسازی میشود. آنطور که مدرس این دوره آموزشی میگوید مفاهیم مهمی در این بخش آموزش داده میشوند. سپس درباره بافر خروجی، امنسازی و اعتبارسنجی ورودیها با استفاده از توابع مربوطه توضیح داده خواهد شد.
پیادهسازی یک برنامه محاسبات آماری با ورودی چندخطی، جابجایی اطلاعات با کتابخانه cURL در PHP، کتابخانه GD و ترسیم انواع شکلها و متنها، آشنایی با یک سیستمهای مدیریت پایگاه داده، طراحی یک سیستم مدیریت محتوا یا CMS ساده با استفاده از PHP و MY SQL در بقیه مسیر آموزش گنجانده شده است.
آموزشی که توسط پویا حقیقتجو، کاربر شرکتکننده در جشنواره تجربه یادگیری معرفی شده، به گفته او تنها یک نمونه از آموزشهای فرادرس به شمار میرود. پیشنیاز این آموزش، آموزشِ اصول و مبانی برنامهنویسی است که به صورت رایگان در دسترس کاربران قرار دارد. این کاربر یادآور میشود دورههای زیادی مثل آموزش زبان PHP بر روی سایت فرادرس موجود است. او در پایان تجربه یادگیری اظهار امیدواری میکند اشتراک این تجربه برای بقیه کاربران مفید باشد.