blob: f5c99664cb9c929aee83c638237b79ce878c4403 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-->
<html>
<head>
<title>NetBeans IDE para o Editor do PHP</title>
<meta name="KEYWORDS" content="NETBEANS, PHP, editor">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="DESCRIPTION" content="NetBeans, PHP editor" >
<link rel="stylesheet" type="text/css" href="../../../netbeans.css" media="screen"></head>
<body>
<h1>NetBeans IDE para o Editor do PHP: Breve Visão Geral</h1>
<p>Este documento é uma breve visão geral das principais funcionalidades do NetBeans IDE para o Editor do PHP.</p>
<p><strong>Conteúdo</strong></p><img alt="O conteúdo desta página se aplica ao NetBeans IDE 7.2" class="stamp" src="../../../images_www/articles/72/netbeans-stamp-72-73.png" title="O conteúdo desta página se aplica ao NetBeans IDE 7.2">
<ul>
<li><a href="#gettingReady">Preparando-se</a></li>
<li><a href="#editorLayout">Layout do NetBeans IDE para o Editor do PHP</a></li>
<li><a href="#SyntaxHighlighting">Realce de Sintaxe</a></li>
<li><a href="#goToDeclaration">Ir para Declaração</a></li>
<li><a href="#Navigator">Navegador</a></li>
<li><a href="#CodeFolding">Dobramento de Código</a></li>
<li><a href="#SmartIndent">Recuo Inteligente</a></li>
<li><a href="#Formatting">Formatação</a></li>
<li><a href="#BracketCompletion">Fechamento de Colchete</a></li>
<li><a href="#instant-rename">Refatoração de Renomeação e Renomeação Instantânea</a></li>
<li><a href="#CodeCompletion">Autocompletar Código</a>
<ul>
<li><a href="#snippets">Snippets</a></li>
<li><a href="#contextSensitiveProposals">Propostas Contextuais</a></li>
<li><a href="#abbreviations">Modelos de Código e Abreviações</a></li>
<li><a href="#cc-constructors">Auto-Completar Código em Construtores</a></li>
<li><a href="#cc-sql">Auto-Completar Código SQL</a></li>
<li><a href="#cc-namespaces">Namespaces PHP 5.3</a></li>
<li><a href="#cc-overridden-methods">Métodos Substituídos e Implementados</a></li>
<li><a href="#clever-catch-cc">Autocompletar Código Inteligente Tentativa/Captura</a></li>
</ul>
</li>
<li><a href="#php54">Suporte a PHP 5.4</a></li>
<li><a href="#rectangular">Seleção Retangular</a></li>
<li><a href="#phpdoc">Suporte a ApiGen</a></li>
<li><a href="#code-generators">Geradores de Código</a>
<ul>
<li><a href="#generate-constructors">Construtores</a></li>
<li><a href="#generate-getters-setters">Getters e Setters</a></li>
<li><a href="#generate-overriden-methods">Métodos Substituídos e Implementados</a></li>
</ul></li>
<li><a href="#vartyp-cmnt">Definindo o Tipo de Variável em Comentários</a></li>
<li><a href="#ParameterHints">Dicas de Parâmetro</a></li>
<li><a href="#errorMessages">Mensagens de Erro</a></li>
<li><a href="#phpunit">Testes PHPUnit e Selenium</a></li>
<li><a href="#spellchecker">Corretor Ortográfico</a></li>
<li><a href="#symfony">Suporte a Symfony, Symfony2 e Zend Framework</a></li>
<li><a href="#smarty">Suporte ao Smarty</a></li>
<li><a href="#doctrine2">Suporte a Doctrine2</a></li>
</ul>
<p><b>Para seguir este tutorial, são necessários os recursos e o software a seguir.</b></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">Software ou Recurso</th>
<th class="tblheader" scope="col">Versão Necessária</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html" target="_blank">NetBeans IDE</a></td>
<td class="tbltd1">Pacote de download do PHP</td>
</tr>
<tr>
<td class="tbltd1">Um mecanismo PHP</td>
<td class="tbltd1">Versão 5
</tr>
<tr>
<td class="tbltd1">Um servidor web</td>
<td>É recomendado o <a href="http://httpd.apache.org/download.cgi" target="_blank">Apache HTTP Server 2.2</a>.<br></td>
</tr>
<tr>
<td class="tbltd1">Um depurador PHP</td>
<td><a href="http://www.xdebug.org" target="_blank">XDebug 2.0 ou superior</a></td>
</tr>
</tbody>
</table>
<h2><a name="gettingReady"></a>Preparando-se</h2>
<p>Para desenvolver e fazer implantação de aplicações PHP no NetBeans IDE para PHP com êxito, você precisa ter todos os <a href="../../trails/php.html#configuration">softwares necessários instalados e configurados para desenvolvimento de PHP</a>. </p>
<h2><a name="editorLayout"></a>Layout do NetBeans IDE para o Editor do PHP</h2>
<p>O editor contém as seguintes janelas:</p>
<ul>
<li>A janela Editor mostra o arquivo que você está editando. O Editor tem uma guia para cada arquivo aberto.</li>
<li>A janela Projetos mostra uma lista dos projetos existentes no momento</li>
<li>A janela Arquivos mostra os arquivos de cada projeto</li>
<li>A janela Serviços mostra listas de serviços externos disponíveis no momento, como bancos de dados.</li>
</ul>
<p>Você também pode abrir uma janela Navegador no painel esquerdo pressionando Ctrl + 7. O Navegador mostra a estrutura de uma classe PHP se ela estiver aberta no Editor. Os arquivos que não são de classe PHP não são mostrados na janela Navegador.</p>
<p>Para abrir a ajuda para uma dessas janelas, selecione qualquer elemento na janela e pressione F1.</p>
<h2><a name="SyntaxHighlighting"></a>Realce de Sintaxe </h2>
<p>O editor fornece realce de sintaxe para blocos de código PHP, HTML, JavaScript e CSS. </p>
<p>Os seguintes elementos de sintaxe são realçados na versão atual:</p>
<ul>
<li>Palavras-chave e variáveis PHP<br><img alt="Palavras-chave PHP realçadas" class="margin-around b-all" height="86" src="../../../images_www/articles/72/php/editorguide/keywords.png" width="402"></li>
<li>Constantes e "constantes mágicas"<br><img alt="constante mágica" class="margin-around b-all" height="20" src="../../../images_www/articles/72/php/editorguide/magic-constant.png" width="341"></li>
<li>Tags HTML, incluindo entrada de atributos<br><img alt="Realce de HTML no arquivo PHP" class="margin-around b-all" height="85" src="../../../images_www/articles/72/php/editorguide/html.png" width="574"></li>
<li>Servidor web Apache <code>.htaccess</code> ou arquivos <code>httpd.conf</code> <br><img alt="Conteúdo do arquivo httpd.conf realçado" class="margin-around b-bottom b-right" height="182" src="../../../images_www/articles/72/php/editorguide/improvements-in-coloring-1.png" width="537"></li>
<li>Números PHP</li>
<li>Tags HTML nos blocos de comentários PHPDoc<br><img alt="Números PHP realçados e tags HTML no bloco PHPDoc" class="margin-around b-right b-bottom" height="238" src="../../../images_www/articles/72/php/editorguide/improvements-in-coloring-2.png" width="319"></li>
<li>A linha atual é exibida com um segundo plano azul claro.<br><img alt="Linha atual com realce azul" class="margin-around b-all" height="89" src="../../../images_www/articles/72/php/editorguide/highlight-selected-line.png" width="409"></li>
<li>Quando você colocar o cursor dentro de uma variável PHP, uma função ou uma classe, todas as ocorrências da variável serão realçadas. <img alt="Variável selecionada" class="margin-around b-all" height="189" src="../../../images_www/articles/72/php/editorguide/select-variable.png" width="360"></li>
<li>As linhas onde foram detectados erros são sublinhadas em vermelho.<br><img alt="Erro realçado" class="margin-around b-all" height="54" src="../../../images_www/articles/72/php/editorguide/error.png" width="365"> </li>
</ul>
<br>
<p>Para alterar as definições de realce, selecione <tt>Ferramentas > Opções</tt> e alterne para a guia Fontes e Cores. Especifique as definições que desejar.</p>
<h2><a name="goToDeclaration"></a>Ir Para Declaração</h2>
Com a função Ir Para Declaração, o usuário navega de uma ocorrência de uma variável ou função para a linha em que a variável ou função é declarada ou inicializada. Para usar essa funcionalidade, posicione o cursor na ocorrência de variável ou função relevante e selecione Navegar > Ir para Declaração no menu de contexto, pressione Ctrl-B/⌘-B ou use Ctrl-clique.
<h2><a name="Navigator"></a>Janela Navegador</h2>
<p>A janela Navegador exibe as estruturas do código como elementos de uma lista que mostra as estruturas PHP do arquivo ativo no momento. Se o arquivo contiver quaisquer outras fontes de texto (por exemplo, HTML), a lista também exibirá suas estruturas. Quando você clica duas vezes em uma função ou variável na lista, o cursor aponta para a declaração do elemento clicado. </p>
<p class="alert"><b>Cuidado:</b> a janela Navegador mostra somente o código PHP para as classes PHP. Ela não pode mostrar código PHP fora de uma classe.</p>
<p>A lista Navegador normalmente não contém nenhuma lista incorporada, mas para instruções complexas ela pode conter estruturas incorporadas. Por exemplo, uma instrução de declaração de classe PHP pode ser apresentada como uma árvore de membros de classe declarada. </p>
<p>A lista é atualizada dinamicamente enquanto o usuário digita o código. </p>
<p>A janela Navegador é mostrada na parte inferior do painel esquerdo.</p>
<ol>
<li>Para abrir a janela Navegador, pressione Ctrl + 7 ou vá para Janela > Navegando > Navegador. A árvore que exibe a hierarquia das estruturas HTML e PHP será exibida.</li>
<li>Para mover para o elemento desejado, clique duas vezes no nó relevante na lista. <br> <img alt="Usando a janela Navegador para selecionar função" class="margin-around b-top b-right b-bottom" height="145" src="../../../images_www/articles/72/php/editorguide/using-navigator-window.png" width="536"></li>
</ol>
<h2><a name="CodeFolding"></a>Dobramento de Código</h2>
<p>O editor permite que o usuário oculte e exiba de forma seletiva módulos, classes ou funções do arquivo editado atualmente com o código-fonte PHP. Para recolher ou exibir uma parte de código, clique no ícone - ou + à esquerda do código ou pressione Ctrl+ ou Ctrl-. </p><img alt="Dobramento de código a partir do NB 7.2" class="margin-around" height="378" src="../../../images_www/articles/72/php/editorguide/improved-code-folding-1.png" width="536">
<h2><a name="SmartIndent"></a>Recuo Inteligente</h2>
<p>O editor formata automaticamente o código enquanto o usuário está digitando. </p>
<h2><a name="Formatting"></a>Formatando</h2>
<p>Para formatar uma parte de código para que fique mais compreensível, realize as seguintes etapas:</p>
<ol>
<li>Selecione a passagem de código relevante.</li>
<li>No menu de contexto exibido ao clicar com o botão direito do mouse, selecione Formatar ou pressione Alt + Shift + F</li>
</ol>
<h2><a name="BracketCompletion"></a>Fechamento de Colchetes</h2>
<p>O editor adiciona e remove automaticamente aspas e colchetes correspondentes enquanto o usuário digita o código. </p>
<ul>
<li>Pares de aspas simples ' ' e aspas duplas "" "", parênteses () e colchetes [] são adicionados quando o usuário tiver digitado o primeiro símbolo.</li>
<li>No final de uma linha, é adicionado um ponto e vírgula, além das aspas simples ou duplas de fechamento.</li>
<li>A chave de fechamento é adicionada depois que o usuário pressiona Enter, o que também ativa a função Recuo Inteligente.</li>
<li>A deleção das aspas simples ou duplas, do parêntese ou do colchete de abertura causa a remoção automática do símbolo de fechamento correspondente, mas não afeta o ponto e vírgula de fim de linha.
<li>Quando o cursor aponta para um parêntese de encerramento ), uma chave de encerramento } ou um colchete de encerramento ], o símbolo de abertura correspondente é realçado em amarelo. <br> <img alt="Realce de colchete" class="margin-around b-all" height="259" src="../../../images_www/articles/72/php/editorguide/bracket-highlighting.png" width="367"></li>
</ul>
<h2><a name="instant-rename"></a>Refatoração de Renomeação e Renomeação Instantânea</h2>
<p>Você pode renomear um elemento, como um nome de classe, em todos os arquivos de um projeto. A funcionalidade força você a exibir suas alterações antes de poder fazê-las. A janela de visualização mostra cada localização do elemento e permite deletar ocorrências individuais do elemento sendo renomeado.</p>
<p>A Refatoração de Renomeação é comparada com a funcionalidade mais antiga, Renomeação Instantânea. A Renomeação Instantânea ainda está disponível, mas só funciona em contextos "não públicos", como renomear uma variável dentro de um método ou renomear variáveis e pastas privadas. A Renomeação Instantânea permite apenas renomear um elemento dentro de um arquivo e não fornece uma janela de visualização.</p>
<p>Para utilizar Renomeação Instantânea, coloque o cursor em um nome que deseja alterar e pressione Ctrl-R. Se Renomeação Instantânea for aplicada a essa variável, todas as instâncias da variável ou nome da função serão realçadas.</p>
<img alt="Editor de código PHP depois que Ctrl-R é pressionado" height="361" src="../../../images_www/articles/72/php/editorguide/refactor-ctrlr.png" width="551">
<p> Altere uma instância do nome e todas as outras instâncias do arquivo serão alteradas simultaneamente</p>
<img alt="Editor de código PHP que mostra um nome de variável refatorado" height="359" src="../../../images_www/articles/72/php/editorguide/refactor-afterchange.png" width="551">
<p>Para usar Refatoração de Renomeação, selecione o elemento que deseja renomear e pressione Ctrl+R, ou clique com o botão direito do mouse e selecione Refatorar > Renomear. Uma caixa de diálogo será aberta para que você renomeie o elemento.</p>
<img alt="Caixa de diálogo para renomeação de uma variável" class="margin-around" src="../../../images_www/articles/72/php/editorguide/rename-confirm.png">
<p>Renomeie o elemento e pressione Visualizar. A janela Refatoração será aberta. Nessa janela, você pode encontrar cada instância do elemento em seu projeto e pode decidir renomeá-lo ou não.</p>
<img alt="Janela Refatoração" class="margin-around" src="../../../images_www/articles/72/php/editorguide/refactoring.png">
<p>Para obter mais informações sobre Refatoração de Renomeação, consulte o screencast <a href="../../docs/php/screencast-rename-refactoring_pt_BR.html">Renomear Refatoração e Outros Aprimoramentos do Editor no NetBeans IDE 7.0 para PHP</a>.</p>
<h2><a name="CodeCompletion"></a>Autocompletar Código</h2>
<p>Autocompletar código é um nome comum para um conjunto de funcionalidades que aceleram o processo de codificação.</p>
<p>Os seguintes tipos de funcionalidade autocompletar código estão disponíveis: </p>
<ul>
<li><a href="#snippets">Snippets</a></li>
<li><a href="#contextSensitiveProposals">Propostas contextuais</a></li>
<li><a href="#abbreviations">Abreviações</a></li>
<li><a href="#cc-constructors">Auto-Completar Código em Construtores</a></li>
<li><a href="#cc-sql">Auto-Completar Código SQL</a></li>
<li><a href="#cc-namespaces">Namespaces PHP 5.3</a></li>
<li><a href="#cc-overridden-methods">Métodos Substituídos e Implementados</a></li>
</ul>
<div class="indent"><h3><a name="snippets"></a>Snippets </h3>
<p>Os snippets permitem que o usuário gere código para vários elementos automaticamente.</p>
<ol>
<li>Selecione Ferramentas > Paleta > Fragmentos de Código. Uma paleta que contém vários elementos de interface do usuário será exibida no painel direito.</li>
<li>Arraste o ícone necessário na paleta para a posição relevante no código. Uma caixa de diálogo para especificar os parâmetros dos elementos correspondentes será exibida. Preencha os dados.</li>
<li>O código que exibe o elemento escolhido será gerado e inserido no local escolhido.</li>
</ol>
<h3><a name="contextSensitiveProposals"></a>Propostas Contextuais </h3>
<p>O editor fornece propostas contextuais para completar qualquer número de símbolos iniciais de: </p>
<ul>
<li>Uma palavra-chave de PHP (por exemplo, if, else, elseif, while, switch, function e assim por diante) </li>
<li>Uma função incorporada de PHP (por exemplo, substr, count, e assim por diante)</li>
<li>Uma variável predefinida ou definida pelo usuário</li>
</ul>
<p>O editor não só sugere expansões, mas também fornece <a href="#ParameterHints">dicas de parâmetros</a>. Para aplicar Autocompletar Código: </p>
<ol>
<li>Digite os símbolos iniciais da string de caracteres necessária. </li>
<li>Pressione CTRL + Espaço. Uma lista drop-down mostra as propostas contextuais. Cada proposta é fornecida com uma descrição e dicas de parâmetros. O conteúdo da lista é alterado à medida que você continua digitando. <br><img alt="Autocompletar código da função" class="margin-around b-all" height="503" src="../../../images_www/articles/72/php/editorguide/function-cc.png" width="523"></li>
<li>Para obter uma lista das palavras-chave de PHP disponíveis no contexto atual, pressione CTRL + Espaço sem nenhuma digitação anterior.
</li>
<li>Para obter uma dica sobre uma variável, basta digitar o símbolo "$". Uma lista de todas as variáveis locais e globais disponíveis atualmente será exibida. <br> <img alt="Autocompletar código de variável" class="margin-around b-all" height="476" src="../../../images_www/articles/72/php/editorguide/variable-cc.png" width="437"></li>
</ol>
<h3><a name="abbreviations"></a>Modelos e Abreviações de Código</h3>
<p>No contexto atual, o termo "abreviações" refere-se a um conjunto de strings de caracteres predefinidas que correspondem às palavras-chave utilizadas em uma linguagem de programação. Cada abreviação está associada a um texto expandido que contém a palavra-chave completa e um modelo de código para a palavra-chave com dicas de parâmetros. Para aplicar essa funcionalidade, digite uma abreviação e pressione Tab. </p>
<img alt="Abreviação do modelo" class="margin-around b-all" height="51" src="../../../images_www/articles/72/php/editorguide/template-abbr.png" width="98"><br>
<p>A abreviação será substituída pela palavra-chave correspondente e o modelo de código da palavra-chave será fornecido.</p>
<p><img alt="Modelo cls expandido" class="margin-around b-all" height="167" src="../../../images_www/articles/72/php/editorguide/template-expanded.png" width="269"></p>
<p>No modelo de código, se o cursor estiver em uma caixa azul com borda violeta, ele estará em um campo no modelo. Digite o nome ou valor do campo. Todas as instâncias do campo também têm o valor alterado. Pressione Enter quando tiver finalizado e o cursor irá para o próximo campo (ou para aposição da variável <code>${cursor}</code> ou fora do modelo, se não houver nenhum campo remanescente).
</p>
<img alt="Modelo com segundo campo selecionado" class="margin-around b-all" height="173" src="../../../images_www/articles/72/php/editorguide/template-secondfield.png" width="269">
<p>Para exibir a lista de abreviações definidas com modelos de código:</p>
<ol>
<li>Selecione <tt>Ferramentas > Opções > Editor > Modelos de Código</tt>. </li>
<li>Na lista drop-down Linguagem, selecione PHP. A lista de abreviações PHP e o modelo de código definido para elas serão exibidos.</li>
<li>Para adicionar ou remover uma definição da lista, utilize os botões Novo ou Remover respectivamente.</li>
<li>Para editar uma definição, selecione a linha relevante e edite o texto no campo de edição abaixo da lista. <br> <img alt="A lista de abreviações e os modelos de código definidos para elas" class="margin-around" height="513" src="../../../images_www/articles/72/php/editorguide/code-template-definitions-list.png" width="536"></li></ol>
<p>Para obter mais informações, consulte <a href="../../docs/php/code-templates_pt_BR.html">Modelos de Código no NetBeans IDE para PHP</a>.</p>
<h3><a name="cc-constructors"></a>Autocompletar Código para Construtores</h3>
<p>Depois da palavra-chave <tt>new</tt>, a janela de autocompletar código será exibida com construtores e parâmetros de todas as classes disponíveis no projeto.</p>
<img alt="Dicas da funcionalidade autocompletar código para um construtor" border="1" class="margin-around" height="408" src="../../../images_www/articles/72/php/editorguide/cc-constructor.png" width="600">
<h3><a name="cc-sql"></a>Autocompletar Código SQL</h3>
<p>A funcionalidade autocompletar código SQL será exibida quando uma string começar com a palavra-chave do SQL "select". O primeiro passo é selecionar a conexão com banco de dados.</p>
<img alt="Funcionalidade autocompletar código que oferece conexão com banco de dados" border="1" class="margin-around" height="384" src="../../../images_www/articles/72/php/editorguide/cc-sql.png" width="475">
<p>Serão exibidas todas as conexões com banco de dados registradas no IDE.</p>
<img alt="Todas as conexões com banco de dados registradas no IDE." class="margin-around" height="185" src="../../../images_www/articles/72/php/editorguide/cc-sql-dbconnections.png" width="554">
<p>Após selecionar a conexão, a funcionalidade autocompletar código SQL oferece todas as tabelas dessa conexão com o banco de dados. </p>
<p><img alt="Todas as tabelas na conexão com o banco de dados wishlist" border="1" class="margin-around" height="384" src="../../../images_www/articles/72/php/editorguide/cc-sql-tables.png" width="494"></p>
<p>Se a tabela tiver colunas, essas colunas também serão exibidas.</p>
<p><img alt="Colunas da tabela exibidas" border="1" class="margin-around" height="358" src="../../../images_www/articles/72/php/editorguide/cc-sql-columns.png" width="530"></p>
<p>A funcionalidade autocompletar código SQL também funciona com apelidos de tabela.</p>
<img alt="Funcionalidade autocompletar código que mostra tabelas em apelido de hotel" border="1" class="margin-around" height="352" src="../../../images_www/articles/72/php/editorguide/cc-sql-aliases.png" width="537">
<h3><a name="cc-namespaces"></a>Namespaces do PHP 5.3</h3>
<p>A funcionalidade autocompletar código oferece suporte a nomes de namespace completamente qualificados, parcialmente qualificados e não qualificados do PHP 5.3. Para obter mais informações, consulte nosso <a href="../../docs/php/namespace-code-completion-screencast_pt_BR.html">screencast</a>.</p>
<p>O IDE também ajuda a resolver instruções de <tt>uso</tt> de namespace ausentes. <em>Em um namespace</em> em que você deseja corrigir instruções <tt>use</tt>, clique com o botão direito do mouse e selecione Usos para Correção... ou pressione Ctrl-Shift-I e vá para Código-Fonte > Usos para Correção... Uma caixa de diálogo será aberta oferecendo nomes completamente qualificados para cada instrução de uso necessária. Para obter mais informações, consulte <a href="https://blogs.oracle.com/netbeansphp/entry/how_to_fix_your_use"> Como Corrigir Suas Instruções de Uso</a>.</p>
<h3><a name="cc-overridden-methods"></a>Métodos Substituídos e Implementados</h3>
<p>A funcionalidade autocompletar código entre membros de classe oferece a opção de substituir ou implementar métodos.</p>
<p><img alt="Funcionalidade autocompletar código que oferece a opção de substituir método" class="margin-around" height="478" src="../../../images_www/articles/72/php/editorguide/cc_overriden_methods.png" width="600"></p>
<h3><a name="clever-catch-cc"></a>Autocompletar Código Inteligente Tentativa/Captura</h3>
<p>A partir do NetBeans IDE 7.1, a função autocompletar código para instruções <tt>captura</tt> inclui somente as classes herdadas de <tt>Exceção</tt>.</p>
<p><img alt="Editor que mostra a funcionalidade autocompletar código em parâmetros de captura" class="margin-around b-all" height="166" src="../../../images_www/articles/72/php/editorguide/clever-catch-cc.png" width="491"></p>
<h3><a name="annotations">Anotações</a></h3>
<p>A funcionalidade autocompletar código do NetBeans IDE oferece suporte aos seguintes tipos de anotações PHP:</p>
<ul>
<li>ApiGen (anotações PHPDoc legadas)</li>
<li>PHPUnit</li>
<li>Doctrine 2 (ORM e ODM)</li>
<li>Symfony 2</li>
</ul>
<p>Toda anotação pode ser associada a um contexto. O NetBeans IDE reconhece quatro contextos:</p>
<ul><li>função</li>
<li>classe/interface (tipo)</li>
<li>método</li>
<li>campo</li></ul>
<p>Você pode adicionar mais anotações à funcionalidade autocompletar código em Ferramentas > Opções > PHP > Anotações.</p>
<h3><a name="traits"></a>Tratos do PHP 5.4</h3>
<p>Os tratos são um mecanismo de reutilização de código introduzido no PHP 5.4.0. (Para obter informações sobre os tratos, consulte a <a href="http://php.net/manual/en/language.oop5.traits.php"> documentação do php.net</a>.) O NetBeans IDE reconhece a sintaxe dos tratos e a funcionalidade autocompletar código inclui métodos, funções e tudo o mais herdado de um trato ou declarado dele. </p><img alt="Funcionalidade autocompletar código do trato" class="margin-around b-all" height="472" src="../../../images_www/articles/72/php/editorguide/php54-traits-1.png" width="435">
</div>
<h2 id="php54">Suporte a PHP 5.4</h2>
<p>Editor do NetBeans para PHP oferece várias funcionalidades específicas para desenvolvimento com PHP 5.4.</p>
<ul>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_array"> Cancelamento de Referência de Array</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_anonymous"> Variável de Objeto Anônimo</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_short"> Sintaxe de Array Abreviada</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_built"> Servidor Web Incorporado</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_traits"> Funcionalidade Autocompletar para Tratos</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_minor"> Outras Funcionalidades</a></li>
</ul>
<h2><a name="rectangular"></a>Seleção Retangular</h2>
<p>O NetBeans IDE 7.1 para PHP introduz a ação Seleção Retangular. Essa função de edição é útil em casos como a deleção de números de linhas em código colado.</p>
<p>Para ativar a seleção retangular, pressione o botão Seleção Retangular ou Ctrl+Shift+R para alternar.</p>
<p><img alt="Editor que mostra o botão Seleção Retangular." class="margin-around b-all" height="321" src="../../../images_www/articles/72/php/editorguide/rec-selec-togglebutton.png" width="600"></p>
<p>Quando a Seleção Retangular está ativada, você pode fazer a seleção com o mouse ou com o teclado. Quando você usar o teclado, coloque o cursos em um canto, mantenha a tecla SHIFT pressionada e selecione o que precisa com as teclas de seta.</p>
<p><img alt="Editor que mostra uma seleção regular de números de linha colados" class="margin-around b-all" height="289" src="../../../images_www/articles/72/php/editorguide/rec-selec-made.png" width="600"></p>
<p>Se você escrever um texto enquanto a área estiver selecionada, o texto será colocado em todas as linhas da área selecionada. Isso pode ser útil, por exemplo, para alterar, simultaneamente, os modificadores de acesso de vários campos de uma classe.</p>
<p><img alt="Editor com um modificador de acesso adicionado a todas as linhas de uma seleção retangular" class="margin-around b-top b-right" height="342" src="../../../images_www/articles/72/php/editorguide/rec-selec-addtext.png" width="435"></p>
<h2><a name="phpdoc"></a>Suporte a ApiGen</h2>
<p>Suporte incorporado para ApiGen foi adicionado no NetBeans IDE 7.2. Para obter mais informações, consulte o screencast <a href="../../docs/php/screencast-apigen.html">Gerando Documentação PHP Com NetBeans IDE</a>.</p>
<p class="alert"><b>Advertência: </b> o PHPDocumentor não oferece suporte completo ao PHP 5.3. Namespaces e algumas outras funcionalidades do 5.3 não são documentadas pelo PHP Documentor.</p>
<h2><a name="code-generators"></a>Geradores de Código</h2>
<p>Quando você pressiona a combinação Alt-Insert (Ctrl-I no Mac), um menu é aberto com todos os possíveis geradores de código. A lista de geradores é contextual. Isso depende da posição do cursor no código quando a combinação de teclas é pressionada. Dependendo da sua posição no código, você poderá gerar uma conexão com o banco de dados, tabelas de banco de dados, texto lorum ipsum e vários outros. Esta seção descreve apenas os geradores de código a seguir:</p>
<ul>
<li><a href="#generate-constructors">Construtores</a></li>
<li><a href="#generate-getters-setters">Getters e Setters</a></li>
<li><a href="#generate-overriden-methods">Métodos Substituídos e Implementados</a></li>
</ul>
<div class="indent">
<h3><a name="generate-constructors"></a>Construtores</h3>
<p>Você pode gerar construtores ao pressionar Alt-Insert (Ctrl-I no Mac) quando o cursor estiver dentro de um corpo de classe, mas não dentro de nenhuma função contida nesse corpo. Quando você selecionar Gerar...Construtor, uma caixa de diálogo será aberta, listando os campos que podem ser inicializados pelo construtor. Os nomes de campo são utilizados como parâmetros do construtor.</p>
<p><img alt="Caixa de diálogo de campos a serem inicializados com o construtor" class="margin-around" height="299" src="../../../images_www/articles/72/php/editorguide/generate-constructor-fields.png" width="352"></p>
<p>Você pode não selecionar nenhum campo. Nesse caso, o IDE gera um construtor vazio, sem parâmetros. Se o campo for uma classe com propriedades, você poderá selecionar propriedades individuais ou a classe, onde todas as propriedades de classe estão selecionadas automaticamente.</p>
<p>Para obter mais informações, consulte o <a href="http://blogs.oracle.com/netbeansphp/entry/generate_constructor_getters_and_setters" target="_blank">post no blog NetBeans PHP</a>.</p>
<h3><a name="generate-getters-setters"></a>Getters e Setters</h3>
<p>Você pode gerar getters e setters pressionando Alt-Insert (Ctrl-I no Mac) quando o cursor estiver dentro de um corpo de classe e selecionar Getter, Setter ou Getters e Setters. Apenas as funções possíveis são exibidas. Por exemplo, se já tiver setters para as propriedades disponíveis, apenas a opção getter aparecerá.</p>
<p>Quando você selecionar Gerar... Getter/Setter/Getter e Setter, uma caixa de diálogo aparecerá com as propriedades para as quais você pode gerar um getter ou setter. As propriedades serão exibidas em uma árvore. Se você selecionar uma classe pai, serão selecionadas automaticamente todas as propriedades da classe.</p>
<p>Você pode nomear um getter ou setter de acordo com a convenção getName ou a convenção get_name.</p>
<p>Para obter mais informações, consulte o <a href="http://blogs.oracle.com/netbeansphp/entry/generate_constructor_getters_and_setters" target="_blank">post no blog NetBeans PHP</a> original e o post em <a href="http://blogs.oracle.com/netbeansphp/entry/generating_getters_and_setters_improved" target="_blank">geração de getter e setter aprimorada</a>.</p>
<h3><a name="generate-overriden-methods"></a>Métodos Substituídos e Implementados</h3>
<p>Você pode gerar métodos substituídos ou implementados pressionando Alt-Insert (Ctrl-I no Mac) quando o cursor estiver dentro de uma declaração de classe e existirem vários membros de classe. Uma caixa de diálogo será aberta, mostrando os métodos que podem ser inseridos e indicando se eles estão substituídos ou implementados.</p>
<p><img alt="Caixa de diálogo para geração de métodos substituídos" class="margin-around" height="520" src="../../../images_www/articles/72/php/editorguide/generate_overriden_methods.png" width="523"></p>
<p>Essa funcionalidade complementa a dica "Implemente todos os métodos abstratos" e a <a href="#cc-overridden-methods">funcionalidade autocompletar código para métodos substituídos e implementados</a>.</p>
<p>Para obter mais informações, consulte o <a href="http://blogs.oracle.com/netbeansphp/entry/generate_overriden_implemented_methods" target="_blank">post no blog NetBeans PHP</a>.</p>
</div>
<h2><a name="ParameterHints"></a>Dicas de Parâmetros </h2>
<p>O editor solicita ao usuário os parâmetros formais de uma função ou um método no contexto em que a função ou o método é chamado.</p>
<ol>
<li>Digite os caracteres iniciais da função que deseja chamar. </li>
<li>Pressione CTRL + Espaço. Uma lista drop-down mostra as propostas contextuais com os parâmetros formais de cada proposta.<br> <img alt="Lista de dicas contextuais" class="margin-around" src="../../../images_www/articles/72/php/editorguide/parametr-hint-one.png">
</li>
<li>selecione a proposta relevante e pressione Enter. O nome da função selecionada será inserido no código e um modelo para inserir os parâmetros será mostrado entre colchetes. <br> <img alt="Dicas de parâmetros para a proposta contextual selecionada." class="margin-around" src="../../../images_www/articles/72/php/editorguide/parametr-hint-two.png">
</li>
</ol>
<h2><a name="vartyp-cmnt"></a>Definindo o Tipo de Variável em Comentários</h2>
<p>Você pode definir uma variável e o seu tipo em um comentário. O comentário deve estar no formato <em>/* @<strong>var</strong> $variable type */ </em>. Se o comentário estiver escrito corretamente, a tag <em><strong>var</strong></em> estará em negrito.</p>
<p><img alt="Variáveis declaradas em comentários" border="1" class="margin-around" height="319" src="../../../images_www/articles/72/php/editorguide/vardoc-basic.png" width="600"> </p>
<p>Você pode utilizar o modelo de código <tt>vdoc</tt>, seguido de Tab, para gerar um comentário que define uma variável. O nome da variável será selecionado e poderá ser alterado. Pressione Tab novamente e o tipo será selecionado.</p>
<p><img alt="Variável que declara comentário gerado pelo modelo vdoc" border="1" class="margin-around" height="269" src="../../../images_www/articles/72/php/editorguide/vardoc-template.png" width="600"> </p>
<p>O modelo de código define o nome e o tipo da variável automaticamente. Se a variável for utilizada após o lugar em que você inseriu o modelo, o nome seguinte dessa variável será sugerido por default. Se nenhuma variável for utilizada após o lugar em que você inseriu o modelo, mas uma variável for utilizada acima do modelo, o nome dessa variável será sugerido por default. Se o NetBeans IDE não puder localizar nenhuma variável perto de onde você utilizar o modelo, o nome default será <em>variável</em>.&nbsp;  O tipo de variável é definido automaticamente, de acordo com as mesmas regras.</p>
<img alt="Variável que declara comentário gerado pelo modelo vdoc, com nomes e tipos de variáveis default" border="1" class="margin-around" height="385" src="../../../images_www/articles/72/php/editorguide/vardoc-template-names.png" width="600">
<h2><a name="errorMessages"></a>Mensagens de Erro</h2>
<p>O editor analisa a sintaxe do código enquanto você digita e marca os erros de sintaxe sublinhando as linhas com erro e colocando um marcador vermelho ao lado delas. Para obter uma explicação do erro, passe o cursor do mouse sobre a linha com erro ou clique no marcador vermelho. Uma dica de ferramenta aparece com uma breve explicação do erro. <br> <img alt="Mensagens de erro: uma dica de ferramenta acima da linha com erro." class="margin-around" src="../../../images_www/articles/72/php/editorguide/error-messaging-m1.png">
</p>
<h2><a name="phpunit"></a>Testes PHPUnit e Selenium</h2>
<p>O NetBeans IDE para PHP suporta os testes automatizados <a href="http://www.phpunit.de" target="_blank">PHPUnit</a>, incluindo a cobertura de código. Você pode utilizar grupos de teste em seu código.</p>
<p>O NetBeans IDE também suporta o framework de teste portátil Selenium, em combinação com o PHPUnit. Um plug-in Selenium está disponível na Central de Atualização. A instalação deste plug-in adiciona um servidor Selenium aos servidores registrados do IDE e adiciona opções de teste Selenium aos menus PHP.</p>
<p>Consulte <a href="../../docs/php/phpunit_pt_BR.html">Testando com PHPUnit e Selenium</a> para obter mais informações.</p>
<h2 id="spellchecker">Corretor Ortográfico</h2>
<p>Um corretor ortográfico está disponível. Na caixa de diálogo Opções, você pode alternar entre ativar e desativar o corretor ortográfico para diferentes idiomas.</p>
<p><img alt="Caixa de diálogo Opções do corretor ortográfico" class="margin-around" height="448" src="../../../images_www/articles/72/php/editorguide/spellchecker-options.png" width="600"></p>
<p>Na caixa de diálogo Opções, você pode adicionar e remover novos dicionários e definir a configuração regional.&nbsp;  Quando desejar adicionar um novo dicionário, você terá que ter um arquivo com as palavras. O formato do arquivo do dicionário é uma lista de palavras com cada palavra em uma nova linha. Você terá que informar ao NetBeans a codificação do arquivo do dicionário e para qual configuração regional o arquivo deverá ser usado. </p>
<p><img alt="Adicionando um novo dicionário ao corretor ortográfico" class="margin-around" height="180" src="../../../images_www/articles/72/php/editorguide/spellchecker-newdictionary.png" width="600"></p>
<p>Quando o corretor ortográfico encontra uma palavra que não está em seu dicionário, ele sublinha a palavra em vermelho. O corretor ortográfico também adiciona uma dica de ferramenta àquela palavra que diz "Erro de ortografia". Observe que o texto HTML está marcado nos arquivos PHP.</p>
<p><img alt="Foram encontrados erros no texto HTML no arquivo PHP" class="margin-around" height="68" src="../../../images_www/articles/72/php/editorguide/spellchecker-html.png" width="600"></p>
<h2><a name="symfony"></a>Suporte a Symfony, Symfony2 e Zend Framework</h2>
<p>Suporte a Symfony, symfony2 e Zend Framework são incorporados no editor PHP. Ele reconhece Symfony e frameworks Zend existentes e é você pode adicionar o framework a novos projetos no último painel do assistente para novo projeto PHP.</p>
<p>Em um projeto PHP com suporte a Symfony, Symfony2 ou Zend, você pode executar os comandos do Symfony ou do Zend no menu de contexto do projeto.</p>
<img alt="Menu de contexto que mostra comandos do Symfony" class="margin-around" src="../../../images_www/articles/72/php/editorguide/symfony-contextmenu-commands.png">
<p>Use a IU dos comandos para:</p>
<ul>
<li>Filtrar os comandos do Symfony/Zend (1)</li>
<li>Especificar os parâmetros do comando (2)</li>
<li>Selecionar um comando (3)</li>
<li> Ver a ajuda contextual do comando (4) </li>
<li>Visualizar todo o comando que será executado (5)</li>
</ul>
<img alt="Caixa de diálogo do comando do Symfony anotado" class="margin-around" src="../../../images_www/articles/72/php/editorguide/symfony-command-dialog.png">
<p>A lista de comandos é específica do projeto. Isso significa que, por exemplo, se for utilizado Doctrine em vez de Propel, nenhum comando do Propel será listado, apenas os comandos do Doctrine serão listados. Além disso, todos os comandos dos plug-ins Symfony do projeto estão disponíveis.</p>
<p>A funcionalidade autocompletar código inclui variáveis do Symfony em views do Symfony, variáveis do Symfony2 em views do Symfony2 e variáveis do Zend em views do Zend. </p>
<img alt="Variáveis do Symfony na funcionalidade autocompletar código" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/symfony-variables.png">
<p>O IDE também oferece atalhos de navegação entre views e ações do Symfony ou do Zend. Esses atalhos foram melhorados no NetBeans 6.9. Além disso, a funcionalidade autocompletar código em <em>exibir</em> modelos/arquivos agora inclui variáveis que estão declaradas em arquivos do <em>controlador/ação</em>. Consulte o <a href="http://blogs.oracle.com/netbeansphp/entry/framework_support_improvements" target="_blank">post no blog do NetBeans PHP</a> para obter detalhes.</p>
<p>Para saber mais sobre o suporte a Zend framework, assista ao <a href="../../docs/php/zend-framework-screencast_pt_BR.html">screencast</a> do Zend.</p>
<h2><a name="smarty"></a>Suporte ao Smarty</h2>
<p>O NetBeans IDE inclui um plug-in para o suporte ao framework Smarty. Esse suporte inclui as funcionalidades básicas do Smarty 3, ou seja, funcionalidade autocompletar código e delimitadores do Smarty 3.</p>
<p><img alt="Editores que mostra suporte básico ao Smarty 3" class="margin-around b-all" height="136" src="../../../images_www/articles/72/php/editorguide/smarty3.png" width="364"></p>
<p>Alterne entre o comportamento de Smarty 3 e Smarty 2 na janela Opções. Vá para Ferramentas > Opções (Preferências do NetBeans no MacOS), selecione PHP e, em seguida, abra a guia Smarty. O plug-in do framework Smarty precisa estar instalado.</p>
<p><img alt="Opções do Smarty" class="margin-around" height="480" src="../../../images_www/articles/72/php/editorguide/smarty-options.png" width="586"></p>
<h2 id="doctrine2">Suporte a Doctrine2</h2>
<p>Se tiver o Doctrine2 ORM e seus pacotes de requisito instalados, você poderá usar a funcionalidade autocompletar código do IDE com funções do Doctrine2 e poderá executar comandos do Doctrine2 a partir do IDE. Você precisa definir o caminho para o script de execução do Doctrine 2 nas Opções do IDE e o seu projeto PHP terá que ter o Doctrine2 ativado. Consulte <a href="https://blogs.oracle.com/netbeansphp/entry/doctrine2_support_added">Suprote ao Doctrine2 Adicionado</a> no blog NetBeans PHP para obter detalhes.</p>
<h2><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20PHP%20Editor%20Guide">Enviar Feedback neste Tutorial</a></h2>
<br style="clear:both;" >
<p>Para enviar comentários e sugestões, obter suporte e manter-se informado sobre os desenvolvimentos mais recentes das funcionalidades de desenvolvimento PHP do NetBeans IDE, <a href="../../../community/lists/top.html">junte-se à lista de correspondência users@php.netbeans.org</a>.</p>
<p><a href="../../trails/php.html">Voltar à Trilha do Aprendizado PHP</a></p>
</body>
</html>