برای شروع هر چیزی چه در زندگی روزمره و چه در دنیای برنامهنویسی نیاز به یک مسیر مشخص وجود دارد. اگر در ابتدای کار هستید و پیش از ورود به PHP به دنبال یک مسیر مشخص میگردید، میتوان برای شما آیندهای روشن در نظر گرفت. من در این مقاله از کدپز سعی بر این دارم تا مسیر مشخصی از یادگیری PHP را برای شما معرفی کنم.
1. قدم اول: هدف، زمان کافی، انگیزه و علاقه
۱. ۱. هدف از یادگیری زبان PHP
مشخصا با یادگیری زبان برنامهنویسی PHP شما قادر نیستید تا در تمام حوزهها ورود کنید. بنابراین در ابتدای کار هدف خودتان از یادگیری پی اچ پی را مشخص کنید و سپس شروع به یادگیری آن کنید. اما بگذارید من نیز اهدافی برای PHP مشخص کنم. و درکل چرا باید پی اچ پی را آموزش ببینید.
- اگر قصد ورود به بازار کار ایران را دارید PHP میتواند برای شما مناسب باشد. چرا که اغلب شرکتهای موجود در ایران برای توسعه وب سایتهای خود از PHP استفاده میکنند.
- اگر هدفتان ساخت و توسعه وب سایتها میباشد، همچنان PHP میتواند بهترین گزینه، پیش روی شما باشد.
- اگر هدفتان مسلط شدن به وردپرس میباشد، قطعا PHP را باید آموزش ببینید.
۱. ۲. زمان کافی
برای حرفهای شدن در PHP زمان را یکی از مهمترین اولویتها قرار دهید. نیاز به تمرکز و توجه بسیار زیاد شما در این مسیر وجود دارد. بنابراین روزانه زمان مشخصی را برای تمرین و پیشرفت در این مسیر مشخص کنید. چرا که بریده بریده زمان گذاشتن و نداشتن ددلاین ِ مشخص، از عوامل عدم ِ موفقیت شما در این مسیر خواهد بود.
۱. ۳. انگیزه و علاقه
انگیزه و علاقه دو فاکتور مهم برای رسیدن به اهدافتان خواهد بود. بیشتر وارد جزییات این دو مبحث نمیشوم، چون ممکن است کمی از مبحث اصلی دور شویم. اما حتما این دو مورد را برای رسیدن به هدف ِ مشخص در برنامهتان در نظر داشته باشید.
۲. قدم دوم: یادگیری پیش نیازهای عمومی
در مقالهای جداگانه تحت عنوان “پیش نیازهای برنامهنویسی” به توضیح موارد ِ مورد نیاز برای شروع برنامهنویسی خواهیم پرداخت اما در اینجا به گفتن تیترهای آن بسنده میکنیم.
- آشنایی با کامپیوتر و اینترنت
- تایپ سریع
- آشنایی با زبان انگلیسی
- آشنایی با الگوریتم
- آشنایی با برخی موارد ابتدایی اما اساسی در ریاضی
3. قدم سوم: آشنایی با پروتکلهای مهم دنیای وب
اینترنت شبکهای متشکل از کامپیوترهای مختلف است که میان آنها اطلاعات و دادهها رد و بدل میشوند. پروتکلها مجموعه قوانینی نرمافزاری هستند که برای برقراری ارتباط میان این شبکهها و کامپیوترها و استفاده از قوانین سختافزاری آنها استفاده میشوند. پروتکلها انواع مختلفی دارند؛ IP، FDP، HTTP، HTTPS و غیره.
۴. قدم چهارم: یادگیری دو زبان HTML&CSS
- HTML (مخفف: Hyper Text Markup Language) یک زبان برنامهنویسی نیست بلکه یک زبان نشانهگذاری وب است. با استفاده از HTML متون، تصاویر، لیستها و… در کنار یکدیگر قرار میگیرند تا اسکلت یک صفحهی وب را ایجاد کنند.
- CSS (مخفف: Cascading Style Sheets) نیز یک زبان نشانهگذاری و مکمل زبان HTML میباشد تا به صفحات وب استایل و ظاهر مناسب را بدهند.
یادگیری ِ این دو زبان چندان دشوار نیست. و در مدت زمان کوتاهی میتوان هر دو را یاد بگیرید.
۵. قدم پنجم: آشنایی با جاوااسکریپت
بعد از یادگیری دو زبان فرانتاند اصلی (HTML&CSS) نوبت به یادگیری جاوا اسکریپت میرسد.
- صرفا با استفاده از HTML و CSS نمیتوانیم صفحات وب را تشکیل دهیم، بلکه نیاز به جاوا اسکریپت هم وجود دارد. فرض کنید میخواهیم امکانی را به وجودآوریم که زمانی که بر روی دکمهای کلیک شد، برخی المانها در صفحه حرکت خاصی را انجام دهند و یا با اسکرول کردن صفحه، المانها با سرعت بسیار کمی به نوبت ظاهر شوند. تمامی این موارد با جاوا اسکریپت رخ میدهند.
- باید این موضوع را هم در ابتدای کار بدانید که جاوا اسکریپت بر خلاف HTML و CSS یک زبان برنامهنویسی میباشد، بنابراین باید خود را برای چالشهای پیچیدهتری آماده کنید.
- در آخرین نکته هم این مورد را متذکر شوم که زبان برنامهنویسی جاوا اسکریپت بسیار قدرتمند و همچنین گسترده میباشد که دارای چندین کتابخانه نظیر ReactJS، Vue. JS، AngularJs، NodeJS و غیره میباشد. بنابراین نیاز به یادگیری تمامی این موارد در این مرحله وجود ندارد و صرفا یادگیری مقدماتی و مبانی جاوا اسکریپت کفایت میکند. جلوتر میتوانید به یادگیری ِ بیشتر این زبان بپردازید.
۶. یادگیری قواعد و مبانی PHP
۷. یادگیری مقدمات پایگاه داده و دستورات SQL
۸. آشنایی با ابذارهای کنترل نسخه (Git یا Github)
۹. ابذار Composer جهت مدیریت پکیجها در PHP
۱۰. یادگیری شی گرایی (OOP)
۱۱. آشنایی با مباحث بهبود امنیت و عملکرد در PHP
۱۲. آشنایی با معماری MVC در PHP
۱۳. آموزش API وب سرویس در PHP
با تمامی ِ این توضیحات اگر قصد ِ یادگیری زبان برنامهنویسی PHP را دارید، میتوانید از آموزش PHP موجود در سایت استفاده کنید و در هر جلسه سوالات خود را با ما در میان بگذارید.