من همیشه به مقدمه اهمیت زیادی می دهم. جلسه اول کلاسهایم را همیشه به بیان مقدمه و ایجاد یک تصویر ذهنی پس از فراگیری مبحث برای دانشجو اختصاص می دهم. به لطف رشد ارتباطات، یافتن مطالب آموزشی عمومی کار چندان سختی نیست. ولی جای خالی مطالب راهنمای مقدماتی ، مسیر درست آموزشی ، ابزارها ، پیشنیاز ها و بعضاً مسائل و مشکلاتی که در مسیر پرپیچ و خم آموزش بر سر راه دانشجو قرار می گیرند، کاملاً مشهود است. پس در صورتی که هنوز در شروع یادگیری php سردرگم هستید، یا در اوایل راه هستید مطلب زیر می تواند به شما کمک کند. قاعدتاً عناوین مطرح شده را به هر زبان برنامه نویسی دیگر نیز می توان تعمیم داد.

یکی از بزرگترین مشکلاتی که در یادگیری php وجود دارد این است که از کجا باید شروع کرد و برای حرفه ای شدن باید چگونه و از چه مسیری قدم برداشت. قاعدتاً بهترین راهنمایی را می توان از برنامه نویسان حرفه ای گرفت. تجربیات این افراد تا حد زیادی شما را از سردر گمی خارج خواهد کرد.

به نظر من یادگیری برنامه نویسی به زبان php یا هر زبان دیگری به سه عامل زیر نیاز دارد:

  1. یک الگوی یادگیری
  2. منابع آموزشی
  3. پشتکار

در این مقاله می خواهیم مورد اول و تا حدودی مورد دوم را تشریح و بررسی کنیم. با فراهم آمدن این دو عامل تنها پشتکارتان است که می تواند یک برنامه نویس موفق و حرفه ای از شما بسازد.

  • نیازسنجی و اینکه چرا می خواهیم PHP را فرا بگیریم؟

به نظر من این مرحله یکی از مهمترین مراحلی است که برای شروع یادگیری php  باید به درستی پشت سر بگذارید. این مرحله مهم است چون در هر کاری اصلی ترین و ابتدایی ترین عامل، هدف انجام کار است. وقتی شما به هدف واقف باشید قاعدتاً اشتیاق بیشتری به یادگیری خواهید داشت و میدانید که وقتتان را بیهوده تلف نکرده اید.

شما میخواهید یک زبان برنامه نویسی را یاد بگیرید، در آن حرفه ای شوید و به احتمال زیاد از آن کسب درآمد کنید. از استثنا ها که بگذریم شما حداقل چند سال باید روی این موضوع زمان بگذارید پس بهتر است زمانی این کار را انجام دهید که مطمئن شده باشید زبان درستی را انتخاب کرده اید.زبانی که می تواند نیازهای شما را در آینده برآورده کند. اگر هنوز در انتخاب زبان PHP برای یادگیری شک دارید و مزایا و کاربرد آن نسبت به زبانهای دیگر برای شما واضح و روشن نشده است، بهتر است جلوتر نروید و اول این مرحله را به سرانجام برسانید.

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

این مطلب را بخوانید : مقایسه ای بر PHP و ASP.NET(علیرضا شیرازی – مدیر بلاگفا)

  • فراگیری مفاهیم برنامه نویسی

هر زبان برنامه نویسی یک سری اصول و مفاهیم پایه دارد. به عنوان مثال قبل از اینکه بخواهید دستور for یا while را در php فرابگیرید و استفاده کنید بهتر است اندکی با مفهوم حلقه ها و محل کاربرد آنها آشنایی پیدا کنید.

البته با توجه به عمومیت مفاهیم اولیه برنامه نویسی غالباً افرادی که قبل از این با یک زبان دیگر برنامه نوشته اند در این مراحل مشکلی ندارند و به سرعت پیش می روند.

  • اصول برنامه نویسی

مفاهیم را که پشت سر گذاشتید زمان آن می رسد که یک دوره آموزش php را پشت سر بگذارید. این آموزش می تواند در قالب کلاس ، کتاب و یا مطالعه مطالب سایتهای آموزشی  باشد. در این مرحله معمولاً سرفصل ها مشخص است و شما با اصول php آشنا خواهید شد. به عنوان مثال انواع متغیرها ، عملگرهای حسابی و منطقی ، شرط ها ،آرایه ها، حلقه ها ،کار با فرم ها و …

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

