corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Modelos de código no NetBeans IDE para PHP

Os modelos de código são fragmentos pré-escritos de código fornecidos pelo NetBeans IDE. É possível colar um fragmento no código utilizando autocompletar de código ou a abreviatura do modelo seguida da tecla de tabulação. Também é possível incluir o código entre fragmentos apropriados de PHP. Finalmente, é possível definir modelos de código próprios. Este tutorial mostra como utilizar os modelos de código e sugere casos úteis para definição de modelos de código próprios.

Conteúdo

O conteúdo desta página se aplica ao IDE NetBeans 6.9-7.0

Para concluir este tutorial, você precisa dos seguintes recursos e softwares.

Software ou recurso Versão necessária
NetBeans IDE Pacote de download do PHP
Java Development Kit (JDK) 5 ou 6

 

Modelos de código PHP definidos

Para visualizar os modelos de código definidos no NetBeans, abra Ferramentas > Opções (NetBeans > Preferências no Mac), selecione os recursos do Editor e selecione a aba Modelos de código. Para ver os modelos de código PHP, selecione PHP na lista suspensa Linguagens. É exibida uma tabela de abreviaturas e textos expandidos dos modelos de código. Se selecionar um modelo de código na tabela, o seu texto expandido é exibido na aba Texto expandido.

Modelos de código PHP na janela Opções, com o modelo cli selecionado

Nesta imagem, o novo modelo de código classe (cls) está selecionado e na aba Texto expandido é possível ver como fica o modelo quando está expandido. Na próxima seção, a função de tabulação é utilizada para expandir este modelo no código.

Nota: a sintaxe do novo modelo de código classe (cls) é explorada na seção Sintaxe do modelo de código PHP.

Usando modelos de código PHP

Há três formas de inserir modelos de código no código PHP. Cada uma dessas formas de inserção de modelos de código tem a sua utilidade dependendo do caso. As três formas de inserir modelos de código são:

Após a inserção do modelo, o IDE ajuda você a editar os parâmetros do código de modelo expandido.

Expandindo o modelo de código usando abreviatura + tabulação

Examine novamente a aba Modelos de código da caixa de diálogo Opções. Na parte inferior, encontra-se o campo suspenso Expandir modelo em para a seleção da combinação de teclas. Está será a combinação de teclas pressionada depois de digitar a abreviatura do modelo de código para expandir o modelo de código. A tecla de tabulação está selecionada por padrão, mas é possível selecionar outras combinações.

Caixa suspensa Expandir modelo em

O restante desta seção pressupõe que você seleciona a tecla de tabulação padrão no campo Expandir modelo em:.

Quando a abreviatura de um modelo também fizer parte de uma palavra-chave do autocompletar de código, pode ser difícil expandir a abreviatura. Neste caso, será mais fácil utilizar autocompletar código para inserir o modelo.

Para expandir o novo modelo de código classe utilizando abreviatura + tabulação:

  1. Crie um arquivo PHP vazio.
  2. No bloco PHP de tal arquivo, digite cls e pressione Tab. O modelo de código cls se expande.

    Aviso: digite corretamente a abreviatura! A expansão não funcionará caso esteja mal escrita.

    Expandindo um modelo de código
  3. O nome de classe do espaço reservado (class_name) é selecionado automaticamente. Você pode digitar imediatamente o nome desejado para a classe e este nome substitui o espaço reservado. Pressione Enter quando tiver terminado e o IDE seleciona o nome da primeira função, que neste caso é o construtor.

    Nota: os nomes do espaço reservado são abordados com mais detalhes na seção Nome do espaço reservado.

    Nome da função construtor selecionado após editar o nome da classe
  4. Edite o nome da função ou aceite o padrão. Pressione Enter novamente e o cursor vai para dentro do corpo da função. Em uma situação real, você poderia agora começar a codificar a função e o resto da classe.

    A posição final do cursor é determinada pelo parâmetro ${cursor}. Este parâmetro é descrito na seção Nomes reservados.

