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.
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.
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.
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:
Expandir o modelo utilizando a abreviatura do modelo seguida da tecla Tabulação (ou de outra tecla ou de uma combinação de teclas definida por você).
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.
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:
Crie um arquivo PHP vazio.
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.
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.
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:
Digite cla no bloco PHP de um arquivo PHP.
Espere que a caixa de diálogo para autocompletar de código se abra.
Localize o novo modelo classe, que está listado com a abreviatura (cls). O quadro do PHPDoc mostra o modelo expandido.
Clique no novo modelo classe. O IDE o insere no código.
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.
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 .
Para incluir o código em um modelo if(true):
Crie um bloco PHP com as variáveis $a = true e $b = 10.
<?php $a = false;
$b = 10; ?>
Selecione a linha $b = 10; /li> selecionada
Clique duas vezes no ícone Dica ou pressione Alt-Enter. A caixa de diálogo Incluir em... se abre.
Clique em Incluir em if{true){...
O IDE inclui a linha $b = 10; em um modelo if(true){....
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.
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.
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:
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.
A iteração tem duas variáveis como parâmetros, $index e $array. $index é selecionada automaticamente para edição.
Digite i. Todas as três instâncias de $index mudam para $i.
Pressione Enter. O parâmetro $array é selecionado.
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:
Em um bloco PHP vazio, digite o seguinte código:
<?php
$arr = array(new ArrayIterator($array()), new ArrayObject($array()));
?>
Depois da linha que declara a matriz $arr, digite fore e use autocompletar de código para inserir o modelo foreach (abreviatura: fore).
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 }
?>
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.
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.
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}.
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).
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.
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) ...
...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.
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:
Na barra de menu do IDE, vá a Ferramentas > Modelos. O gerenciador de modelos do se abre.
Expanda a categoria Outro. Clique duas vezes em Propriedades. O arquivo User.properties é aberto no editor.
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'.
Adicione quantos parâmetros desejar, com a sintaxe name=value.
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:
Abra Ferramentas > Opções (NetBeans > Preferências no Mac), selecione os recursos do Editor e selecione a aba Modelos de código.
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.
É 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.
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} ?>
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}
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.
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} }
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}
Blog sobre NetBeans para PHP. Blog escrito por desenvolvedores do editor PHP do NetBeans. O melhor lugar para saber mais sobre os últimos recursos e aprimoramentos.
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