{"id":67793,"date":"2024-04-02T08:52:40","date_gmt":"2024-04-02T11:52:40","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=67793&#038;preview=true&#038;preview_id=67793"},"modified":"2024-04-05T04:47:19","modified_gmt":"2024-04-05T07:47:19","slug":"php-oop","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/","title":{"rendered":"Programa\u00e7\u00e3o Orientada a Objetos em PHP: Transformando o Desenvolvimento de WordPress"},"content":{"rendered":"<p>A programa\u00e7\u00e3o orientada a objetos (OOP), um importante paradigma em software, \u00e9 centrada em &#8220;objetos&#8221; \u2014 inst\u00e2ncias de classes que incluem dados e comportamentos em vez de &#8220;a\u00e7\u00f5es&#8221;.<\/p>\n<p>O <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-php\/\">PHP<\/a>, conhecido pela cria\u00e7\u00e3o de scripts no lado do servidor, se beneficia muito da OOP. Isso ocorre porque a OOP oferece suporte a c\u00f3digo modular e reutiliz\u00e1vel, facilitando a manuten\u00e7\u00e3o. Por sua vez, isso facilita a organiza\u00e7\u00e3o e o dimensionamento de grandes projetos.<\/p>\n<p>Dominar a OOP \u00e9 importante para <a href=\"https:\/\/kinsta.com\/pt\/blog\/tipos-de-desenvolvedores\/\">desenvolvedores<\/a> que trabalham com temas, plugins e solu\u00e7\u00f5es personalizadas do <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-wordpress\/\">WordPress<\/a>. Neste artigo, descreveremos o que \u00e9 OOP em PHP e o seu impacto no desenvolvimento de WordPress. Tamb\u00e9m mostraremos a voc\u00ea como implementar os princ\u00edpios da OOP em PHP.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Pr\u00e9-requisitos<\/h2>\n<p>Para acompanhar as partes pr\u00e1ticas deste artigo, certifique-se de ter:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.apachefriends.org\/download.html\" target=\"_blank\" rel=\"noopener noreferrer\">XAMPP<\/a> (ou similar) para Apache e MySQL<\/li>\n<li>Um ambiente PHP na <a href=\"https:\/\/www.php.net\/downloads\" target=\"_blank\" rel=\"noopener noreferrer\">vers\u00e3o 7.4 ou superior<\/a><\/li>\n<li>Um editor de c\u00f3digo, como o <a href=\"https:\/\/code.visualstudio.com\/Download\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio Code<\/a><\/li>\n<li>Uma instala\u00e7\u00e3o do WordPress <a href=\"https:\/\/kinsta.com\/pt\/blog\/construir-um-site-wordpress-offline\/#how-to-build-a-wordpress-site-offline-in-3-steps\">local<\/a> ou <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/como-comecar-wordpress\/novo-site\/\">hospedada na web<\/a><\/li>\n<li>Conhecimento de PHP e WordPress<\/li>\n<\/ul>\n<h2>Vantagens da OOP no desenvolvimento em PHP<\/h2>\n<p>A OOP impulsiona significativamente o desenvolvimento em <a href=\"https:\/\/kinsta.com\/php\/\">PHP<\/a>, melhorando a modularidade, a reutiliza\u00e7\u00e3o, a escalabilidade, a facilidade de manuten\u00e7\u00e3o e o trabalho em equipe. Organiza o c\u00f3digo PHP, dividindo-o em objetos, cada um representando uma parte espec\u00edfica do aplicativo. Usando objetos, voc\u00ea pode reutilizar facilmente o c\u00f3digo, economizando tempo e reduzindo erros.<\/p>\n<p>Com isso em mente, vamos nos aprofundar em duas vantagens espec\u00edficas da OOP no PHP, destacando como transforma o processo de desenvolvimento.<\/p>\n<h3>1. Reutiliza\u00e7\u00e3o e manuten\u00e7\u00e3o de c\u00f3digo<\/h3>\n<p>A OOP em PHP facilita a reutiliza\u00e7\u00e3o de c\u00f3digo devido \u00e0 heran\u00e7a e ao polimorfismo. As classes podem usar propriedades e m\u00e9todos de outras classes. Isso permite que voc\u00ea use c\u00f3digo antigo de novas maneiras com poucas altera\u00e7\u00f5es.<\/p>\n<p>A OOP tamb\u00e9m torna mais f\u00e1cil cuidar do c\u00f3digo. O encapsulamento significa que os objetos mant\u00eam seus detalhes privados e compartilham apenas o que \u00e9 necess\u00e1rio, usando m\u00e9todos especiais chamados <strong>getters<\/strong> e <strong>setters<\/strong>. Essa abordagem ajuda a evitar que altera\u00e7\u00f5es em uma parte do aplicativo causem problemas em outras, tornando o c\u00f3digo mais simples de atualizar e manter.<\/p>\n<p>Al\u00e9m disso, visto que os objetos s\u00e3o autossuficientes, torna-se mais simples identificar e corrigir falhas em partes espec\u00edficas do sistema. Essa caracter\u00edstica contribui para aprimorar a qualidade e a confiabilidade do c\u00f3digo como um todo.<\/p>\n<h3>2. Clareza e estrutura aprimoradas<\/h3>\n<p>A OOP torna o c\u00f3digo PHP mais limpo e organizado usando <strong>classes<\/strong> e <strong>objetos<\/strong>. As classes funcionam como templates <span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>para os objetos, agrupando em um \u00fanico lugar todos os elementos que est\u00e3o relacionados entre si.<\/span><\/p>\n<p>A OOP tamb\u00e9m permite que as classes usem recursos de outras classes, o que significa que voc\u00ea n\u00e3o precisa escrever o mesmo c\u00f3digo repetidas vezes. Tudo isso ajuda a tornar o c\u00f3digo mais limpo e f\u00e1cil de corrigir, e bem organizado.<\/p>\n<p>O c\u00f3digo limpo da OOP ajuda as equipes a trabalhar melhor em conjunto. \u00c9 mais f\u00e1cil para todos entenderem o que o c\u00f3digo faz, significando menos tempo explicando tudo e mais tempo fazendo o trabalho. Tamb\u00e9m reduz os erros, ajudando o projeto a permanecer nos trilhos. E quando o c\u00f3digo est\u00e1 arrumado e em ordem, os novos membros da equipe podem se inteirar dele rapidamente.<\/p>\n<h2>Implementando a OOP em PHP<\/h2>\n<p>Na OOP para PHP, voc\u00ea organiza o c\u00f3digo com classes e objetos, como plantas e casas. Voc\u00ea cria classes para tudo (como usu\u00e1rios ou livros), incluindo suas caracter\u00edsticas e a\u00e7\u00f5es. Em seguida, voc\u00ea usa a heran\u00e7a para criar novas classes a partir das existentes, economizando tempo ao n\u00e3o repetir o c\u00f3digo. E como o encapsulamento mant\u00e9m privadas algumas partes da classe, seu c\u00f3digo fica mais seguro.<\/p>\n<p>As se\u00e7\u00f5es a seguir v\u00e3o orientar voc\u00ea sobre como usar os princ\u00edpios de OOP de forma eficaz na programa\u00e7\u00e3o PHP. Criamos um <a href=\"https:\/\/kinsta.com\/pt\/blog\/sistema-de-gerenciamento-de-conteudo\/\">sistema de gerenciamento de conte\u00fado<\/a> (CMS) para gerenciar artigos.<\/p>\n<h3>1. Defina uma classe com propriedades e m\u00e9todos<\/h3>\n<p>Comece com uma classe <code>Article<\/code> que inclua propriedades como t\u00edtulo, conte\u00fado e status, al\u00e9m de m\u00e9todos para definir e exibir essas propriedades.<\/p>\n<pre><code class=\"language-php\">class Article {\n    private $title;\n    private $content;\n    private $status;\n\n    const STATUS_PUBLISHED = 'published';\n    const STATUS_DRAFT = 'draft';\n\n    public function __construct($title, $content) {\n        $this-&gt;title = $title;\n        $this-&gt;content = $content;\n        $this-&gt;status = self::STATUS_DRAFT;\n    }\n\n    public function setTitle($title) {\n        $this-&gt;title = $title;\n        return $this;\n    }\n\n    public function setContent($content) {\n        $this-&gt;content = $content;\n        return $this;\n    }\n\n    public function setStatus($status) {\n        $this-&gt;status = $status;\n        return $this;\n    }\n\n    public function display() {\n        echo \"&lt;h2&gt;{$this-&gt;title}&lt;\/h2&gt;&lt;p&gt;{$this-&gt;content}&lt;\/p&gt;&lt;strong&gt;Status: {$this-&gt;status}&lt;\/strong&gt;\";\n    }\n}<\/code><\/pre>\n<h3>2. Crie objetos e implemente o encadeamento de m\u00e9todos<\/h3>\n<p>Crie o objeto Article (Artigo) e use o <a href=\"https:\/\/programmingdive.com\/how-to-use-method-chaining-in-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">encadeamento de m\u00e9todos<\/a>\u00a0para definir suas propriedades:<\/p>\n<pre><code class=\"language-php\">$article = new Article(\"OOP in PHP\", \"Object-Oriented Programming concepts.\");\n$article-&gt;setTitle(\"Advanced OOP in PHP\")-&gt;setContent(\"Exploring advanced concepts in OOP.\")-&gt;setStatus(Article::STATUS_PUBLISHED)-&gt;display();<\/code><\/pre>\n<h3>3. Fortale\u00e7a o encapsulamento e a heran\u00e7a<\/h3>\n<p>Melhore o encapsulamento usando m\u00e9todos getter e setter e crie uma classe <code>FeaturedArticle<\/code> que herda de <code>Article<\/code>:<\/p>\n<pre><code class=\"language-php\">class FeaturedArticle extends Article {\n    private $highlightColor = '#FFFF00'; \/\/ Default highlight color\n\n    public function setHighlightColor($color) {\n        $this-&gt;highlightColor = $color;\n        return $this;\n    }\n\n    public function display() {\n        echo \"&lt;div&gt; style='background-color: {$this-&gt;highlightColor};'&gt;\";\n        parent::display();\n        echo \"&lt;\/div&gt;\";\n    }\n}\n\n$featuredArticle = new FeaturedArticle(\"Featured Article\", \"This is a featured article.\");\n$featuredArticle-&gt;setStatus(FeaturedArticle::STATUS_PUBLISHED)-&gt;setHighlightColor('#FFA07A')-&gt;display();<\/code><\/pre>\n<h3>4. Interfaces e polimorfismo<\/h3>\n<p>Defina uma interface para conte\u00fado public\u00e1vel e implemente-a na classe <code>Article<\/code> para demonstrar o polimorfismo:<\/p>\n<pre><code class=\"language-php\">interface Publishable {\n    public function publish();\n}\n\nclass Article implements Publishable {\n    \/\/ Existing class code...\n\n    public function publish() {\n        $this-&gt;setStatus(self::STATUS_PUBLISHED);\n        echo \"Article '{$this-&gt;title}' published.\";\n    }\n}\n\nfunction publishContent(Publishable $content) {\n    $content-&gt;publish();\n}\n\npublishContent($article);<\/code><\/pre>\n<h3>5. Utilize traits para comportamento compartilhado<\/h3>\n<p>O PHP permite que voc\u00ea use <span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>traits para adicionar fun\u00e7\u00f5es a classes sem a necessidade de herdar de <\/span><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>outra classe. <\/span><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>Utilizando<\/span> <span style=\"font-weight: var(--kmt-sys-typography-body-font-weight);background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9)\" data-darkreader-inline-bgcolor>o c\u00f3digo <\/span><span style=\"font-weight: var(--kmt-sys-typography-body-font-weight);background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9)\" data-darkreader-inline-bgcolor>abaixo, introduza um trait para registrar atividades dentro do CMS:<\/span><\/p>\n<pre><code class=\"language-php\">trait Logger {\n    public function log($message) {\n        \/\/ Log message to a file or database\n        echo \"Log: $message\";\n    }\n}\n\nclass Article {\n    use Logger;\n\n    \/\/ Existing class code...\n\n    public function publish() {\n        $this-&gt;setStatus(self::STATUS_PUBLISHED);\n        $this-&gt;log(\"Article '{$this-&gt;title}' published.\");\n    }\n}<\/code><\/pre>\n<h2>OOP no desenvolvimento em WordPress<\/h2>\n<p>Os princ\u00edpios da OOP aprimoram significativamente o <a href=\"https:\/\/kinsta.com\/pt\/topicos\/desenvolvimento-wordpress\/\">desenvolvimento em WordPress<\/a>, especialmente a cria\u00e7\u00e3o de temas, plugins e widgets. Com a ajuda da OOP, voc\u00ea pode escrever c\u00f3digos mais limpos, dimension\u00e1veis e de manuten\u00e7\u00e3o mais f\u00e1cil para os seus sites WordPress.<\/p>\n<p>Esta se\u00e7\u00e3o analisa como aplicar a OOP no desenvolvimento em WordPress. Forneceremos exemplos que voc\u00ea pode copiar e colar num teste de implanta\u00e7\u00e3o de WordPress.<\/p>\n<h3>A OOP em temas do WordPress: Registro de um tipo personalizado de artigo<\/h3>\n<p>Para demonstrar o uso da OOP em <a href=\"https:\/\/kinsta.com\/pt\/topicos\/temas-wordpress\/\">temas do WordPress<\/a>, crie\u00a0<span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>uma classe que lida com o registro de um tipo\u00a0<\/span><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>personalizado <\/span><span style=\"font-weight: var(--kmt-sys-typography-body-font-weight);background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9)\" data-darkreader-inline-bgcolor>de artigo<\/span><span style=\"font-weight: var(--kmt-sys-typography-body-font-weight);background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9)\" data-darkreader-inline-bgcolor>.<\/span><\/p>\n<p>Coloque o c\u00f3digo a seguir no arquivo <strong>functions.php<\/strong> do seu tema. Voc\u00ea pode encontrar seus temas no diret\u00f3rio <strong>wp-content\/themes<\/strong>.<\/p>\n<pre><code class=\"language-php\">class CustomPostTypeRegistrar {\n    private $postType;\n    private $args;\n\n    public function __construct($postType, $args = []) {\n        $this-&gt;postType = $postType;\n        $this-&gt;args = $args;\n        add_action('init', array($this, 'registerPostType'));\n    }\n\n    public function registerPostType() {\n        register_post_type($this-&gt;postType, $this-&gt;args);\n    }\n}\n\n\/\/ Usage\n$bookArgs = [\n    'public' =&gt; true,\n    'label'  =&gt; 'Books',\n    'supports' =&gt; ['title', 'editor', 'thumbnail'],\n    'has_archive' =&gt; true,\n];\nnew CustomPostTypeRegistrar('book', $bookArgs);<\/code><\/pre>\n<p>Esse c\u00f3digo registra dinamicamente um tipo\u00a0<span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>personalizado<\/span><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>\u00a0<\/span><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>de artigo <\/span><code style=\"font-weight: var(--kmt-sys-typography-body-font-weight)\">book<\/code><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor> com seus detalhes passados usando o array <\/span><code style=\"font-weight: var(--kmt-sys-typography-body-font-weight)\">bookArgs<\/code><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>. Voc\u00ea pode ver o tipo <\/span><span style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9);font-weight: var(--kmt-sys-typography-body-font-weight)\" data-darkreader-inline-bgcolor>personalizado<\/span> <span style=\"font-weight: var(--kmt-sys-typography-body-font-weight);background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9)\" data-darkreader-inline-bgcolor>de artigo rec\u00e9m-criado na barra lateral do painel do WordPress, em <\/span><strong style=\"background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9)\" data-darkreader-inline-bgcolor>Books<\/strong><span style=\"font-weight: var(--kmt-sys-typography-body-font-weight);background-color: var(--kmt-sys-color-background-neutral-medium, #f5ede9)\" data-darkreader-inline-bgcolor>.<\/span><\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/books-page.png\" alt=\"O elemento da barra lateral Books para tipos personalizados de artigos com a respectiva op\u00e7\u00e3o Add New Post.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">O elemento da barra lateral Books para tipos personalizados de artigos com a respectiva op\u00e7\u00e3o Add New Post.<\/figcaption><\/figure>\n<p>Esse exemplo ilustra como a OOP pode encapsular a funcionalidade de registro de tipos personalizados de artigo, tornando-a reutiliz\u00e1vel para diferentes tipos de artigos.<\/p>\n<h3>OOP em plugins do WordPress: manipulador de shortcode<\/h3>\n<p>Para um exemplo de plugin, desenvolva uma classe que manipula um <a href=\"https:\/\/kinsta.com\/pt\/blog\/codigo-curto-wordpress\/\">shortcode<\/a> para exibir uma mensagem especial. Voc\u00ea pode testar esse recurso adicionando o shortcode abaixo a qualquer artigo ou p\u00e1gina.<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/**\n* Plugin Name: OOP Shortcode Handler\n* Description: Handles a custom shortcode with OOP.\n* Version: 1.0\n* Author: Name\n*\/\n\nclass OOPShortcodeHandler {\n    public function __construct() {\n        add_shortcode('oop_message', array($this, 'displayCustomMessage'));\n    }\n\n    public function displayCustomMessage($atts) {\n        $attributes = shortcode_atts(['message' =&gt; 'Hello, this is your OOP     \nmessage!'], $atts);\n        return \"&lt;div&gt;{$attributes['message']}&lt;\/div&gt;\";\n    }\n}\n\nnew OOPShortcodeHandler();<\/code><\/pre>\n<p>Salve-o como <strong>my-oop-shortcode-handler.php<\/strong> no diret\u00f3rio <strong>wp-content\/plugins<\/strong>. Por fim, ative o plugin.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/plugins-page.png\" alt=\"O My OOP Shortcode Handler listado na p\u00e1gina Plugins.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">O My OOP Shortcode Handler listado na p\u00e1gina Plugins.<\/figcaption><\/figure>\n<p>Em seguida, no editor de p\u00e1gina ou de artigo, antes de publicar ou atualizar, use os shortcodes <code>[oop_message]<\/code> e <code>[oop_message message=\"Custom Message Here\"]<\/code>, como mostrado abaixo:<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/sample-page.png\" alt=\"A p\u00e1gina de amostra no modo de edi\u00e7\u00e3o com a mensagem personalizada do shortcode adicionada.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">A p\u00e1gina de amostra no modo de edi\u00e7\u00e3o com a mensagem personalizada do shortcode adicionada.<\/figcaption><\/figure>\n<p>Ap\u00f3s publicar ou atualizar a <strong>p\u00e1gina\/artigo<\/strong>, voc\u00ea ver\u00e1 a mensagem que os shortcodes exibidos denotam.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/display-sample-page.png\" alt=\"A p\u00e1gina de amostra publicada exibindo a mensagem personalizada do shortcode.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">A p\u00e1gina de amostra publicada exibindo a mensagem personalizada do shortcode.<\/figcaption><\/figure>\n<h3>OOP nos widgets do WordPress: widget de conte\u00fado din\u00e2mico<\/h3>\n<p>A OOP tamb\u00e9m \u00e9 \u00fatil para os widgets, pois encapsula sua funcionalidade em classes. O pr\u00f3prio n\u00facleo do WordPress usa OOP para widgets. Aqui, voc\u00ea cria um widget personalizado que permite aos usu\u00e1rios exibir conte\u00fado din\u00e2mico com um t\u00edtulo e uma \u00e1rea de texto.<\/p>\n<p>Adicione o c\u00f3digo a seguir ao arquivo <strong>functions.php<\/strong> do seu tema ou em um plugin. Isso define um widget personalizado que exibe a mensagem &#8220;Hello World From My Custom Widget!&#8221;<\/p>\n<pre><code class=\"language-php\">class My_Custom_Widget extends WP_Widget {\n\n    public function __construct() {\n        parent::__construct(\n            'my_custom_widget', \/\/ Base ID\n            'My Custom Widget', \/\/ Name\n            array('description' =&gt; __('A simple custom widget.', \n'text_domain'),) \/\/ Args\n        );\n    }\n\n    public function widget($args, $instance) {\n        echo $args['before_widget'];\n        if (!empty($instance['title'])) {\n            echo $args['before_title'] . apply_filters('widget_title',  \n$instance['title']) . $args['after_title'];\n        }\n        \/\/ Widget content\n        echo __('Hello World From My Custom Widget!', 'text_domain');\n        echo $args['after_widget'];\n    }\n\n    public function form($instance) {\n        \/\/ Form in WordPress admin\n    }\n\n    public function update($new_instance, $old_instance) {\n        \/\/ Processes widget options to be saved\n    }\n}\n\nfunction register_my_custom_widget() {\n    register_widget('My_Custom_Widget');\n}\nadd_action('widgets_init', 'register_my_custom_widget');<\/code><\/pre>\n<p>Ao editar o tema ativo usando o link <strong>Customize <\/strong>em <strong>Appearance <\/strong>no painel de controle, voc\u00ea pode adicionar um novo widget personalizado sempre que necess\u00e1rio.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/wp-site-landing-page.png\" alt=\"A configura\u00e7\u00e3o de widget personalizado na barra lateral e o uso do widget em uma p\u00e1gina de amostra.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">A configura\u00e7\u00e3o de widget personalizado na barra lateral e o uso do widget em uma p\u00e1gina de amostra.<\/figcaption><\/figure>\n<h2>Utiliza\u00e7\u00e3o de classes do WordPress<\/h2>\n<p>O WordPress oferece v\u00e1rias classes que voc\u00ea pode usar para interagir com a funcionalidade principal do CMS. Duas dessas classes s\u00e3o <code>WP_User<\/code> e <code>WP_Post<\/code>, que representam usu\u00e1rios e artigos, respectivamente.<\/p>\n<p>Estendendo o exemplo do <a href=\"https:\/\/kinsta.com\/pt\/topicos\/plugins-wordpress\/\">plugin WordPress<\/a> acima, incorpore essas classes para criar um shortcode que exiba informa\u00e7\u00f5es sobre o autor de um artigo e detalhes sobre o pr\u00f3prio artigo.<\/p>\n<p>Salve-o como <strong>my-oop-shortcode-handler-extended.php<\/strong> no diret\u00f3rio <strong>wp-content\/plugins<\/strong>. Por fim, ative o plugin.<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/**\n* Plugin Name: Extended OOP Shortcode Handler\n* Description: Extends the shortcode handler to display post and author \ninformation.\n* Version: 1.1\n* Author: Your Name\n*\/\n\nclass ExtendedOOPShortcodeHandler {\n    public function __construct() {\n        add_shortcode('post_author_details', array($this,   \n'displayPostAuthorDetails'));\n    }\n\n    public function displayPostAuthorDetails($atts) {\n        global $post; \/\/ Accessing the global $post object to get current post  \ndetails\n\n        $attributes = shortcode_atts([\n            'post_id' =&gt; $post-&gt;ID, \/\/ Default to the current post ID\n        ], $atts);\n\n        $postDetails = get_post($attributes['post_id']); \/\/ Getting the WP_Post  \nobject\n        if (!$postDetails) {\n            return \"Post not found.\";\n        }\n\n        $authorDetails = new WP_User($postDetails-&gt;post_author); \/\/ Getting the \nWP_User object\n\n        $output = \"&lt;div class='post-author-details'&gt;\";\n        $output .= \"&lt;h2&gt;Author Information&lt;\/h2&gt;\";\n        $output .= \"&lt;p&gt;Name: \" . esc_html($authorDetails-&gt;display_name) . \n\"&lt;\/p&gt;\";\n        $output .= \"&lt;h2&gt;Post Information&lt;\/h2&gt;\";\n        $output .= \"&lt;p&gt;Title: \" . esc_html($postDetails-&gt;post_title) . \"&lt;\/p&gt;\";\n        $output .= \"&lt;p&gt;Content: \" . \nesc_html(wp_trim_words($postDetails-&gt;post_content, 20, '...')) . \"&lt;\/p&gt;\";\n        $output .= \"&lt;\/div&gt;\";\n\n        return $output;\n    }\n}\n\nnew ExtendedOOPShortcodeHandler();<\/code><\/pre>\n<p>Nessa vers\u00e3o estendida, voc\u00ea criou um shortcode: <code>[post_author_details post_id=\"1\"]<\/code>.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/03\/shortcode-smaple-page.png\" alt=\"A p\u00e1gina de amostra no modo de edi\u00e7\u00e3o com a mensagem personalizada do shortcode.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">A p\u00e1gina de amostra no modo de edi\u00e7\u00e3o com a mensagem personalizada do shortcode.<\/figcaption><\/figure>\n<p>Quando adicionado a um artigo ou p\u00e1gina, ele exibe detalhes sobre o autor do artigo (usando a classe <code>WP_User<\/code>) e o pr\u00f3prio artigo (usando a classe <code>WP_Post<\/code>).<\/p>\n<h3>OOP e a API REST do WordPress<\/h3>\n<p>A <a href=\"https:\/\/kinsta.com\/pt\/blog\/wordpress-rest-api\/\">API REST do WordPress<\/a> \u00e9 uma adi\u00e7\u00e3o moderna ao WordPress que permite interagir com os dados do site de forma mais program\u00e1vel. Ela aproveita amplamente a OOP, utilizando classes para definir os endpoints, as respostas e o tratamento das solicita\u00e7\u00f5es. Isso representa uma clara transi\u00e7\u00e3o de suas ra\u00edzes procedurais tradicionais para a ado\u00e7\u00e3o da OOP.<\/p>\n<p>Em franco contraste com os princ\u00edpios da OOP, grande parte do n\u00facleo do WordPress, especialmente seus componentes anteriores, como a API de temas e plugins, \u00e9 escrita em um estilo de programa\u00e7\u00e3o procedural.<\/p>\n<p>Por exemplo, enquanto uma abordagem procedural pode manipular diretamente vari\u00e1veis globais e depender de uma sequ\u00eancia de fun\u00e7\u00f5es para tarefas, a OOP na API REST encapsula a l\u00f3gica em classes. Portanto, m\u00e9todos espec\u00edficos dentro dessas classes lidam com tarefas como buscar, criar, atualizar ou excluir artigos.<\/p>\n<p>Isso separa claramente as preocupa\u00e7\u00f5es e torna a base de c\u00f3digo mais f\u00e1cil de estender e depurar.<\/p>\n<p>Por meio de classes que definem endpoints e manipulam solicita\u00e7\u00f5es, como a busca de artigos com uma solicita\u00e7\u00e3o <code>GET \/wp-json\/wp\/v2\/posts<\/code>, a API REST oferece uma maneira estruturada e escal\u00e1vel de interagir com os dados do WordPress, retornando respostas formatadas em JSON.<\/p>\n<h2>Aproveitando a Kinsta para hospedagem PHP e WordPress<\/h2>\n<p>As <a href=\"https:\/\/kinsta.com\/pt\/\">solu\u00e7\u00f5es de hospedagem da Kinsta<\/a> ajudam a otimizar os aplicativos PHP e a gerenciar a hospedagem de WordPress, atendendo a configura\u00e7\u00f5es tradicionais de PHP e necessidades espec\u00edficas do WordPress. Com uma <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/como-comecar-wordpress\/infraestrutura-do-wordpress\/\">infraestrutura<\/a> robusta constru\u00edda sobre tecnologias de ponta como o Google Cloud, a Kinsta facilita desempenho e escalabilidade sem paralelos para aplicativos PHP baseados em OOP.<\/p>\n<p>Para sites WordPress, o servi\u00e7o especializado de <a href=\"https:\/\/kinsta.com\/pt\/hospedagem-wordpress\/\">hospedagem de sites WordPress<\/a> da Kinsta oferece recursos como atualiza\u00e7\u00f5es autom\u00e1ticas, monitoramento de seguran\u00e7a e suporte de especialistas. E garante um gerenciamento sem complica\u00e7\u00f5es e um desempenho superior, tornando ideal para desenvolvedores e empresas.<\/p>\n<h2>Resumo<\/h2>\n<p>Como voc\u00ea viu ao longo deste artigo, a OOP oferece flexibilidade, escalabilidade e facilidade de manuten\u00e7\u00e3o incompar\u00e1veis no desenvolvimento de PHP e WordPress.<\/p>\n<p>Como um dos principais provedores de hospedagem gerenciada de sites WordPress, a Kinsta reconhece essa necessidade e oferece solu\u00e7\u00f5es sob medida para apoiar desenvolvedores como voc\u00ea em seus esfor\u00e7os com PHP OOP. \u00c9 por isso que nossas solu\u00e7\u00f5es de Hospedagem de <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Aplicativos<\/a> e WordPress s\u00e3o projetadas para ajudar voc\u00ea a criar projetos WordPress de alto desempenho, escal\u00e1veis e baseados em OOP.<\/p>\n<p><a href=\"https:\/\/kinsta.com\/pt\/inscreva-se\/wp\/\">Experimente a Kinsta hoje<\/a> para ver como podemos ajudar voc\u00ea a criar sites WordPress de alto n\u00edvel!<\/p>\n<p><em>Voc\u00ea j\u00e1 experimentou os benef\u00edcios da OOP em seus projetos? Ou est\u00e1 curioso para saber como ela pode transformar seu processo de desenvolvimento? Compartilhe com um coment\u00e1rio abaixo.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A programa\u00e7\u00e3o orientada a objetos (OOP), um importante paradigma em software, \u00e9 centrada em &#8220;objetos&#8221; \u2014 inst\u00e2ncias de classes que incluem dados e comportamentos em vez &#8230;<\/p>\n","protected":false},"author":199,"featured_media":67794,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[998,1032,996,997,1033,1036],"class_list":["post-67793","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-atualizacoes-php","topic-desempenho-do-wordpress","topic-frameworks-php","topic-funcoes-php","topic-plugins-wordpress","topic-temas-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>OOP em PHP: transformando o desenvolvimento no WordPress - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Programa\u00e7\u00e3o Orientada a Objetos em PHP: Transformando o Desenvolvimento de WordPress\" \/>\n<meta property=\"og:description\" content=\"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-02T11:52:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-05T07:47:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Programa\u00e7\u00e3o Orientada a Objetos em PHP: Transformando o Desenvolvimento de WordPress\",\"datePublished\":\"2024-04-02T11:52:40+00:00\",\"dateModified\":\"2024-04-05T07:47:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/\"},\"wordCount\":1979,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/\",\"name\":\"OOP em PHP: transformando o desenvolvimento no WordPress - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg\",\"datePublished\":\"2024-04-02T11:52:40+00:00\",\"dateModified\":\"2024-04-05T07:47:19+00:00\",\"description\":\"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Atualiza\u00e7\u00f5es do PHP\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/atualizacoes-php\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Programa\u00e7\u00e3o Orientada a Objetos em PHP: Transformando o Desenvolvimento de WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OOP em PHP: transformando o desenvolvimento no WordPress - Kinsta\u00ae","description":"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.","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:\/\/kinsta.com\/pt\/blog\/php-oop\/","og_locale":"pt_PT","og_type":"article","og_title":"Programa\u00e7\u00e3o Orientada a Objetos em PHP: Transformando o Desenvolvimento de WordPress","og_description":"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.","og_url":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2024-04-02T11:52:40+00:00","article_modified_time":"2024-04-05T07:47:19+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tempo estimado de leitura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Programa\u00e7\u00e3o Orientada a Objetos em PHP: Transformando o Desenvolvimento de WordPress","datePublished":"2024-04-02T11:52:40+00:00","dateModified":"2024-04-05T07:47:19+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/"},"wordCount":1979,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/php-oop\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/","url":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/","name":"OOP em PHP: transformando o desenvolvimento no WordPress - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg","datePublished":"2024-04-02T11:52:40+00:00","dateModified":"2024-04-05T07:47:19+00:00","description":"Descubra como a programa\u00e7\u00e3o orientada a objetos em PHP revoluciona o desenvolvimento no WordPress. Domine as t\u00e9cnicas de OOP para aprimorar seus projetos.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/php-oop\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/03\/wp-oop-in-php.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/php-oop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Atualiza\u00e7\u00f5es do PHP","item":"https:\/\/kinsta.com\/pt\/topicos\/atualizacoes-php\/"},{"@type":"ListItem","position":3,"name":"Programa\u00e7\u00e3o Orientada a Objetos em PHP: Transformando o Desenvolvimento de WordPress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/pt\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/67793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=67793"}],"version-history":[{"count":8,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/67793\/revisions"}],"predecessor-version":[{"id":67874,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/67793\/revisions\/67874"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/translations\/es"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/67793\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/67794"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=67793"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=67793"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=67793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}