Първата по-технически насочена статия в блога за ОРМ.БГ ще бъде представена от мен, Иван Петрушев.
И така, ще си говорим а MVC модела и как най-правилно да разработваме едно уеб приложение. Ще имаме серия от статии, но преди всичко трябва да почнем с малко въведение.
За да разработите своето уеб приложение има много варианти – единият от тях е да се създадете един единствен файл index.php. В него се слагат изходният код, заявките към базата, print-ове с HTML-а, който ще се покаже на потребителя… Имах преподавател в университета, който наричаше такава разработка “писане на код в черво” Обикновено това върши работа за много, много елементарни уеб приложения.
Какъв е недостатъкът на този метод? Смесват се различни програмни езици, похвати и идеи в невъобразим миш-маш. Вземете този код:
if ($x) $this->HtmlWriter->write(a href="'/page/”.$this-">db->query(“SELECT slug FROM urls WHERE id = “.($_GET['page'] == 'index') ? 1 : 0).”' onClick='javascript:doSomethingWith(this)” style=' width: 250px; color: #00ff00; float: left'>click here!”);
Това е пример за ужасен код, който не може да се поддържа и ако напишете такъв някъде по света, Господ ще убие котенце : ) Тук в едно се смесват PHP, MySQL, HTML, JS, CSS, трудно се следи и дебъгва и освен това има поне 2 грешки. Представете си сега даимате приложение с 10 000 реда такъв код.
Реално, винаги когато имате повече от 1-2 странички и идея това да се развива в бъдещето, е по-добре да се използва MVC.
MVC (Model-View-Controller) е единият от най-разпространените архитектурни шаблони (или по-просто казано – похвати) в програмирането за уеб. Състои се от следните части:
- Model – обвивката на данните, които се разработват. Тук обикновено е връзката между базата данни и останалия код. Всеки тип данни от предметната област си има собствен модел, който се използва нататък.
- View – тази част от приложението, която се грижи за визуализацията и представянето пред потребителя. Тук е шарената страничка, която се вижда накрая. Обикновено се използват HTML+JS шаблони, които могат да бъдат редактирани и от човек, незапознат с програмирането.
- Controller – бизнес логиката на приложението. Тук работата реално “се върши” – обработват се форми, правят се сметки, изпраща се поща и т.н. Всички тези неща са невидими за крайния потребител. Това е “бизнес логиката” на приложението.
Какви са предимствата на тази система?
- модулярност – различната логика от приложението може да се поеме от различни модули, които се обслужват по-лесно. Може да имате модули които се пренасят между различни приложения, което значително ускорява разработката.
- моделите могат да бъдат планирани и развивани независимо от останалата част от системата. Моделите са единици код, които се грижат единствено за данните които представят – подобно на общата дефиниция за клас и обект в програмирането.
- разделение на бизнес и презентационна логика (controller vs view) – по-лесно организиране на кода позволява отделна разработка на изгледа.
- по-лесно се проследяват и откриват грешки, могат да се тестват отделни компоненти.
Така че, ако ви се наложи да разработвате уеб приложение – бъдете умни и не пишете “на черво”
The post MVC – Как се разработва едно уеб приложение? appeared first on ORM BG - Управление на онлайн репутация.