یک برنامه نویس بک اند - هک و امنیت



چرا با mvc کار کردم ؟

آموزش php mvc 

مدتی میشه که سعی میکنم کدنویسی php را در قالب mvc انجام بدم اینطوری خیلی سرعت برنامه نویسی پروژه هام زیاد میشه و خیالم از نظر امنیت هم بیشتر میشه . 

اوایل فکر میکردم mvc مختص یه زبان خاص مثلا برای asp mvc یا همچین چیزایی هست در حالیکه بعد از مطالعه و تحقیق درباره ی mvc فهمیدم که mvc به هیچ زبان یا تکنولوژی خاصی وابسته نیست و مستقل عمل میکنه . 

خب اگر شما یه نگاه کوتاهی به فریمورک های حاضر و آماده ی PHP بیاندازید میبینید که همگی بدون استثنا از MVC استفاده میکنند . 

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

باگ گیری پروژه ها راحت تر میشه چون هر بخش جداست و داره کار خودش رو میکنه بهتر و راحت تر میتونید فایل های php تان را مدیریت کنید . 

 

چطور MVC را وارد پروژه ی PHP کنیم ؟‌

خیلی از دوستام میپرسن چطور mvc را در پروژه ی PHP وارد کنیم خب یه طوری میپرسن انگار MVC یک فایل افزودنی هست که دانلود کنیم و بعد با ترفند هایی به PHP اضافش کنیم نه اینطوری نیست .

mvc یک شیوه است یک الگوی طراحی است که باید از قوانینش تبعیت کنید .

یعنی قرار نیست عملا چیزی به پروژه اضافه کنیم یا کسر کنیم قراره پروژه را سازماندهی کنیم و کدها را مرتب کنیم و هر کدام را جای خودش بنویسیم این کاریه که MVC میکنه 

 

ولی پیش نیازهای کار با mvc  چیه ؟‌

کار با mvc در زبان php

قبل از اینکه بخواهید با php الگوی mvc را پیاده سازی کنید قطعا باید ابتدا خود زبان برنامه نویسی php را بلد باشید . 

خب پس آشنایی و بلد بودن خود php اولین پیش نیاز شماست 

ولی از آنجایی که دائما با کلاس ها و متد ها و بحث هایی مثل وراثت و . سر و کار خواهید داشت شی گرایی دومین پیش نیاز برای شروع و کار با php mvc است . 

 

چه کارهایی میتونم با PHP MVC انجام بدم ؟‌

اگه از من بپرسید میگم هر کاری که در زمینه ی وب بخواد انجام بگیره . از فروشگاه اینترنتی گرفته تا یک سایت خبری و .

من خودم برای یادگیری PHP MVC از دوره ی آموزشی استاد نیک زاد استفاده کردم که در قالب یک دوره ی آموزشی ساخت یک فریمورک برای php ( بله ! یک فریمورک ) بصورت mvc را تدریس میکنند که واقعا فوق العاده بود و شما هم میتونید باهاش شروع کنید 

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

دوره ی آموزش php mvc استاد نیک زاد

دوره ی اموزش ساخت فریمورک php mvc استاد نیک زاد 

 

اما یک مشکل اساسی دیگر که باید بدونید 

 

mvc یک معماری سه لایه نیست 

سالهاست که در دانشگاه ها و آموزش ها میگن معماری سه لایه mvc . :(‌ حتی من سر این موضوع با خیلی ها بحث کردم و حتی یه استاد بخاطر همین موضوع کلی مسخرم کرد 

برای روشن شدن موضوع بریم سراغ تعریف معماری سه لایه یه چند لایه در مهندسی نرم افزار 

خب برای روشن شدن موضوع من منبع اصلی انگلیسی میدم بخونید .

درباره ی معماری سه لایه اینجا کلیک کنید 

و درباره ی mvc اینجا کلیک کنید 

.

خب با مطالعه ی منابع بالا شاید متوجه شده باشید که تفاوت اصلی معماری سه لایه یا چند لایه با mvc در اصل اینه که در mvc اصلا بحث لایه بندی پروژه و سیستم نیست و سیستم در همون یک لایه فعالیت خودش را انجام میده در حالیکه معماری سه لایه ، سه سیستم از یک سیستم بصورت مجاز میسازد که هر کدام درون خودش فعالیتشان را میکنند و نتیجه ی خروجی را بهم ارسال میکنند . 

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

تصویر زیر هم خیلی کمک میکنه تا مسئله ی تفاوت بین MVC و معماری سه لایه را درک کنید 

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

همانطور که در تصویر بالا میبینید mvc یا همان بخش های model view controller درون بالاترین لایه ی یک سیستم معماری سه لایه قرار گرفته یعنی لایه ی presentation .

و این نشون میده که این دو مفهوم جدایی هستند 

 

پایان


یک برنامه نویس بک اند - هک و امنیت

آخرین مطالب

آخرین جستجو ها

تخفیف چاپ پوستر دیواری ارزان تخفیف گل سنگ اردبیل هر چی که بخوای توسعه 360 یکم بیشتر بمون سختی گیر رزینی چشم انتظارم دانلود آهنگ