Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fckruz

CRUD, OOP Genérica

Recommended Posts

Pessoal criticas são bem vindas hehehhee bora pra dúvida!

 

pensando em CRUD OOP minha primeira inspiração em realizar seria assim:

 

index.php

$crud = new Crud();
$read = $crud->retrieve('usuario', '*', 'id ASC', 'id = 1');
classe.php
class Crud {

    public function retrieve($table, $column, $order = null, $where = null) {

        $sql = "SELECT $column FROM $table";
        empty($where) ? : $sql .= " WHERE $where";
        empty($order) ? : $sql .= " ORDER BY $order";

        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();

        $queries = $stmt->fetchAll(PDO::FETCH_ASSOC);

        return $queries;
    }

}
interface.php
interface Icrud {
    public function retrieve($table, $column);
}

em primeiro momento parece que diminui a responsabilidade da index.php mas por outro lado aumenta bastante a responsabilidade da classe.php, não estaria trocando 6 por meia dúzia??

 

claro, pensando em uma classe mais genérica, esse é o caminho das pedras? ou apenas uma organização de códigos em classes que não tem nada haver com oop.

 

bora pra discussão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá pra separar mais ainda as responsabilidades, criando classes só para SQL: :seta: http://forum.imasters.com.br/topic/401441-organizar-cdigo/#entry1572696

Compartilhar este post


Link para o post
Compartilhar em outros sites

CRUD e OOP são assuntos distintos..

 

Procure entender separação de camadas. A base começa pelo MVC (Model View, Control).

 

O "index.php"... basicamente utilize-o como bootstrap e nada mais..

Bootstrap é um conjunto de abstração de dados essenciais para o carregamento do aplicativo sob um determinado ambiente.

 

Sei que o que postou foi um exemplo, porém, a nomenclatura está estranha..

 

Crud -> retrieve()..

 

é bem estranho pois CRUD é

Create

Read (isso aqui seria o que vc nomeou como "retrieve")

Update

Delete

 

 

Estude o básico do CakePHP pois é uma ótima base para entender um CRUD OOP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá pra separar mais ainda as responsabilidades, criando classes só para SQL: :seta: http://forum.imasters.com.br/topic/401441-organizar-cdigo/#entry1572696

 

Que aula do João Batista Neto, vamos estudar mais!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Read (isso aqui seria o que você nomeou como "retrieve")

 

Retrieve significa "recuperar", no caso dessa classe achei mais interessante usar este nome do que read "ler" e nos projetos que tenho visto cada desenvolvedor usa um jeito diferente como "VEIA: Visualizar, Excluir, Inserir, Alterar" ou ainda "BREAD: Browse, Read, Edit, Add e Delete", mas te entendo, é bom quando outro programador olha sua classe e sabe exatamente para que serve cada trecho do código e respectivamente suas variáveis.

 

Procure entender separação de camadas. A base começa pelo MVC (Model View, Control).

 

Posso estar equivocado mas não acho que MVC tenha a ver com OOP, quero dominar totalmente o OOP antes de somar mais uma metodologia em meus projetos como o MVC que sinceramente não acho que tenha muito a ver com a realidade dos http://

Compartilhar este post


Link para o post
Compartilhar em outros sites

O MVC não tem relação alguma com OOP.

 

Sobre as nomenclaturas, é em relação a redundâncias e não aos seus significados e diferentes variações.

 

E falando mais sobre nomenclatura, o padrão aconselhável e aceitável a nível global é o padrão internacionalizado, cuja predominância é do inglês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.