Inserindo modelo de código com autocompletar de código

Para inserir um modelo de código utilizando autocompletar de código, digite o início do fragmento expandido (não a abreviatura do modelo). A caixa de diálogo para autocompletar código se abre mostrando o fragmento.

Para inserir o novo modelo de código classe utilizando autocompletar código:

  1. Digite cla no bloco PHP de um arquivo PHP.
  2. Espere que a caixa de diálogo para autocompletar de código se abra.
  3. Localize o novo modelo classe, que está listado com a abreviatura (cls). O quadro do PHPDoc mostra o modelo expandido.
    Caixa de diálogo para autocompletar de código mostrando o novo modelo classe
  4. Clique no novo modelo classe. O IDE o insere no código.
  5. O nome de classe do espaço reservado (class_name) é selecionado automaticamente. Você pode digitar imediatamente o nome desejado para a classe e este nome substitui o espaço reservado. Pressione Enter quando tiver terminado e o IDE seleciona o nome da primeira função, que neste caso é o construtor.
    Nome da função construtor selecionado após editar o nome da classe
  6. Edite o nome da função ou aceite o padrão. Pressione Enter novamente e o cursor vai para dentro do corpo da função. Em uma situação real, você poderia agora começar a codificar a função e o resto da classe.

Incluindo o código em um modelo

É possível incluir o código nos seguintes modelos de PHP:

  • while
  • do
  • switch
  • if / elseif
  • try e catch
  • foreach
  • for
  • ob_start e ob_end_clean

Para incluir o código em um modelo, selecione o código e abra a caixa de diálogo Incluir em.... Para abrir a caixa de diálogo Incluir em..., pressione Alt-Insert ou clique no ícone Dica ícone Dica.

