زبان برنامه نویسی PHP چیست؟
زبان برنامهنویسی PHP یک زبان متنباز و مختص وب است که برای توسعه برنامههای وب ایجاد شده. PHP به عنوان یک زبان اسکریپتی سروری عمل میکند و بسیاری از وبسایتها و برنامههای وب از آن برای انجام مجموعهای از کارها استفاده میکنند.
استفاده های رایج از PHP
- سیستمهای مدیریت محتوا یا CMS: برای توسعه CMS های معروف مانند WordPress، Joomla و Drupal به کار میرود. این CMS ها به وبمستران این امکان را میدهند تا وبسایتهای داینامیک را بدون نیاز به مهارتهای برنامهنویسی عمیق ایجاد کنند.
- انجمنها و وبلاگها: PHP برای ایجاد انجمنهای آنلاین و وبلاگها استفاده میشود. ابزارهایی مانند phpBB برای ایجاد انجمنها و WordPress برای ایجاد وبلاگها به عنوان نمونههایی از استفاده از PHP در این زمینهها مطرح هستند.
- پایگاه داده و نهادهسازی: PHP به عنوان یک زبان پایگاه داده نیز مورد استفاده قرار میگیرد. از ابزارهای معروف مانند PHPMyAdmin برای مدیریت پایگاه داده MySQL استفاده میشود.
- سیستمهای مدیریت شبکه NMS: این زبان در سیستمهای مدیریت شبکه استفاده میشود تا اطلاعات مربوط به شبکه را جمعآوری و نمایش دهد.
- اپلیکیشنهای خط فرمان یا CLI: زبان PHP میتواند برای ایجاد اسکریپتها و ابزارهای خط فرمان برای اجرای وظایف خاص در سیستم عامل مورد استفاده قرار گیرد.
در دوره ساخت فریمورک مشابه لاراول با PHP چه چیزی یاد میگیرم؟
ما در این دوره آموزش PHP نخواهیم نداشت و به ساخت فریمورک مشابه لاراول میپردازیم. در فصل اول مروری بر مفاهیم شئ گرایی در PHP داریم و به بیان اصول کدنویسی صحیح می پردازیم.
در فصل دوم ما به پیاده سازی یک فریمورک اختصاصی بر مبنای معماری MVC می پردازیم. در این فصل یاد میگیرم که بدون مشکل و به راحتی هرچه تمام تر برای خودمان یک فریمورک حرفه ای، امن و اختصاصی بسازیم. همچنین چون این فریمورک را خودتان میسازید میتوانید به راحتی توسعه بدهید یا در شرکت های متفاوت از ساختار و سیستم کاری خودتان استفاده کنید. در فصل سوم ما به ساخت پروژه ای با همین فریمورک ساخته شده توسط خودمان می پردازیم.
معماری MVC
معماری نرم افزاری MVC یک الگوی طراحی نرم افزار است که به تقسیم بندی و سازماندهی برنامه های کامپیوتری شناخته میشود. این الگو مخفف نام های Model – View – Controller هست که در ادامه اجزای هر کدام را بررسی میکنیم.
- مدل (Model): مدل نمایانگر داده و منطق برنامه است. این قسمت اطلاعاتی را که برنامه به آن نیاز دارد، مدیریت میکند. مسئولیتهای مدل شامل ذخیره، بروزرسانی، حذف و درخواست اطلاعات از منبع داده میشود. این منبع داده ممکن است یک پایگاه داده، یک فایل یا سرویسهای دیگر باشد. مدل مستقل از کنترلر و نما است و تغییرات در مدل بدون تغییر در بخشهای دیگر اعمال میشود.
- نما (View): نما نمایانگر وجه کاربری برنامه است. این قسمت مسئول نمایش اطلاعات به کاربر و دریافت ورودی از وی است. نما باید اطلاعات مورد نیاز خود را از مدل دریافت کند و آن را به کاربر نمایش دهد. همچنین، وقتی کاربر با آن تعامل میکند، این تغییرات باید به کنترلر منتقل شوند.
- کنترلر (Controller): کنترلر به عنوان واسط بین مدل و نما عمل میکند و مسئولیت اجرای عملیات مربوط به تعامل کاربر با برنامه را دارد. کنترلر ورودیهای کاربر را از نما دریافت میکند، این ورودیها را تفسیر میکند و درخواستهای مربوط به مدل را ایجاد میکند. سپس پس از دریافت پاسخ از مدل، نتیجه را به نما ارسال میکند تا به کاربر نمایش داده شود. کنترلر به تصمیمگیری در مورد انجام عملیات مرتبط با تعامل کاربر و منطق برنامه میپردازد.
این معماری نیز مانند همه معماری های نرم افزاری مزایا و معایب بخصوص خود را دارد که باهم آن را بررسی میکنیم.
مزایای معماری MVC:
- جداسازی مسئولیتها: این معماری به تقسیم بندی منطق برنامه، و تقسیم بندی وظایف مختلف برنامه را برعهده دارد که کمک میخواند کدها را در بخش های مختلف به راحتی استفاده کنیم.
- قابلیت توسعه: به راحتی میتوان به هر یک از اجزا تغییر داد و پروژه را توسعه داد.
- قابلیت تست: امکان تست کناری (unit testing) برای هر یک از اجزا را فراهم میکند.
- افزایش سرعت کدنویسی در این معماری
- افزایش امنیت نرم افزار
معایب معماری MVC:
- پیچیدگی اضافی: برای پروژههای کوچک، این معماری ممکن است اضافه وزن باشد.
- ایجاد کد بیمعنی: گاهی اوقات باید کدهای متناظر با نمایش ورودی و خروجی ایجاد کرد که تکراری و بیمعنی باشند.
پیش نیاز های دوره ساخت فریمورک مشابه لاراول با PHP
این دوره بر روی زبان برنامه نویسی PHP آموزش داده میشود پس قطعا یکی از پیش نیازهای مهم این دوره داشتن دانش و درک کافی از PHP است. همچنین نیاز است تا دانش کافی از MySQL داشته باشید. باید اضافه کرد به دلیل اینکه می خواهیم یک پروژه را نیز از صفر تا صد بسازیم شما باید دانش کافی از HTML و CSS نیز برای طراحی اولیه پروژه داشته باشید.
هدف دوره ساخت فریمورک مشابه لاراول با PHP
یکی از کارهایی که توسعه دهندگان PHP همواره درگیر آن هستند. بعد از انکه کدهای خام PHP را یاد گرفتند متوجه خواهند شد که پیچیدگی کد ها ، کار توسعه را بسیار سخت میکند. معماری ها به اصولی نوشتن کد های ما بسیار کمک میکند و باعث میشود تا بتوانیم کدهای خواناتر بنویسیم و پیچیدگی های مرتبط با آن را کمتر کنیم. معماری MVC یکی از این معماری ها است که ما در این دوره آن را آموزش میدهیم. این معماری یکی از مهم ترین و کاربردی ترین معماری ها برای PHP است که هم در فریمورک های پرکاربرد زبان PHP مانند لاراول و کدایگنایتر (Codeigniter) و هم در ساخت فریمورک های اختصاصی استفاده می شود.
نظرات دانشجویان
نظرات دانشجویان
مجید کاظمی
سلام ممنون از دوره فوق العاده خوبتون. منتظر قسمت های بعدی دوره هستیم.
علی برازنده
به به چه دوره ای 😍
M. Ahmadi
با دیدن این دوره علاوه بر اینکه به صورت عمیق تری با مفاهیمی مثل شی گرایی و تا حدودی دیزاین پترن ها و ... آشنا می شویم، دید بهتری نسبت به فریمورک های موجود مانند لاراول پیدا خواهیم کرد. تشکر فراوان برای ساخت این آموزش
Hassan Hassanzadeh
سلام و عرض ادب و خسته نباشید استا جان واقعا واقعا تا به حال کسی به این تمیزی و ساده دیزاین پترن ها رو برام توزیع نداده بود من خیلی فیلم آموزشی میبینم و خیلی هم تمرین میکنم واقعا دمتون گرم با آموزش خوبتون ان شا الله موفق باشید همیشه .
hosein pormofrad
استاد ممنون بابت دوره خوب و مفیدتون یکی از بهترین دورهایی بود که دیدم
مجید کاظمی
سلام و عرض خسته نباشی خدمت استاد محترم ممنون از دوره فوق العاده خوبتون