یادگیری برنامه نویسی php را چگونه شروع کنیم؟

یکی از مهمترین چیزهایی که برای یادگیری هر نوع زبان برنامه نویسی به خصوص PHP باید بدانید، فرآیند یادگیری (نقشه راه) و نقطه شروع  است.

اگر PHP را قدم به قدم و اصولی یاد بگیرید یکی از بهترین برنامه نویسان در این زمینه خواهید شد.

یک توسعه دهنده قدرتمند!

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

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

کسانی که می خواهند PHP یاد بگیرند شروع به جستجوی بهترین منابع می کنند و چند مقاله می خوانند.

در این مقالات نام هایی مانند OOP، MVC و Framework را پیدا می کنند و سپس در مورد آنها تحقیق می کنند. یک مقاله بر OOP تاکید دارد و دیگری می گوید بهترین راه MVC است.

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

لاراول یا کدایگنایتر(Laravel or CodeIgnite ) یا...؟

مقاله دیگری به معرفی و مقایسه IDE ها برای برنامه نویسی PHP می پردازد و در نهایت به این نتیجه می رسد که PHP Storm بهترین است.

سپس با یک سری نام های مختلف تنها می شوید که تقریباً هیچ چیز در مورد آنها نمی دانید و نمی توانید تصمیم بگیرید که کدام یک بهتر است.

من دانش‌آموزانی داشتم که قبل از شروع PHP از من می‌پرسیدند که بهتر است Laravel یا CodeIgniter یاد بگیرم. وقتی می پرسم چقدر PHP می دانی، می گویند تازه می خواهند شروع کنند! خیلی ها با همین روش شروع می کنند و مثلا در همان ابتدا سعی می کنند لاراول را یاد بگیرند، زیرا اکثر شرکت های دنیا می خواهند افرادی را استخدام کنند که این فریم ورک را می شناسند.

آنها چند روز مطالعه می کنند و سپس یادگیری PHP را برای همیشه کنار می گذارند زیرا هر چقدر هم در مورد لاراول بخوانند چیزی نمی فهمند.

کاملا طبیعی است چون نقطه شروع را اشتباه متوجه شده اند!

مثل دادن سفینه فضایی به کودکی است که می خواهد برای اولین بار دوچرخه سواری را یاد بگیرد.

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

 

 

سطح اول


یادگیری PHP از همان ابتدا

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

همچنین ایجاد یک REST API برای این فروشگاه. همه اینها بدون استفاده از Class، OOP، MVC و فریمورک، تنها با استفاده از مفاهیم اولیه PHP و ترکیب آن با کدهای HTML.

قبل از شروع چه چیزی باید بدانید؟
شما باید مقداری HTML و CSS بدانید.

شما لازم نیست حرفه ای باشید، فقط باید بدانید که آنها چه هستند و برای چه استفاده می شوند.

بعد از این سطح چه کاری می توانید انجام دهید؟
بعد از این سطح می توانید هر نوع برنامه ای را با PHP ایجاد کنید. حتی پیچیده ترین و بزرگ ترین اپلیکیشن ها را نیز می توان با یادگیری همین سطح ساده پیاده سازی کرد و نیازی به یادگیری چیز دیگری ندارید!

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

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

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

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

 

 

 

سطح دوم
آموزش OOP (برنامه نویسی شی گرا) در PHP و ایجاد یک برنامه فروشگاه آنلاین ساده که با پایگاه داده MySQL کار می کند، دارای پنل مدیریتی است و عملیات CURD را انجام می دهد. همچنین ایجاد یک REST API برای این فروشگاه. همه اینها با استفاده از OOP اما بدون استفاده از MVC و فریمورک، تنها با استفاده از مفاهیم اولیه PHP، ایجاد کلاس های مختلف و پیاده سازی برنامه شی گرا و ترکیب کدها با کدهای HTML.

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

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

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

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

آموزش های این سطح:
به زودی...

 

سطح سوم
معماری MVC را در برنامه نویسی PHP بیاموزید و یک چارچوب ساده برای خود بسازید. سپس ساخت یک اپلیکیشن فروشگاه آنلاین ساده با این فریمورک که با پایگاه داده MySQL کار می کند، دارای پنل مدیریتی است و عملیات CURD را انجام می دهد. همچنین ایجاد یک REST API برای این فروشگاه. همه اینها با استفاده از OOP و استفاده از معماری MVC در چارچوبی که برای خود ساخته اید.

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

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

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

آیا این سطح برای شما کافی است؟
این بستگی به هدف شما دارد. اگر می خواهید برای خودتان کار کنید یا یک تیم برنامه نویسی راه اندازی کنید و یک اپلیکیشن بسازید و کد خود را بفروشید، این سطح نیاز شما را برآورده می کند. شما همچنین می توانید توسط شرکت های دیگر استخدام شوید زیرا همه شرکت ها معمولا از فریم ورک هایی استفاده می کنند که با معماری MVC پیاده سازی شده اند. به هر حال، چارچوب آنها ممکن است خاص باشد که در چند روز اول کار با آن آشنا می شوید و سپس می توانید با بقیه اعضای تیم ارتباط برقرار کنید. یا ممکن است شرکت از یک فریمورک آماده مانند لاراول یا CodeIgniter استفاده کند. این فریمورک ها دقیقاً شبیه فریم ورکی هستند که شما ایجاد کردید، با این تفاوت که بسیار بزرگتر هستند و امکانات بیشتری دارند. از آنجایی که با MVC آشنایی دارید در کمتر از 1 ماه می توانید به آنها تسلط نسبی پیدا کنید و آماده ارسال رزومه و شروع به کار در آن شرکت شوید. اما یادگیری این فریمورک ها مستلزم دانستن MVC است، بنابراین باید سطح 3 را بدانید.

 

 

سطح چهارم
اکنون زمان آن است که فریم ورکی مانند Laravel، CodeIgniter، CakePHP یا هر چیز دیگری را انتخاب کنید و شروع به یادگیری آن کنید. تمامی این فریم ورک ها با معماری MVC ساخته شده اند و تنها تفاوت در ویژگی هایی است که ارائه می دهند. اما باز هم پیشنهاد من این است که ابتدا با چارچوب CodeIgniter شروع کنید.

این فریم ورک یک فریمورک کامل است اما در عین حال یادگیری آن بسیار آسان است و کمتر از 1 ماه زمان می برد. هنگامی که آن را یاد گرفتید، به راحتی می توانید با فریمورک های پیچیده تری مانند لاراول ارتباط برقرار کنید و در مدت زمان کوتاهی آنها را یاد بگیرید.
بنابراین آموزش ما شروع به کار و یادگیری CodeIgniter و ایجاد یک برنامه فروشگاه آنلاین ساده است که با پایگاه داده MySQL کار می کند. دارای پنل مدیریت است و عملیات CURD را انجام می دهد. همچنین ایجاد یک REST API برای این فروشگاه. همه اینها با استفاده از CodeIgniter.

قبل از شروع چه چیزی باید بدانید؟
شما باید سطح 3 را بلد باشید و به مفاهیم MVC تسلط داشته باشید. CodeIgniter دقیقا همان چارچوبی است که در سطح 3 برای خود نوشتید، اما با بسیاری از ویژگی های بیشتر، دیگر نیازی به توسعه فریمورک خود ندارید. یک تیم خوب دیگر قبلاً این کار را به صورت رایگان برای شما انجام داده است!

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

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

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

 

 

برای دیدن آموزش های مرتبط با این سطح ها میتوانید وارد این لینک شده و به صورت رایگان در یوتیوب ببینید.