قاعدتاً بهترین منبع آنلاین برای شروع یادگیری php یا هر زبان برنامه نویسی و کدنویسی دیگر، وب سایت w3schools.com می باشد.اگر با زبان انگلیسی مشکل دارید سعی کنید از همین حالا فکری به حال این مشکل کوچک بنمایید چون هرچه جلوتر بروید و نیازهای تخصصی تر پیدا کنید نیازتان از منابع فارسی بالاتر رفته و باید به سراغ منابع لاتین بروید. شما به دنیایی پا گذاشته اید که از ملزومات آن تسلط بالا بر زبان انگلیسی است. بهترین تمرین برای آموزش زبان همین است که سعی کنید در کنار استفاده از منابع فارسی زبان از منابع انگلیسی هم بهره ببرید و دامنه لغات خود را افزایش دهید. کم کم به جایی خواهید رسید که با یک نگاه کلی به متن مفهوم آنرا به راحتی دریافت می کنید .

  • شروع به نوشتن اسکریپت های ساده کنید

اکنون به جایی رسیده اید که بتوانید یک اسکریپت برای خود بنویسید. سعی کنید در اسکریپتهایی که می نویسید همه ی معلومات خود را بکار بگیرید تا روی همه ی آنها تسلط پیدا کنید.

به عنوان مثال می توانید یک فرم ایجاد کرده و اطلاعات را از آن بگیرید و توسط عملگرهایی که فرا گرفته اید آنها را پردازش کنید و نتیجه را در یک آرایه ذخیره کنید و سپس تک تک آرایه ها را نمایش دهید.

  • نا امید نشوید مغز شما هنوز الگوریتمیک نشده است

نا امیدی از یادگیری و احساس اینکه شما برای برنامه نویسی ساخته نشده اید در این مرحله کاملاً طبیعی است. ذهن شما بصورت ناخودآگاه مسائل را بصورت یک الگوریتم تحلیل می کند . این الگوریتم سیستم عصبی مغز شما همان هوش است. حتماً عنوان هوش مصنوعی را شنیده اید . الگوریتمی که مغز شما از آن بهره می برد بسیار پیچیده است . در برنامه نویسی با توجه به حجم پردازش اطلاعات از الگوریتم های بسیار ساده تر و کوچک تر استفاده می شود که مدتی طول می کشد تا بتوانید آنها را در ذهنتان ایجاد و تحلیل کنید و با یک زبان خاص مانند PHP اجرا کنید. پس با تمرین و ممارست بر مرحله قبل (نوشتن اسکریتهای ساده توسط خودتان) و تلاش جدی و تخصصی در مرحله بعد (اسکریپت های پیچیده تر و کاربردی) این مرحله را با قدرت پشت سر خواهید گذاشت.

  • اسکریپت های نسبتاً پیچیده تر بنویسید

شما مرحله قبل را بخوبی پشت سر گذاشته اید، الان باید احساس بهتری نسبت به یادگیری داشته باشید. وقت آن است که یک پروژه ی کوچک انجام دهید. اندکی کاربردی تر باشد. پروژه های کاربردی زیادی وجود دارد که به عنوان تمرین انجام دهید.

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

نکته : برای نوشتن پروژه ی پیشنهادی بالا من توصیه می کنم ابتدا همه ی کدها را خودتان، با دانشی که کسب کرده اید بنویسید. به گونه ای که الگوریتم کار هم توسط خودتان طرح ریزی شود، بعد از آن به سراغ یک آموزش معتبر (که در اینترنت به وفور می توانید بیابید ) بروید و یکبار دیگر طبق اصول آموزش این کار را انجام دهید و در این بین مقایسه ای بین دو اسکریپت داشته باشید. مطمئناً مهارت شما در این مرحله مهم بهتر تقویت خواهد شد.

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

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

به جرات می توان گفت بهترین سایت پرسش و پاسخ که می تواند در این زمینه یک دستیار بسیار خوب برای شما باشد سایت stackoverflow.com است. در محتوای این سایت جستجو کنید. خواهید دید که تنها شما نیستید که به این مشکل برخورده اید و قبلاً افراد زیادی این سوال و مسائل مشابه را مطرح کرده اند و شما بدون صرف وقت برای طرح سوال و انتظار برای پاسخ بهترین جواب را دریابید.

  • امنیت ، بهینه سازی ، قابلیت توسعه

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

  • انتخاب یک فریم ورک و شروع به کار با آن

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

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

  • تمرین ، تمرین ، تمرین

