Jump to content

targa

Members
  • Content count

    7
  • Joined

  • Last visited

Community Reputation

0 Comum

About targa

  1. targa

    PHP Uso dos métodos __get e do __set

    Nossa, quanta informação boa! Repensei bastante nas varias possibilidades de refatorar o código. Algumas coisas, não conhecia e tive estudar outras ainda estou abstraindo? Estou postando parte do Código para caso queiram olhar ou dar algumas sugestões. Este código foi gerado com base no livro PHP - Programando com Orientação a Objeto. Se tiverem algumas dicas de outros livros, agradeço. <?php class Maquinas extends Classe { private $id; // equipamento private $nome; private $dataCadastro; private $dataInstalacao; private $responsavel; private $destinacao; // hardware 0/5 private $especificacao; private $marca; private $modelo; private $serialNumber; private $patrimonio; // software 0/2 private $so; private $software; private $softwarePrincipal; private $softwareAdicionais; // Rede 0/5 private $ip; private $nomeServidor; private $localLogico; private $alias; private $monitoramentoWhatsup; // Infra private $tensao; private $amper; // Aquisição/Lotação/Convenio private $especificacao; // Assistencia Técnica 0/7 private $processo; private $empresa; private $telefone; private $situacao; private $inicioVigencia; private $fimVigencia; private $valor; // informações adicionais 0/1 private $infoAdicionais; // não agrupados private $switch; private $contrato; private $assinatura; private $observacao; public function __construct() { parent::__construct(); } // método que faz o mapeamento para auxiliar na geração de SQL baseado no livro // foram feitas alterações para auxiliar na geração de formulários // e para que consiga obter os atributos do objetos com nome diferente da coluna da tabela. // cada chamada de método aqui, penso em criar um objeto para criar uma agregação/composição não sei ainda. protected function defineCampos() { $this->getCampos()->addCampo("id", "codigo", true, "cod"); $this->addCamposEquipamentos(); $this->addCamposHardware(); $this->addCamposSoftware(); $this->addCamposRedes(); $this->addCamposInfra(); $this->addCamposAssistencia(); $this->getCampos()->addCampo("infoAdicionais", "Informações Adicionais", true, "outrasi"); $this->addCamposNaoAgrupados(); } private function addCamposEquipamentos() { $this->getCampos()->addCampo("id", "Grupo", true, "grupo"); $this->getCampos()->addCampo("nome", "id", true, "nome"); $this->getCampos()->addCampo("dataCadastro", "Data de Recebimento", true, "datac"); $this->getCampos()->addCampo("dataInstalacao", "Data de Instalação", true, "datai "); $this->getCampos()->addCampo("responsavel", "Responsável", true, "resp"); $this->getCampos()->addCampo("destinacao", "Destinação", true, "destina"); } private function addCamposHardware() { // ... } private function addCamposSoftware() { // .. } private function addCamposRedes() { // .. } private function addCamposInfra() { // .. } private function addCamposAssistencia() { // .. } private function addCamposNaoAgrupados() { // .. } // gets and sets }
  2. Boa tarde! Desculpe, caso seja um tema básico, pois estou entrando no mundo do PHP OO agora. Criei uma classe que teria umas quantidade grande de atributos e com os gets e sets, o netbeans começou alertar que a classe deveria ter no máximo 200 linha. Em uma consulta com o objetivo de diminuir, encontrei os métodos __get e __set e surgiu algumas dúvidas: Apesar de ter toda a estrutura, isto seria mesmo Orientação a Objeto? Não seria o mesmo que tornar os atributos publico, uma vez que você chama "$classe->atributo"? O melhor caminho não seria, refatorar a classe em classes menores ou esta é um boa pratica de programação? O que acontece com os recursos de autocompletar, tem com ativá-los? Obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.