{"id":64,"date":"2012-07-14T13:28:44","date_gmt":"2012-07-14T16:28:44","guid":{"rendered":"http:\/\/www.ctasoftware.com.br\/blog\/?p=64"},"modified":"2012-07-18T17:24:16","modified_gmt":"2012-07-18T20:24:16","slug":"crud-em-php","status":"publish","type":"post","link":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/","title":{"rendered":"CRUD em PHP"},"content":{"rendered":"<p>As vezes nos perguntamos, &#8220;Porque utilizar o CRUD em PHP e como utilizar?&#8221;, nos deparamos com respostas as complexas demais ou muito simples.<\/p>\n<p>Mas porque n\u00e3o utilizar POO com PHP? Porque n\u00e3o utilizar um padr\u00e3o? Porque n\u00e3o seguir o manual php?<\/p>\n<p>At\u00e9 hoje n\u00e3o utilizei nenhum framework em PHP, zend, cake, etc&#8230; N\u00e3o, n\u00e3o sou conservador, se em algum momento necessitar realizar bom uso desses frameworks certamente irei utilizar. Hoje dou muito foco a utiliza\u00e7\u00e3o do manual PHP www.php.net e \u00e9 nele que nosso gerador de c\u00f3digo est\u00e1 sendo baseado.<\/p>\n<p>Seguindo alguns padr\u00f5es de projeto utilizamos o BE (ou VO) e o DAO, al\u00e9m disso utilizamos o Singleton, isso mesmo em PHP podemos utilizar o Singleton, para quem n\u00e3o conhece, sugiro que realize esse dever de casa.<\/p>\n<p>Como estamos utilizando o Business Entity ou Value Object em nosso projeto?<br \/>\n&#8211; Basicamente utilizamos para realizar o mapeamento de nosso banco de dados, teremos mapeado neles as nossas colunas e tabelas de nosso banco de dados, exemplo: nossa tabela usuario, seria o nosso UsuarioBE e nossos campos o que seria? Basicamente seriam nossos atributos e propriedades desses atributos. Exemplo:<\/p>\n<p>class UsuarioBE{<\/p>\n<p>private $idUsuario;<\/p>\n<p>private $nomeUsuario;<\/p>\n<p>&nbsp;<\/p>\n<p>public setIdUsuario($idUsuario){<\/p>\n<p>$this-&gt;idUsuario = $idUsuario;<\/p>\n<p>}<\/p>\n<p>public getIdUsuario(){<\/p>\n<p>return $this-&gt;idUsuario;<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>Nosso DAO, estariam os nossos CRUD\u00b4s b\u00e1sico, seriam Inserir, Excluir, Obter e ObterTodos, nesse caso acredito que n\u00e3o deva entrar em tantos detalhes, todos sabem o que representa isso, correto?<\/p>\n<p>A nossa pr\u00f3xima vers\u00e3o de nosso projeto teremos tamb\u00e9m o BO (Business Object), onde deveremos implementar todas as nossas regras de neg\u00f3cio, ou seja, nossa interface ir\u00e1 chamar sempre o nosso BO, hoje nossa interface est\u00e1 chamando direto nosso DAO, n\u00e3o \u00e9 correto, t\u00e3o pouco seguro ou leg\u00edvel.<\/p>\n<p>Vamos melhorando nosso projeto at\u00e9 termos todos os padr\u00f5es devidamente implementados.<\/p>\n<p>Quem quiser sugerir algo, basta entrar em contato e vamos melhorando nossa aplica\u00e7\u00e3o.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As vezes nos perguntamos, &#8220;Porque utilizar o CRUD em PHP e como utilizar?&#8221;, nos deparamos com respostas as complexas demais ou muito simples. Mas porque n\u00e3o utilizar POO com PHP? Porque n\u00e3o utilizar um padr\u00e3o? Porque n\u00e3o seguir o manual php? At\u00e9 hoje n\u00e3o utilizei nenhum framework em PHP, zend, cake, etc&#8230; N\u00e3o, n\u00e3o sou [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[6,7],"tags":[14,17,12,16,43,15],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CRUD em PHP - CTASoftware Blog<\/title>\n<meta name=\"description\" content=\"CTASoftware Blog CRUD em PHP\" \/>\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.ctasoftware.com.br\/blog\/crud-em-php\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CRUD em PHP - CTASoftware Blog\" \/>\n<meta property=\"og:description\" content=\"CTASoftware Blog CRUD em PHP\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/\" \/>\n<meta property=\"og:site_name\" content=\"CTASoftware Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-07-14T16:28:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-07-18T20:24:16+00:00\" \/>\n<meta name=\"author\" content=\"Everton Gon\u00e7alves\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Everton Gon\u00e7alves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/\"},\"author\":{\"name\":\"Everton Gon\u00e7alves\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4\"},\"headline\":\"CRUD em PHP\",\"datePublished\":\"2012-07-14T16:28:44+00:00\",\"dateModified\":\"2012-07-18T20:24:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/\"},\"wordCount\":337,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#organization\"},\"keywords\":[\"CRUD\",\"DAO\",\"Gerador de C\u00f3digo\",\"OO\",\"PHP\",\"POO\"],\"articleSection\":[\"MySQL\",\"PHP\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/\",\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/\",\"name\":\"CRUD em PHP - CTASoftware Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#website\"},\"datePublished\":\"2012-07-14T16:28:44+00:00\",\"dateModified\":\"2012-07-18T20:24:16+00:00\",\"description\":\"CTASoftware Blog CRUD em PHP\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.ctasoftware.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CRUD em PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#website\",\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/\",\"name\":\"CTASoftware Blog\",\"description\":\"Para Desenvolvedores De Software\",\"publisher\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ctasoftware.com.br\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#organization\",\"name\":\"CTASoftware\",\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1\",\"width\":225,\"height\":44,\"caption\":\"CTASoftware\"},\"image\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4\",\"name\":\"Everton Gon\u00e7alves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g\",\"caption\":\"Everton Gon\u00e7alves\"},\"description\":\"http:\/\/www.ctasoftware.com.br\",\"sameAs\":[\"http:\/\/www.ctasoftware.com.br\"],\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/author\/everton-goncalves\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CRUD em PHP - CTASoftware Blog","description":"CTASoftware Blog CRUD em PHP","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.ctasoftware.com.br\/blog\/crud-em-php\/","og_locale":"pt_BR","og_type":"article","og_title":"CRUD em PHP - CTASoftware Blog","og_description":"CTASoftware Blog CRUD em PHP","og_url":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/","og_site_name":"CTASoftware Blog","article_published_time":"2012-07-14T16:28:44+00:00","article_modified_time":"2012-07-18T20:24:16+00:00","author":"Everton Gon\u00e7alves","twitter_misc":{"Escrito por":"Everton Gon\u00e7alves","Est. tempo de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#article","isPartOf":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/"},"author":{"name":"Everton Gon\u00e7alves","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4"},"headline":"CRUD em PHP","datePublished":"2012-07-14T16:28:44+00:00","dateModified":"2012-07-18T20:24:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/"},"wordCount":337,"commentCount":0,"publisher":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#organization"},"keywords":["CRUD","DAO","Gerador de C\u00f3digo","OO","PHP","POO"],"articleSection":["MySQL","PHP"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/","url":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/","name":"CRUD em PHP - CTASoftware Blog","isPartOf":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#website"},"datePublished":"2012-07-14T16:28:44+00:00","dateModified":"2012-07-18T20:24:16+00:00","description":"CTASoftware Blog CRUD em PHP","breadcrumb":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ctasoftware.com.br\/blog\/crud-em-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.ctasoftware.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"CRUD em PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#website","url":"https:\/\/www.ctasoftware.com.br\/blog\/","name":"CTASoftware Blog","description":"Para Desenvolvedores De Software","publisher":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ctasoftware.com.br\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#organization","name":"CTASoftware","url":"https:\/\/www.ctasoftware.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1","width":225,"height":44,"caption":"CTASoftware"},"image":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4","name":"Everton Gon\u00e7alves","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g","caption":"Everton Gon\u00e7alves"},"description":"http:\/\/www.ctasoftware.com.br","sameAs":["http:\/\/www.ctasoftware.com.br"],"url":"https:\/\/www.ctasoftware.com.br\/blog\/author\/everton-goncalves\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6ACmG-12","jetpack-related-posts":[{"id":62,"url":"https:\/\/www.ctasoftware.com.br\/blog\/gerador-de-codigo-php-crud\/","url_meta":{"origin":64,"position":0},"title":"Gerador de C\u00f3digo PHP &#8211; CRUD","author":"Everton Gon\u00e7alves","date":"13 de julho de 2012","format":false,"excerpt":"Com a evolu\u00e7\u00e3o da linguagem, o CTASoftware decidiu lan\u00e7ar um produto que de alguma forma ajude no desenvolvimento PHP. Com o conceito de Orienta\u00e7\u00e3o a Objetos decidimos criar o gerador de c\u00f3digo CRUD. O que ele ir\u00e1 gerar? BE ou VO - Value Object DAO - Data Access Object Como\u2026","rel":"","context":"Em &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":70,"url":"https:\/\/www.ctasoftware.com.br\/blog\/evitar-sql-injection-usando-prepared-statements-no-php\/","url_meta":{"origin":64,"position":1},"title":"Evitar SQL Injection usando Prepared Statements no PHP","author":"Everton Gon\u00e7alves","date":"19 de julho de 2012","format":false,"excerpt":"Venho postando uma s\u00e9rie de informa\u00e7\u00f5es relacionados a PDO e esclarecimentos sobre o uso do Prepared Statements, consequentemente\u00a0reca\u00edmos\u00a0sobre a preven\u00e7\u00e3o de ataques de inje\u00e7\u00e3o SQL. Muitos s\u00e3o os programadores que n\u00e3o tomam qualquer preven\u00e7\u00e3o em suas aplica\u00e7\u00f5es ou sites para evitar ataques t\u00e3o usuais e f\u00e1ceis de se precaver, n\u00e3o\u2026","rel":"","context":"Em &quot;MySQL&quot;","block_context":{"text":"MySQL","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":109,"url":"https:\/\/www.ctasoftware.com.br\/blog\/gerador-de-codigo-php-versao-1-0-3-0\/","url_meta":{"origin":64,"position":2},"title":"Gerador de C\u00f3digo PHP Vers\u00e3o 1.0.3.0","author":"Everton Gon\u00e7alves","date":"17 de abril de 2014","format":false,"excerpt":"Prezados, Disponibilizado no link www.ctasoftware.com.br\/download\/gerador_php.msi a nova vers\u00e3o do gerador de c\u00f3digo php. Principais mudan\u00e7as: Valida\u00e7\u00e3o se valor \u00e9 nulo, antes da inser\u00e7\u00e3o na base de dados. Retornar o \u00faltimo ID inclu\u00eddo ap\u00f3s a inclus\u00e3o na base de dados. Corre\u00e7\u00e3o de BUG ao tratar com muitas tabelas. Obrigado.","rel":"","context":"Em &quot;MySQL&quot;","block_context":{"text":"MySQL","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":324,"url":"https:\/\/www.ctasoftware.com.br\/blog\/authorization-no-php\/","url_meta":{"origin":64,"position":3},"title":"Authorization no PHP","author":"Everton Gon\u00e7alves","date":"3 de junho de 2018","format":false,"excerpt":"O PHP por default n\u00e3o aceita Authorization enviado no header. Para utilizar se faz necess\u00e1rio alterar o .htaccess do apache. RewriteEngine On RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]","rel":"","context":"Em &quot;Sem categoria&quot;","block_context":{"text":"Sem categoria","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/sem-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":58,"url":"https:\/\/www.ctasoftware.com.br\/blog\/lendo-um-feed-rss-em-php\/","url_meta":{"origin":64,"position":4},"title":"Lendo um Feed RSS em PHP","author":"Everton Gon\u00e7alves","date":"27 de junho de 2012","format":false,"excerpt":"Surgiu uma necessidade de ler um feed de not\u00edcias em um site PHP. A princ\u00edpio achei que teria dificuldades em PHP para realizar essa funcionalidade, mas para a minha felicidade gra\u00e7as ao PHP 5 e o SimpleXML foi tudo muito mais simples que imaginava. < ?php $feed = file_get_contents('http:\/\/www.rootsbrasil.com.br\/rss.php'); $rss\u2026","rel":"","context":"Em &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":349,"url":"https:\/\/www.ctasoftware.com.br\/blog\/validar-e-mail-com-filter-no-php\/","url_meta":{"origin":64,"position":5},"title":"Validar E-mail com FILTER no PHP","author":"Everton Gon\u00e7alves","date":"3 de janeiro de 2019","format":false,"excerpt":"Existem in\u00fameras formas de validar e-mail no PHP e em diversas outras tecnologias. Para os programadores PHP existe a constante FILTER_VALIDATE_EMAIL utilizada para valida\u00e7\u00e3o de e-mails. Como sempre vamos direto ao uso. <?php $email = \"validacao-email@ctasoftware.com.br\"; \/\/ Remove os caracteres ilegais, caso tenha $email = filter_var($email, FILTER_SANITIZE_EMAIL); \/\/ Valida o\u2026","rel":"","context":"Em &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts\/64"}],"collection":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":3,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts\/64\/revisions"}],"predecessor-version":[{"id":66,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts\/64\/revisions\/66"}],"wp:attachment":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/media?parent=64"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/categories?post=64"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/tags?post=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}