Boa tarde galera, estou iniciando com o php OO e com MVC, gostaria de saber se o trecho de código a baixo foge dos padrões, e se tem alguma melhoria para ser implementada.
Desde já agradeço a todos que colaborarem.
Veja, em OO, o encapsulamento é recomendado, porém, quando você encapsula atributos utilizando métodos assessores, os métodos com nomes iniciados em get são, normalmente, identificados como métodos para obter o valor de um atributo e não para definir o valor ao atributo.
E o nome da classe, ‘getData’, está bem estranho, também.
Creio que você esteja um pouco perdido com relação a isso.
Eu criaria um arquivo como “processaRequisicao.php” e nele colocaria o recebimento e validação dos parâmetros da requisição. Só então eu invocaria a criação dos objetos.
Eu estou iniciando com o PHP agora mas a algum tempo já programo com Java, a questão do nome da classe e o pilar do encapsulamento quebrado eu percebi, este exemplo eu encontrei na net dando uma pesquisada rápida.
Eu achei estranho em um arquivo criar a classe e instancia-lo no mesmo arquivo. Se fosse em java faria da seguinte forma
publicclassProcessaDadosextendsHttpServlet{publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException{//recuperaria os dados Stringnome=req.getParameter("nome");Stringemail=req.getParameter("email");//criaria o Modelo e realizaria o restante da regra}
L
Luis_Augusto_Santos1 like
É que java já encapsula esta parte, coisa que o PHP gerencia de forma diferente.
Você não precisa criar a classe e instanciar a mesma num único arquivo, pode criar a classe no arquivo específico e ter um outro só para essa outra parte da coisa.
K
Kleiton_A_Batista
Se for possível poderiam e exemplificar uma forma elegante de fazer isso?