هیچ دانشی بدون تمرین و تلاش حاصل نمی شود. حال وقت آن رسیده تمرین های متنوعی انجام دهید. در تالارهای گفتگو مربوط به php زیاد پرسه بزنید. این تالارها علاوه بر رفع اشکالات شما می توانند منبع خوبی برای تمرین و ایده گرفتن باشند. سعی کنید به تمامی امکاناتی که در وبسایتها و یا سیستم های مدیریت محتوای مختلف وجود دارد توجه کنید و کنجکاو شوید که چگونه می توانید این اسکریپتها را خودتان بنویسید. کنجکاو باشید و برای یافتن جواب سوالهایتان زیاد جستجو کنید، هیچ سوالی بدون جواب نخواهد ماند. سعی کنید با چند برنامه نویس حرفه ای ارتباط برقرار کنید تا در صورت نیاز از آنها کمک بگیرید و مطمئن باشید هر برنامه نویسی از اینکه اطلاعاتش را در اختیار دیگران قرار دهید خوشحال می شود.

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

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

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

حامد موثق پور

توسعه دهنده وب - مدیرفنی و نویسنده آی تی پورت

View Comments

  • مرسی

    خیلی استفاده کردم :) نقاط تاریک یادگیری PHP برای من روشن شد.

    واقعا عالی بود

  • ممنون حامد جان دست گلت درد نکنه :) استفاده کردیم

    انشالا اموزش های php بیشتر میشه دیگه ؟ :D

    • خواهش میکنم مسعود عزیز
      فعلا که سری آموزشی طراحی پوسته وردپرس روی میز هستش. انشالا بعد از اون آموزش php رو به یه سبک جدید شروع میکنیم.

  • مرسی

    سایت خیلی خوبی دارین

    با ارزوی موفقیت

  • سلام

    یه سری فیلم آموزشی PHP در سایت آزاد دانلود هست که به نظر فوق العادس توصیه میکنم حتماً ببینید

    من فیلم های آموزشی زیادی دیدم ولی این یکی واقعاً متفاوته (www.azad-dl.com) اینم آدرس سایته

  • سلام

    داداش حامد خیلی عالی بود برای من که هیچی از برنامه نویسی بلد نبودم خیلی خوب بود دستت دردنکنه ، آموزش های بعدی رو نذاشتی یا من نمیتونم لینکهاشو پیدا کنم؟

    • ممنون هادی عزیز
      متاسفانه فرصت نوشتن پیدا نکردم دیگه :)

      موفق باشید.

  • بسیار عالی. ممنون از مطالب بسیار مفیدتون

Recent Posts

نکات ضروری برای دانلود ایمن؛ چگونه از ورود به دام سایت‌های مخرب جلوگیری کنیم؟

در دنیای بی‌پایان نرم‌افزارها و فایل‌های دیجیتال، امنیت در دانلود و استفاده از آنها یک…

10 ماه ago

معرفی و بررسی سری های لپ تاپ ایسوس

شرکت ایسوس یکی از پیشتازان در صنعت فناوری اطلاعات و الکترونیک است که در زمینه…

10 ماه ago

آموزش دستورات پاورشل به همراه فهرست کامل کد های ویندوز پاورشل

آیا شما هم به دنبال کار با کد های پاورشل برای هک هستید؟ در این…

11 ماه ago

شغل ادمین اینستاگرام چیست و چگونه ادمین اینستاگرام شویم؟

این روزها که همه افراد به دنبال یک شغل پردرآمد می گردند، مشغول به کار…

11 ماه ago

آموزش حل مشکل page isn’t available right now در اینستاگرام

خطای page isn’t available right now یکی از آزار دهنده ترین مشکلاتی است که کاربران…

12 ماه ago

ویندوز پاورشل چیست ؟ کاربرد ها و نحوه فعال سازی powershell

ویندوز پاورشل چیست؟ پاورشل ابزاری قدرتمند به حساب می آید که همه افراد علاقه مند…

12 ماه ago