Para incluir o código em um modelo if(true):

  1. Crie um bloco PHP com as variáveis $a = true e $b = 10.
    <?php
    $a = false;

    $b = 10;
    ?>
  2. Selecione a linha $b = 10;
    Variável $b = 10/li> selecionada
  3. Clique duas vezes no ícone Dica ícone Dica ou pressione Alt-Enter. A caixa de diálogo Incluir em... se abre.
    Caixa de diálogo Incluir em... aberta
  4. Clique em Incluir em if{true){...
    Caixa de diálogo Incluir em... com a opção Incluir em if(true) selecionada
  5. O IDE inclui a linha $b = 10; em um modelo if(true){....
    Modelo if (true) inserido

O IDE insere automaticamente a variável apropriada precedente mais próxima como a condição da instrução if. Neste caso, tal variável é $a, porque $a é uma booleana e a instrução if(true){} toma uma variável booleana como sua condição. Além disso, a condição é selecionada automaticamente para edição caso a variável que o IDE insira na condição não seja a variável correta. Isso significa que você pode começar a digitar a variável correta imediatamente depois que o modelo for inserido. O autocompletar de código pode ajudar você a selecionar a variável correta neste caso.

Nota: o modelo if(true){} é descrito com detalhes na seção Parâmetro definido por dicas.

Seleção da variável para ser utilizada como uma condição, a partir do autocompletar de código

Pressione Enter para sair da condição de instrução. O cursor se desloca para o local apropriado, que neste caso é a linha $b = 10;. É possível editar a condição e pressionar Enter ou aceitar automaticamente a condição inserida e pressionar Enter. Em ambos os casos, o cursor sai da condição e se desloca para o local apropriado.

Cursor após nenhuma ediçãoCursor após edição

A seção seguinte contém mais detalhes sobre a edição de parâmetros nos modelos expandidos.

Editando parâmetros em modelos expandidos

Nas seções sobre inserção de modelos no código, foi possível ver como o IDE selecionou automaticamente o nome da classe para edição quando o novo modelo classe foi expandido, e como o IDE selecionou automaticamente o nome da condição para edição quando o modelo if(true) expandido. Agora veremos mais algumas formas de como o IDE ajuda a editar os parâmetros nos modelos expandidos.

Para editar simultaneamente várias instâncias de um parâmetro:

  1. Em um bloco PHP vazio, digite for e pressione Ctrl-barra de espaço para abrir o autocompletar de código. Selecione o modelo de iteração (abreviatura iter) e clique nele. Uma nova iteração é inserida no seu código.
    Autocompletar de código mostrando o modelo de iteração selecionado
  2. A iteração tem duas variáveis como parâmetros, $index e $array. $index é selecionada automaticamente para edição.
    Linha da iteração inserida com parâmetros, com o parâmetro $index selecionado para edição

    Digite i. Todas as três instâncias de $index mudam para $i.

    Linha da iteração inserida com o parâmetro $index alterado para $i
  3. Pressione Enter. O parâmetro $array é selecionado.
  4. Pressione Enter novamente. O cursor se introduz no corpo do método da iteração.

O recurso de refatoração do nome da variável no NetBeans permite alterar todas as instâncias de nome da variável editando somente uma instância. Aqui é possível ver como este recurso é útil quando aplicado nos parâmetros do modelo.

O editor PHP do NetBeans IDE também ajuda a identificar o método correto para as variáveis.

Para associar uma variável de um modelo ao método correto:

  1. Em um bloco PHP vazio, digite o seguinte código:
    <?php

    $arr = array(new ArrayIterator($array()), new ArrayObject($array()));

    ?>
  2. Depois da linha que declara a matriz $arr, digite fore e use autocompletar de código para inserir o modelo foreach (abreviatura: fore).
    Autocompletar de código para inserção do modelo foreach
  3. Coloque o cursor no corpo da função foreach (você pode pressionar Enter duas vezes para tirar o cursor de lá) e digite $value, ou digite somente $ e selecione $value no autocompletar de código.
    <?php

    $arr = array(new ArrayIterator($array()), new ArrayObject($array()));

    foreach ($arr as $value) {
    $valor
    }

    ?>
  4. Depois de $value, digite ->. O autocompletar de código oferece os métodos corretos para a variável $value, que se deriva da matriz $arr.
    Autocompletar de código da variável $value, em que $value é um método Iterator de matriz

Sintaxe de modelo de código PHP

O NetBeans IDE oferece modelos de código a todas as linguagens que suporta. Algumas das sintaxes são comuns para todas as linguagens. Outra sintaxe é específica para um linguagem. Nesta seção, é mostrada a sintaxe de modelo geral mais relevante e a sintaxe específica para modelos PHP.

Um modelo de código PHP pode conter código PHP e parâmetros de modelo. Um modelo PHP pode compreender somente código PHP, somente parâmetros ou código e parâmetros.

A sintaxe de um parâmetro de modelo de código é um cifrão, $, seguido de uma definição do parâmetro entre chaves {...}. Dentro desta sintaxe, os parâmetros do modelo têm uma destas quatro formas:

As seções a seguir abordam cada uma das formas de um parâmetro de modelo de código.

Nota: $$${VARIABLE...} às vezes, é exibido um modelo de código PHP no qual a sintaxe parece ser três cifrões seguidos das chaves $$${...}. Neste caso, o modelo de código inclui uma variável e seu nome. A sintaxe aqui é um cifrão com escape, escrito como dois cifrões $$, seguido de um parâmetro do nome da variável, ${VARIABLE...}. Por exemplo, o modelo de código catch ${Exception} $$${exc} é expandido como catch Exception $exc.

Nome do espaço reservado


Nos casos mais simples, o parâmetro de modelo de código é um valor arbitrário de espaço reservado. Quando o modelo é expandido, o IDE seleciona este nome de espaço reservado para edição.


Por exemplo, examine o novo modelo classe (cls) que este tutorial mostra nas seções Modelos de código PHP definidos e Expandindo o modelo de código usando abreviatura + tabulação. O texto expandido do novo modelo classe começa com class ${className}. Aqui, a palavra class é o código PHP e ${className} é um parâmetro. Este parâmetro é apenas um valor arbitrário do espaço reservado para o nome da classe. Quando o IDE expande o modelo, ${className} se transforma em class_name. O IDE espera que class_name seja somente um valor do espaço reservado e seleciona automaticamente este valor para que seja editado.

Expandindo um modelo de código

Nomes reservados

O IDE reserva dois nomes de parâmetros para serem utilizados como instruções de operação.

  • ${cursor} define o local do cursor depois que você termina de editar todos os valores selecionados automaticamente no modelo expandido.
  • ${selection} define a posição para colar o conteúdo da seleção do editor. É usado pelos chamados 'modelos de seleção' que aparecem como dicas sempre que o usuário seleciona texto no editor. Se um modelo incluir ${selection}, ele geralmente fará referência ao mesmo local que ${cursor}.

Por exemplo, examine novamente o novo modelo classe (cls) que este tutorial mostra nas seções Modelos de código PHP definidos e Expandindo o modelo de código usando abreviatura + tabulação. Há dois parâmetros do nome do espaço reservado, ${ClassName} e $__construct. No corpo da função, estão os parâmetros ${cursor} e ${selection}.

class ${ClassName} {

function ${__construct} {
${selection}${cursor}

}

}

Depois que o modelo se expande, o espaço reservado class_name é automaticamente selecionado (1). Clique em Enter, e o espaço reservado __construct é automaticamente selecionado (2). Não há outros valores a serem editados. Clique em Enter novamente, e o cursor se desloca para o local indicado pelo ${cursor} no texto do modelo (3).

Três fragmentos de código mostrando a mudança de posição do cursor do nome do espaço reservado para o nome do espaço reservado na posição do ${cursor}

Parâmetros definidos por dicas


Os parâmetros podem ter um nome arbitrário e descritivo em maiúscula e uma ou mais dicas.


${PARAMETER_NAME hint1[=value] [hint2...hint n]}

O nome não aparece em nenhum lugar do código. No entanto, é útil se você quiser utilizar o parâmetro mais de uma vez em um modelo de código. O parâmetro deve ser definido somente na primeira vez e pode fazer referência a ele através do nome todas as vezes seguintes. Por exemplo, no modelo de código a seguir, o parâmetro ${CONLINK} é definido somente na primeira vez, mas é mencionado pelo seu nome duas vezes mais.


$$${CONLINK newVarName default="link"} = mysql_connect('localhost', 'mysql_user', 'mysql_password');  
if (!$$${CONLINK}) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($$${CONLINK});
${cursor}

As dicas ajudam o IDE a calcular o valor do parâmetro do modelo quando o IDE expande o modelo de código. Veja, por exemplo, o modelo if(true), utilizado neste tutorial na seção Incluindo o código em um modelo. O texto expandido deste modelo é

if (${CONDITION variableFromPreviousAssignment instanceof="boolean" default="true"}) {
${selection}${cursor}
}

Examine o parâmetro ${CONDITION variableFromPreviousAssignment instanceof="boolean" default="true"}. Este parâmetro define a condição da instrução if. Portanto, o parâmetro é denominado CONDITION. A primeira dica é variableFromPreviousAssignment e a segunda dica é instanceof="boolean". Juntas, estas duas dicas dizem ao IDE para procurar a variável booleana mais próxima que está atribuída no código anterior ao modelo de código. Adicione a terceira dica, default="true", e o parâmetro define a condição como "se o valor da variável booleana anterior mais próxima for verdadeiro".

Por exemplo, quando a linha $b = 10 do fragmento de código a seguir estiver incluída em um modelo de código if(true) ...

Fragmento $a = false $b = 10

...o IDE procura a variável booleana mais próxima atribuída anteriormente, localiza $a e gera uma instrução if com a condição $a[=true]. A condição é automaticamente selecionada para edição, de modo que o programador de PHP pode alterar $a para outra variável ou para !$a.

Modelo expandido se $a=true então $b=10, com a condição $a=true selecionada para edição

A tabela seguinte lista as dicas utilizadas nos modelos de código PHP e as descrições das dicas.

Dica descrição
newVarName O valor do parâmetro deve ser um nome de variável novo. Geralmente utilizado com default.
default="" Valor padrão do parâmetro.
instanceof="" Tipo da variável PHP definida no parâmetro.
variableFromPreviousAssignment O valor do parâmetro a variável mais próxima atribuída anteriormente. Geralmente utilizada com instanceof e default.
variableFromNextAssignmentName O valor do parâmetro é o nome da variável mais próxima atribuída depois do modelo de código. Geralmente utilizado com default.
variableFromNextAssignmentType O valor do parâmetro é o tipo da variável mais próxima atribuída depois do modelo de código. Geralmente utilizado com default.
editable=false O valor do parâmetro não pode ser editado depois que o modelo for expandido.

Parâmetros predefinidos

O NetBeans vem com parâmetros predefinidos que podem ser utilizados ao criar modelos de código. É possível predefinir parâmetros adicionais no Gerenciador de modelo. Observe também as regras especiais para a alteração do formato da variável ${date}.

  • ${date} insere a data atual neste formato: Fev 16, 2008
  • ${encoding} insere a codificação padrão, como: UTF-8
  • ${name} insere o nome do arquivo.
  • ${nameAndExt} insere o nome do arquivo, junto com a sua extensão.
  • ${package} insere o nome do pacote Java no qual o arquivo é criado. (somente Java)
  • ${time} insere a hora atual, neste formato: 7:37:58 PM
  • ${project.license} com base no valor (por exemplo, 'CDDL'), o cabeçalho da licença é localizado e inserido no modelo.
  • ${project.name} insere o nome do projeto.
  • ${project.displayName} insere o nome de exibição do projeto.

Adicionando definições de parâmetro

É possível definir parâmetros adicionais no Gerenciador de modelo.

Para definir um parâmetro:

  1. Na barra de menu do IDE, vá a Ferramentas > Modelos. O gerenciador de modelos do se abre.
    Gerenciador de modelo mostrando a localização de User.properties
  2. Expanda a categoria Outro. Clique duas vezes em Propriedades. O arquivo User.properties é aberto no editor.
  3. Defina um parâmetro. Por exemplo, defina o parâmetro ${user} para adicionar os nomes aos modelos que você criou. A sintaxe é
    user=LorumIpsum@mycompany.com

    Quando um modelo de código é expandido, todas as ocorrências de ${user} em tal modelo são substituídas por 'LorumIpsum@mycompany.com'.

  4. Adicione quantos parâmetros desejar, com a sintaxe name=value.

A definição do parâmetro segue a linguagem de modelo Java FreeMarker. Para obter mais informações, consulte a página wiki do NetBeans sobre FreeMarker.

Formatando o parâmetro ${date}

A variável ${date} é de tipo String, não de tipo Date. É necessário converter ${date} para um tipo Date para que se possa alterar seu formato. For exemplo, para mostrar somente o ano, digite o seguinte no seu modelo de código:

${date?date?string("yyyy")} 

Criando modelos de código próprios

Você também pode criar seus próprios modelos de código no NetBeans IDE. Esta seção explica como criar modelos de código, explora a sintaxe e sugere alguns modelos úteis para criar.

Para criar um modelo de código:

  1. Abra Ferramentas > Opções (NetBeans > Preferências no Mac), selecione os recursos do Editor e selecione a aba Modelos de código.
    Modelos de código PHP na janela Opções, com o modelo cli selecionado
  2. Clique no botão Novo, que está à direita da tabela de modelos. A caixa de diálogo Novo modelo de código se abre. Digite a abreviatura que deseja para o modelo e clique em OK.
    Caixa de diálogo Novo modelo de código solicitando a abreviatura do modelo
  3. É adicionada uma nova linha à tabela de modelos de código. Esta linha contém somente a abreviatura fornecida. O cursor está na aba Texto expandido, colocado automaticamente pelo IDE. Você pode começar a digitar imediatamente o código do modelo.

    Nota: para saber mais sobre a sintaxe do texto expandido do modelo de código, consulte a seção Sintaxe do modelo de código PHP.

    Digitando o texto expandido do novo modelo abb

As seções a seguir descrevem alguns casos de uso para a criação dos seus próprios modelos de código PHP. Se tiver algum outro caso de uso para sugerir, compartilhe-o com a comunidade no fórum dos usuários de PHP.

Caso de uso: inserindo PHP no HTML

Se inserir frequentemente fragmentos de PHP em blocos de HTML, você pode criar um modelo de código HTML que insere o PHP sem que seja necessário digitar <?php ?> repetidamente.

O modelo de código a seguir insere uma instrução echo do PHP no HTML.

Idioma: HTML
Abreviatura: php
Texto expandido
<?php echo ${cursor}   ?>

Janela Opções mostrando o novo modelo php no html

Caso de uso: Joomla

Os modelos de código pode ajudá-lo a utilizar as estruturas PHP no NetBeans IDE, especialmente estruturas que não apresentam suporte incorporado. Este é o modelo de código que um usuário desenvolveu para ser utilizado com Joomla.

Idioma: PHP
Abreviatura: joomdef
Texto expandido
defined('_JEXEC')
or die('Restricted access');
${cursor}

Caixa de diálogo Opções com o novo modelo de código joomdef

Caso de uso: conexão MySQL

Os desenvolvedores de PHP precisam geralmente criar uma conexão com um banco de dados MySQL. Este modelo de código cria uma conexão para você. A variável atribuída à conexão MySQL tem o nome do espaço reservado link. Observe o uso do cifrão "triplo" $$$, na realidade um cifrão duplo, que produz um único cifrão quando expandido, seguido pelo parâmetro do nome da variável.

Idioma: PHP
Abreviatura: my_con
Texto expandido
$$${CONLINK newVarName default="link"} = mysql_connect('localhost', 'mysql_user', 'mysql_password');  
if (!$$${CONLINK}) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($$${CONLINK});
${cursor}

Novo modelo de código para conexão MySQL

Caso de uso: ação no controlador Zend

Em vez de utilizar o assistente do NetBeans para criar uma ação, é possível utilizar um modelo de código para inserir uma ação em um controlador Zend Framework, como indexController{}.

Idioma: PHP
Abreviatura: zf_act
Texto expandido
public function ${functionName}Action () {
${selection}${cursor}
}

O novo modelo de código da ação Zend

Caso de uso: elemento de formulário Zend

Este modelo insere um elemento em um formulário Zend. Use-o depois de gerar um formulário chamando o comando Zend create form <name>.

Idioma: PHP
Abreviatura: zf_element
Texto expandido
$$${ELEMENT newVarName default="element"} = new Zend_Form_Element_Submit('submit', array('label' => 'Send data to server'));  
$$this->addElement($$${ELEMENT});
${cursor}
Novo modelo de código para elementos Zend Framework a serem inseridos nos formulários ZF

 


Veja também

Para obter mais informações sobre a tecnologia PHP no netbeans.org, consulte os seguintes recursos:

Para enviar comentários e sugestões, obter suporte e manter-se informado sobre os desenvolvimentos mais recentes dos recursos de desenvolvimento em PHP no NetBeans IDE, junte-se à lista de usuários