{"id":1853,"date":"2020-04-02T20:03:49","date_gmt":"2020-04-02T23:03:49","guid":{"rendered":"https:\/\/danielamaksoud.com.br\/blog\/?p=1853"},"modified":"2021-11-20T20:30:42","modified_gmt":"2021-11-20T23:30:42","slug":"padrao-mvc-o-que-e","status":"publish","type":"post","link":"https:\/\/danielamaksoud.com.br\/blog\/padrao-mvc-o-que-e\/","title":{"rendered":"Padr\u00e3o MVC: O que \u00e9?"},"content":{"rendered":"<p><\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/danielamaksoud.com.br\/blog\/wp-content\/uploads\/2020\/07\/mvc-diagram.png?ssl=1\"><figcaption>Diagrama do funcionamento do padr\u00e3o <b><em>MVC<\/em><\/b>.<\/figcaption><\/figure>\n<h2>Defini\u00e7\u00e3o<\/h2>\n<p>O padr\u00e3o <b>MVC<\/b> (<em>Model-View-Controller<\/em>) \u00e9 um padr\u00e3o de arquitetura de <em>software<\/em> que divide a aplica\u00e7\u00e3o nas seguintes 3 camadas:<\/p>\n<ul class=\"heart-list\">\n<li><b><em>Model<\/em><\/b><\/li>\n<li><b><em>View<\/em><\/b><\/li>\n<li><b><em>Controller<\/em><\/b><\/li>\n<\/ul>\n<blockquote><p>\n<b>Fonte<\/b>: <a href=\"https:\/\/www.devmedia.com.br\/introducao-ao-padrao-mvc\/29308\" target=\"_blank\" rel=\"noopener noreferrer\">Introdu\u00e7\u00e3o ao Padr\u00e3o MVC<\/a>\n<\/p><\/blockquote>\n<h2>Exemplo<\/h2>\n<p>Imagine que temos um usu\u00e1rio querendo listar os arquivos de um <em>site<\/em>.<\/p>\n<p>O usu\u00e1rio (cliente) ent\u00e3o faz uma requisi\u00e7\u00e3o <em>HTTP<\/em> para a camada <b><em>Controller<\/em><\/b> do sistema que, por sua vez, solicita os dados para a camada <b><em>Model<\/em><\/b>.<\/p>\n<p>Em seguida, a camada <b><em>Model<\/em><\/b> retorna os dados \u00e0 camada <b><em>Controller<\/em><\/b>, que os envia \u00e0 camada <b><em>View<\/em><\/b>.<\/p>\n<p>Por fim, a camada <b><em>View<\/em><\/b> envia a resposta para o usu\u00e1rio (cliente) em formato <em>HTML<\/em> e a mesma \u00e9 exibida na tela.<\/p>\n<h2>CakePHP<\/h2>\n<p>Em um projeto de <em>CakePHP<\/em>, o diret\u00f3rio <b>\/src<\/b> j\u00e1 vem com as camadas <b><em>Model<\/em><\/b>, <b><em>View<\/em><\/b> e <b><em>Controller<\/em><\/b>.<\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/danielamaksoud.com.br\/blog\/wp-content\/uploads\/2020\/04\/src-cake-php-project.png?ssl=1\"><figcaption>Diret\u00f3rio <b>\/src<\/b> de um projeto em <em>CakePHP<\/em> no <em>Sublime Text<\/em>.<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Diagrama do funcionamento do padr\u00e3o MVC. Defini\u00e7\u00e3o O padr\u00e3o MVC (Model-View-Controller) \u00e9 um padr\u00e3o de arquitetura de software que divide a aplica\u00e7\u00e3o nas seguintes 3 camadas: Model View Controller Fonte:&#8230;<\/p>\n<div class=\"post-bottom\"><a class=\"button\" href=\"https:\/\/danielamaksoud.com.br\/blog\/padrao-mvc-o-que-e\/\">Leia Mais<\/a><\/div>\n<div class=\"cf\"><\/div>\n","protected":false},"author":1,"featured_media":1882,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Padr\u00e3o MVC: O que \u00e9?","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[55],"tags":[56,61,57],"class_list":["post-1853","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento-web","tag-desenvolvimento-web","tag-mvc","tag-php"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/danielamaksoud.com.br\/blog\/wp-content\/uploads\/2020\/07\/desk-pink-donut.png?fit=3375%2C2250&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paVjRH-tT","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/1853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1853"}],"version-history":[{"count":29,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/1853\/revisions"}],"predecessor-version":[{"id":2043,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/1853\/revisions\/2043"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/media\/1882"}],"wp:attachment":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}