{"id":110,"date":"2017-07-06T20:45:49","date_gmt":"2017-07-06T23:45:49","guid":{"rendered":"http:\/\/magenteiro.com\/blog\/?p=110"},"modified":"2022-10-06T02:14:56","modified_gmt":"2022-10-06T05:14:56","slug":"8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2","status":"publish","type":"post","link":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/","title":{"rendered":"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2"},"content":{"rendered":"\n<p>O Magento 2 est\u00e1 a\u00ed, e aqui no Brasil muita gente (e muita empresa) n\u00e3o est\u00e1 dando muita bola para ele. Os motivos s\u00e3o os mais diversos, e confesso que tamb\u00e9m demorei para come\u00e7ar a me render aos seus encantos.<\/p>\n\n\n\n<p>Enfim ele chegou. E n\u00e3o adianta mais fugir. Vale a pena migrar? Isso \u00e9 assunto pra <a href=\"https:\/\/www.magenteiro.com\/blog\/para-magenteiros\/novo-magenteiro\/\">outro post<\/a>.<br>Hoje vamos falar nas principais mudan\u00e7as e o que voc\u00ea precisa saber para sofrer menos com as mudan\u00e7as.<br>N\u00e3o adianta relutar e dar desculpas: o Magento 2 \u00e9 realmente intimidador a primeira vista, usa novas tecnologias, novos conceitos, mas tudo isso para se manter como a melhor plataforma de e-commerce pela pr\u00f3xima d\u00e9cada.<br>Para nossa sorte, muita coisa ainda \u00e9 muito familiar ao Magento 1.<\/p>\n\n\n\n<h2 id=\"h-1-separacao-de-modulos\">1. Separa\u00e7\u00e3o de M\u00f3dulos<\/h2>\n\n\n\n<p>Se voc\u00ea j\u00e1 desenvolve para Magento 1, sabe que os arquivos dos m\u00f3dulos ficam espalhados por tudo que \u00e9 canto. Tem arquivos de template aqui, JS ali, css acol\u00e1, e por a\u00ed vai. <\/p>\n\n\n\n<p>N\u00e3o mais no M2. Code pools (<code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">app\/code\/core<\/code>, <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">community<\/code>, <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">local<\/code>) tamb\u00e9m se foram. Tudo que for relacionado a um m\u00f3dulo, agora fica em uma \u00fanica pasta: <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">app\/code\/{vendor}\/{module}<\/code>.<\/p>\n\n\n\n<p>A estrutura de pasta de um m\u00f3dulo \u00e9 bem flex\u00edvel agora, embora ainda existam algumas conven\u00e7\u00f5es como Blocks, Controllers, Helpers, Models, etc. Aqui algumas exce\u00e7\u00f5es:<\/p>\n\n\n\n<ul><li>Configura\u00e7\u00f5es ainda est\u00e3o em <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">etc\/<\/code>.<\/li><li>Scripts de setup ficam em arquivos especiais dentro de <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Setup\/<\/code>.<\/li><li>Arquivos de template, layout XML, CSS, JS, etc. v\u00e3o dentro de suas respectivas pastas dentro de <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">view\/<\/code>.<\/li><\/ul>\n\n\n\n<h2 id=\"h-2-mage-descanse-em-paz\">2. Mage::Descanse em paz()<\/h2>\n\n\n\n<p>Esta \u00e9 provavelmente a mudan\u00e7a mais dif\u00edcil de ter sido implementada. Tudo que voc\u00ea estava acostumado(a) a acessar atrav\u00e9s da classe Mage foi dividido em bibliotecas separadas ou substitu\u00eddo.<\/p>\n\n\n\n<p><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Mage::registry<\/code>, por exemplo, agora \u00e9 <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">\\Magento\\Framework\\Registry<\/code>.<\/p>\n\n\n\n<p><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Mage::getModel<\/code> para carregar um objeto agora deve ser chamado via <a href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/dependency-injection-no-magento2\/\" data-type=\"post\" data-id=\"720\">dependency injection<\/a> (veja <a href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/dependency-injection-no-magento2\/\" data-type=\"post\" data-id=\"720\">como funciona<\/a>), o que for\u00e7a o desenvolvedor a ser mais expl\u00edcito e cuidadoso sobre o que quer carregar.<\/p>\n\n\n\n<p><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Mage::log<\/code> tamb\u00e9m foi substitu\u00eddo pelo <a href=\"https:\/\/stackify.com\/php-monolog-tutorial\/\" target=\"_blank\" rel=\"noreferrer noopener\">Monolog<\/a>, uma biblioteca bem conhecida para esses fins, e que tamb\u00e9m foi injetada em v\u00e1rios objetos. Veja a s\u00e9rie de <a href=\"https:\/\/www.magenteiro.com\/blog\/tag\/series-log-magento-2\/\">artigos sobre logs no Magento 2<\/a> que fiz.<br>Tudo que era <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Mage<\/code>, junto com seus primos <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Varien<\/code>, agora s\u00e3o encontrados em <code>lib\/internal\/Magento\/Framework<\/code> (ou <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">vendor\/magento\/framework<\/code>). Nosso querido <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Varien_Object<\/code> agora \u00e9 <code>\\Magento\\Framework\\Object<\/code>. Os <em>setters<\/em> e <em>getters<\/em> m\u00e1gicos ainda est\u00e3o l\u00e1, mesmo que as IDE\u2019s n\u00e3o gostem deles &#8211; \u00e9 melhor defini-los explicitamente.<\/p>\n\n\n\n<h2 id=\"h-3-injecao-de-dependencia-di\">3. Inje\u00e7\u00e3o de Depend\u00eancia (DI)<\/h2>\n\n\n\n<p>(Inje\u00e7\u00e3o de Depend\u00eancia?! S\u00e9rio que algu\u00e9m prefere assim?) <\/p>\n\n\n\n<p>A maior mudan\u00e7a na arquitetura foi justamente a implementa\u00e7\u00e3o de <a data-type=\"post\" data-id=\"720\" href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/dependency-injection-no-magento2\/\">Dependency Injection<\/a>. Voc\u00ea n\u00e3o consegue mais abrir um c\u00f3digo-fonte sem v\u00ea-lo. Isso \u00e9 ideal para testes unit\u00e1rios, separa\u00e7\u00e3o de m\u00f3dulos, customiza\u00e7\u00f5es, e gerenciamento de depend\u00eancias de uma forma que nunca foi poss\u00edvel antes. Falo muito disso no <a href=\"https:\/\/magenteiro.com\/magento2?utm_source=magenteiro&amp;utm_medium=blog&amp;utm_campaign=8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\">curso de desenvolvimento para Magento 2<\/a>.<\/p>\n\n\n\n<p>De forma resumida, voc\u00ea define os objetos que quer acessar como argumentos do construtor de cada classe e armazena dele como membro da classe pra usar depois. O Magento vai automaticamente gerar os objetos certos quando sua classe for criada, e \u201cinjetar\u201d eles no construtor pra voc\u00ea. Dependendo do tipo de classe, voc\u00ea pode querer definir os par\u00e2metros diretamente, ou talvez devesse criar uma interface (classe abstrata) ou um factory (para criar models, collections, etc.).<\/p>\n\n\n\n<h2 id=\"h-4-controllers\">4. Controllers<\/h2>\n\n\n\n<p>Os <em>controllers<\/em> agora s\u00e3o classes normais. S\u00e3o chamados \u2018auto-loaded\u2019, e podem ser estendidos como outra classe qualquer. N\u00e3o \u00e9 legal? <\/p>\n\n\n\n<p>Nada de \u2018IndexController\u2019, \u2018IndexAction\u2019, e outras dores de cabe\u00e7a com rewrites.<br>Al\u00e9m disso, voc\u00ea vai encontrar muito mais <em>controllers<\/em> do que antes. No Magento 1, voc\u00ea tinha um arquivo de <em>controller<\/em> contendo v\u00e1rias <em>actions<\/em>. Agora, aquele <em>controller<\/em> \u00e9 chamado de <em>path<\/em>, e \u00e9 uma pasta. Toda <em>action<\/em> tem seu pr\u00f3prio arquivo <em>controller<\/em>. e o Magento 2 chama o m\u00e9todo \u201cexecute()\u201d pra executar ele.<\/p>\n\n\n\n<p>Veja a <a href=\"https:\/\/www.magenteiro.com\/blog\/tag\/series-controller-m2\/\">s\u00e9rie sobre controllers no Magento 2<\/a> e entenda como funcionam. <a href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/controller-no-magento-2-como-criar\/\" data-type=\"post\" data-id=\"1329\">Comece por aqui<\/a>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\/vendor\/magento\/module-catalog\/Controller\/Category\/View.php\" data-enlighter-group=\"m1\">&lt;?php\nnamespace Magento\\Catalog\\Controller\\Category;\n\nclass View extends \\Magento\\Framework\\App\\Action\\Action\n{\n\n\/\/ ...\n\n    public function execute()\n    {\n        if ($this->_request->getParam(\\Magento\\Framework\\App\\ActionInterface::PARAM_NAME_URL_ENCODED)) {\n            return $this->resultRedirectFactory->create()->setUrl($this->_redirect->getRedirectUrl());\n        }\n        $category = $this->_initCategory();\n        if ($category) {\n\/\/ ...<\/pre>\n\n\n\n<h2 id=\"h-5-blocks\">5. Blocks<\/h2>\n\n\n\n<p>Esse parece besta, mas no Magento 1, os arquivos phtml eram executados dentro do escopo de suas classes (type). Ou seja, quando us\u00e1vamos o <code>$this<\/code>, nos referenci\u00e1vamos \u00e0 classe do block, e voc\u00ea podia usar o <code>$this<\/code> para chamar qualquer membro da classe, seja ele publico, privado ou protected. Agora n\u00e3o mais.<\/p>\n\n\n\n<p>Para acessar a classe do block a partir de um template no Magento 2, voc\u00ea precisar\u00e1 usar <code>$block<\/code>, e s\u00f3 poder\u00e1 acessar m\u00e9todos p\u00fablicos. Existem algumas outras mudan\u00e7as (e muitos novos padr\u00f5es para c\u00f3digos frontend), mas esse \u00e9 o que mais se destaca.<\/p>\n\n\n\n<h2 id=\"h-6-configuracao\">6. Configura\u00e7\u00e3o<\/h2>\n\n\n\n<p>No Magento 1, a configura\u00e7\u00e3o de um m\u00f3dulo era bem flex\u00edvel. Voc\u00ea tinha <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">etc\/config.xml<\/code>, e se estivesse de bom humor, talvez criaria o <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">adminhtml.xml<\/code>.<\/p>\n\n\n\n<p>No Magento 2, toda configura\u00e7\u00e3o de xml segue uma estrutura bem mais r\u00edgida e expl\u00edcita, definida nos arquivos .xsd. <\/p>\n\n\n\n<p>Seu m\u00f3dulo \u00e9 definido em <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">etc\/module.xml<\/code>. Eventos s\u00e3o definidos em <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">etc\/events.xml<\/code> (ou <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">etc\/{area}\/events.xml<\/code>). Isso tudo \u00e9 super bem explicado no <a href=\"https:\/\/www.magenteiro.com\/curso-magento-2?___store=default&amp;utm_source=magenteiro&amp;utm_medium=blog&amp;utm_campaign=8coisasDevPrecisaSaber\">Magento 2: O Curso<\/a>.<\/p>\n\n\n\n<p>Configura\u00e7\u00f5es s\u00e3o definidas em <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">etc\/adminhtml\/system.xml<\/code>, e as configura\u00e7\u00f5es padr\u00e3o (antes em ) s\u00e3o definidas em <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">etc\/config.xml<\/code>. <\/p>\n\n\n\n<p>Existem muitos outros tipos de objetos de configura\u00e7\u00e3o, e voc\u00ea pode adicionar outros se precisar.<\/p>\n\n\n\n<p>Seguindo a mesma linha, arquivos de layout XML tamb\u00e9m s\u00e3o estritos e a forma como s\u00e3o escritos e mesclados mudou bastante. <\/p>\n\n\n\n<p>Cada <em>handle<\/em> de layout possu\u00ed seu pr\u00f3prio arquivo, mas o conceito pelo menos \u00e9 o mesmo.<\/p>\n\n\n\n<p>A parte boa dos XSD\u2019s falaremos logo mais.<\/p>\n\n\n\n<h2 id=\"h-7-vai-ter-que-aprender-a-usar-o-terminal\">7. Vai ter que aprender a usar o terminal<\/h2>\n\n\n\n<p>O Magento 2 pegou pesado nas ferramentas de linha de comando, tanto para tarefas simples como outras mais pesadas. Agora \u00e9 poss\u00edvel instalar e gerenciar m\u00f3dulos com o Composer. <\/p>\n\n\n\n<p>Tamb\u00e9m existe o <strong>bin\/magento<\/strong>, que tem dezenas de funcionalidades como: gerenciar caches, \u00edndices, trocar configura\u00e7\u00f5es da loja, compilar arquivos est\u00e1ticos, limpar caches, e at\u00e9 mesmo instalar um magento do zero, incluindo (ou n\u00e3o) os arquivos de sample data (base de exemplo).<br><\/p>\n\n\n\n<p>Existem ainda v\u00e1rias outras ferramentas de linha de comando, e bibliotecas composer que incluem pacotes para testes unit\u00e1rios, de performance, e muitas outras utilidades.<br><\/p>\n\n\n\n<p>Veja tamb\u00e9m o <a rel=\"noopener noreferrer\" href=\"http:\/\/magerun.net\/\" target=\"_blank\">n98-magerun para M2<\/a>.<\/p>\n\n\n\n<h2 id=\"h-8-complexidade\">8. Complexidade<\/h2>\n\n\n\n<p>J\u00e1 faz tempo que me rendi aos encantos do PhpStorm (e porque n\u00e3o, do magicento), mas ainda tem muito dev (se n\u00e3o a maioria) que prefere um editor de texto como o Sublime Text, VSCode, ou alguma varia\u00e7\u00e3o de Notepad++. <\/p>\n\n\n\n<p>No entanto, o Magento 2 pode ser um labirinto, sendo f\u00e1cil se perder por l\u00e1. Novos padr\u00f5es de c\u00f3digo, <a href=\"https:\/\/www.magenteiro.com\/blog\/cm2-dia-1-dependency-injection\/\" data-type=\"page\" data-id=\"883\">dependency injection<\/a>, e o strict XML baseado nos <a href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/xsds-e-magento-2\/\" data-type=\"post\" data-id=\"371\">XSD\u2019s<\/a> tornam quase que obrigat\u00f3rios o uso de uma IDE.<\/p>\n\n\n\n<p>Se souber tirar proveito de uma IDE, ela te ajudar\u00e1 bastante no Magento 2, uma vez que voc\u00ea pode <a href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/xsds-e-magento-2\/\" data-type=\"post\" data-id=\"371\">configurar os XSD\u2019s do Magento<\/a> na sua IDE, assim como os padr\u00f5es de c\u00f3digo, para auto-gerar DocBlocks, validar PSR\u2019s, e rodar um php-cs-fixer toda vez que salvar um arquivo. Isso vale todo o tempo a mais que uma IDE pode tomar com seus reindexes.<\/p>\n\n\n\n<p>Espero que voc\u00ea tenha gostado dessas dicas. Se voc\u00ea est\u00e1 come\u00e7ando com Magento 2, ou quer aperfei\u00e7oar sua habilidade de desenvolvimento, considere se inscrever no <a href=\"https:\/\/www.magenteiro.com\/curso-magento-2?___store=default&amp;utm_source=magenteiro&amp;utm_medium=blog&amp;utm_campaign=8coisasDevPrecisaSaber\">Magento 2: O Curso<\/a>.<\/p>\n\n\n\n<p>Muita coisa tamb\u00e9m se encontra na <a href=\"https:\/\/devdocs.magento.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">documenta\u00e7\u00e3o oficial<\/a> e no <a href=\"https:\/\/magento.stackexchange.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Magento Stack Exchange<\/a>, al\u00e9m \u00e9 claro do <a href=\"https:\/\/www.facebook.com\/magenteiro\" target=\"_blank\" rel=\"noopener noreferrer\">nosso grupo no Facebook<\/a>.<\/p>\n\n\n\n<p>Este artigo foi baseado no <a href=\"https:\/\/www.paradoxlabs.com\/blog\/learning-magento-2-as-a-developer\/\" target=\"_blank\" rel=\"noopener noreferrer\">post da ParadoxLabs<\/a>, e traduzido parcialmente com autoriza\u00e7\u00e3o do autor.<\/p>\n","protected":false},"excerpt":{"rendered":"O Magento 2 est\u00e1 a\u00ed, e aqui no Brasil muita gente (e muita empresa) n\u00e3o est\u00e1 dando muita bola para [&hellip;]","protected":false},"author":1,"featured_media":128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[27,25],"tags":[28],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v19.0 (Yoast SEO v19.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>8 coisas que o desenvolvedor Magento deve saber sobre Magento 2<\/title>\n<meta name=\"description\" content=\"O Magento 2 est\u00e1 a\u00ed. Veja 8 coisas que mudam na vida de quem desenvolvia pra Magento 1.x e agora come\u00e7a a aprender Magento 2.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2\" \/>\n<meta property=\"og:description\" content=\"O Magento 2 est\u00e1 a\u00ed. Veja 8 coisas que mudam na vida de quem desenvolvia pra Magento 1.x e agora come\u00e7a a aprender Magento 2.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/magenteiro\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-06T23:45:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-06T05:14:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/07\/magento-2-2-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1788\" \/>\n\t<meta property=\"og:image:height\" content=\"332\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ricardo Martins\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@magenteiro\" \/>\n<meta name=\"twitter:site\" content=\"@magenteiro\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ricardo Martins\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\",\"name\":\"Magenteiro\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/magenteiro\",\"https:\/\/www.linkedin.com\/company\/magenteiro\",\"https:\/\/www.youtube.com\/magenteiro\",\"https:\/\/facebook.com\/magenteiro\",\"https:\/\/twitter.com\/magenteiro\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png\",\"contentUrl\":\"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png\",\"width\":787,\"height\":149,\"caption\":\"Magenteiro\"},\"image\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#website\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/\",\"name\":\"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1\",\"description\":\"Artigos t\u00e9cnicos, tutoriais e muitos v\u00eddeos e cursos sobre Magento. Aqui voc\u00ea encontra dicas para lojistas e desenvolvedores feitos por quem entende do assunto.\",\"publisher\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.magenteiro.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/\",\"url\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/\",\"name\":\"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2\",\"isPartOf\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#website\"},\"datePublished\":\"2017-07-06T23:45:49+00:00\",\"dateModified\":\"2022-10-06T05:14:56+00:00\",\"description\":\"O Magento 2 est\u00e1 a\u00ed. Veja 8 coisas que mudam na vida de quem desenvolvia pra Magento 1.x e agora come\u00e7a a aprender Magento 2.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.magenteiro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/\"},\"author\":{\"name\":\"Ricardo Martins\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150\"},\"headline\":\"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2\",\"datePublished\":\"2017-07-06T23:45:49+00:00\",\"dateModified\":\"2022-10-06T05:14:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/\"},\"wordCount\":1246,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#organization\"},\"keywords\":[\"dependency injection\"],\"articleSection\":[\"Desenvolvimento\",\"Magento 2\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150\",\"name\":\"Ricardo Martins\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g\",\"caption\":\"Ricardo Martins\"},\"description\":\"\u00c9 desenvolvedor web h\u00e1 16 anos e um dos primeiros certificados pela Magento no Brasil. Instrutor de mais de 11 cursos Magento (os principais no magenteiro.com\/cursos) com mais de 14 mil alunos de 105 pa\u00edses, \u00e9 tamb\u00e9m criador do m\u00f3dulo PagSeguro Transparente, usado em mais de 12 mil lojas.\",\"sameAs\":[\"https:\/\/www.magenteiro.com\/\"],\"url\":\"https:\/\/www.magenteiro.com\/blog\/author\/ricardomartins\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2","description":"O Magento 2 est\u00e1 a\u00ed. Veja 8 coisas que mudam na vida de quem desenvolvia pra Magento 1.x e agora come\u00e7a a aprender Magento 2.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/","og_locale":"pt_BR","og_type":"article","og_title":"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2","og_description":"O Magento 2 est\u00e1 a\u00ed. Veja 8 coisas que mudam na vida de quem desenvolvia pra Magento 1.x e agora come\u00e7a a aprender Magento 2.","og_url":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/","og_site_name":"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1","article_publisher":"https:\/\/facebook.com\/magenteiro","article_published_time":"2017-07-06T23:45:49+00:00","article_modified_time":"2022-10-06T05:14:56+00:00","og_image":[{"width":1788,"height":332,"url":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/07\/magento-2-2-1.jpg","type":"image\/jpeg"}],"author":"Ricardo Martins","twitter_card":"summary_large_image","twitter_creator":"@magenteiro","twitter_site":"@magenteiro","twitter_misc":{"Written by":"Ricardo Martins","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.magenteiro.com\/blog\/#organization","name":"Magenteiro","url":"https:\/\/www.magenteiro.com\/blog\/","sameAs":["https:\/\/www.instagram.com\/magenteiro","https:\/\/www.linkedin.com\/company\/magenteiro","https:\/\/www.youtube.com\/magenteiro","https:\/\/facebook.com\/magenteiro","https:\/\/twitter.com\/magenteiro"],"logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png","contentUrl":"https:\/\/www.magenteiro.com\/blog\/wp-content\/uploads\/2017\/04\/logo-white.png","width":787,"height":149,"caption":"Magenteiro"},"image":{"@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/www.magenteiro.com\/blog\/#website","url":"https:\/\/www.magenteiro.com\/blog\/","name":"Magenteiro | V\u00eddeos, Artigos, e Cursos Magento 2 e Magento 1","description":"Artigos t\u00e9cnicos, tutoriais e muitos v\u00eddeos e cursos sobre Magento. Aqui voc\u00ea encontra dicas para lojistas e desenvolvedores feitos por quem entende do assunto.","publisher":{"@id":"https:\/\/www.magenteiro.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.magenteiro.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/","url":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/","name":"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2","isPartOf":{"@id":"https:\/\/www.magenteiro.com\/blog\/#website"},"datePublished":"2017-07-06T23:45:49+00:00","dateModified":"2022-10-06T05:14:56+00:00","description":"O Magento 2 est\u00e1 a\u00ed. Veja 8 coisas que mudam na vida de quem desenvolvia pra Magento 1.x e agora come\u00e7a a aprender Magento 2.","breadcrumb":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.magenteiro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2"}]},{"@type":"Article","@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#article","isPartOf":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/"},"author":{"name":"Ricardo Martins","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150"},"headline":"8 coisas que o desenvolvedor Magento deve saber sobre Magento 2","datePublished":"2017-07-06T23:45:49+00:00","dateModified":"2022-10-06T05:14:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/"},"wordCount":1246,"commentCount":7,"publisher":{"@id":"https:\/\/www.magenteiro.com\/blog\/#organization"},"keywords":["dependency injection"],"articleSection":["Desenvolvimento","Magento 2"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.magenteiro.com\/blog\/magento-2\/8-coisas-que-o-desenvolvedor-magento-deve-saber-sobre-magento-2\/#respond"]}]},{"@type":"Person","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/e90c4bb268e5f2dad10d7c9760d4f150","name":"Ricardo Martins","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.magenteiro.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae5800c87c4e0f6a4a6b7a3d66aae138?s=96&d=mm&r=g","caption":"Ricardo Martins"},"description":"\u00c9 desenvolvedor web h\u00e1 16 anos e um dos primeiros certificados pela Magento no Brasil. Instrutor de mais de 11 cursos Magento (os principais no magenteiro.com\/cursos) com mais de 14 mil alunos de 105 pa\u00edses, \u00e9 tamb\u00e9m criador do m\u00f3dulo PagSeguro Transparente, usado em mais de 12 mil lojas.","sameAs":["https:\/\/www.magenteiro.com\/"],"url":"https:\/\/www.magenteiro.com\/blog\/author\/ricardomartins\/"}]}},"_links":{"self":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/110"}],"collection":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/comments?post=110"}],"version-history":[{"count":3,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/110\/revisions"}],"predecessor-version":[{"id":3894,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/posts\/110\/revisions\/3894"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/media\/128"}],"wp:attachment":[{"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/media?parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/categories?post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.magenteiro.com\/blog\/wp-json\/wp\/v2\/tags?post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}