PHP Getters e Setters
Extensão para Visual Studio Code que facilita a geração automática de métodos getters e setters em classes PHP.
Funcionalidades
- Identificação de classes PHP no arquivo aberto.
- Seleção da classe em que os métodos serão gerados.
- Seleção das propriedades para geração dos métodos.
- Geração de getters e setters.
- Opção para gerar somente getters ou somente setters.
- Reconhecimento de propriedades com tipos declarados.
- Suporte a propriedades
static, utilizando self::$propriedade.
- Reconhecimento de propriedades
readonly, sem geração de setters convencionais.
- Prevenção da geração de métodos duplicados.
- Inserção dos métodos diretamente na classe selecionada.
Requisitos
Instalação para desenvolvimento
- Clone ou baixe este repositório.
- Abra a pasta do projeto no Visual Studio Code.
- Pressione
F5 para abrir uma nova janela com a extensão em execução.
- Abra um arquivo PHP na janela de teste.
Como utilizar
- Abra um arquivo PHP que contenha uma classe.
- Posicione o cursor dentro da classe desejada. Se estiver fora de uma classe, será possível selecionar uma.
- Clique com o botão direito no editor.
- Selecione Gerar Getters e Setters (PHP).
- Escolha as propriedades desejadas.
- Selecione uma das opções:
- Getters e Setters;
- Somente Getters;
- Somente Setters.
- Os métodos serão inseridos no final da classe selecionada.
Exemplo
Considere a seguinte classe:
<?php
class Usuario
{
private string $nome;
private int $idade;
}
Ao selecionar as duas propriedades e escolher a opção Getters e Setters, a extensão poderá gerar:
public function getNome(): string
{
return $this->nome;
}
public function setNome(string $nome): void
{
$this->nome = $nome;
}
public function getIdade(): int
{
return $this->idade;
}
public function setIdade(int $idade): void
{
$this->idade = $idade;
}
Propriedades especiais
Propriedades estáticas
Para propriedades declaradas com static, os métodos gerados também serão estáticos e utilizarão self::$propriedade para acessar o atributo.
Propriedades somente leitura
Para propriedades declaradas com readonly, a extensão poderá gerar getters, mas não gerará setters convencionais.
Limitações conhecidas
A extensão utiliza expressões regulares para reconhecer a estrutura do código PHP. Por isso, algumas construções mais complexas podem não ser identificadas corretamente, incluindo propriedades promovidas no construtor e determinadas declarações de tipos avançados.
Tecnologias utilizadas
- JavaScript
- Visual Studio Code Extension API
- PHP
Licença
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter mais informações.