fckruz 2 Denunciar post Postado Fevereiro 16, 2014 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.phpclass 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.phpinterface 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
Gabriel Jacinto 74 Denunciar post Postado Fevereiro 16, 2014 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
hinom 5 Denunciar post Postado Fevereiro 16, 2014 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
fckruz 2 Denunciar post Postado Fevereiro 16, 2014 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
fckruz 2 Denunciar post Postado Fevereiro 16, 2014 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
hinom 5 Denunciar post Postado Fevereiro 16, 2014 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