[CodeIgniter] Chamar model dentro de model
Marco Telles
contato em pierdeipanema.com.br
Quinta Dezembro 6 22:03:25 BRST 2007
Oi Marcus, eu li todos eles e outros que eles indicavam... :-)
Newton, acho que agora entendi. :-)
O problema maior que vejo, citando meu caso: meu primeiro trabalho em
informática, nos idos de 1980, foi num mainframe IBM 4381 com cobol.
Passei por pascal, clipper e até mumps (que eu detestava) num
'supermicro' cobra, que de super não tinha nada... :-)
Tudo 'altamente' estruturado e procedural (tirando o mumps com seus
gotos para tudo quanto é lado)
[Como diria um amigo, momento zen: a galera mais jovem (estou com 47)
não faz idéia de como era difícil o aprendizado naquela época, com
poucas faculdades e cursos raríssimos (de qualidade). Livros, também
caros e na maioria importados ou com traduções terríveis.
Me afastei da informática (e aposentei) por motivos de saúde. Cansado de
não fazer nada (também cansa,rs) voltei sem muitas pretensões a
trabalhar como freela, aproveitando uma oportunidade em uma agência de
marketing de um amigo que precisava 'dinamizar' os sites de seus
clientes. E aí veio a complicação. O mundo tinha mudado, só via OOOOOO
em tudo quanto canto que entrava, mergulhei de cabeça há uns 2 anos
estudando OO e mais recentemente quando decidi que precisava evoluir e
sair do gedit para Eclipse e da programação na unha para os tão
propagados frameworks. Ao conhecer o CI o prazer de programar tem
voltado a cada dia, a cada nova descoberta.]
Então, parando por aqui (acabei me empolgando, rs) na verdade acho que o
problema é que grande parte ainda programa (ou tenta) orientado a
objetos mas pensando estruturadamente. É como um professor de inglês
dizia: se você pensa em inglês você fala em inglês. Acho que é por ai,
precisamos pensar OO para programar OO, e apesar de ser tão simples, é
muito difícil quando já temos os conceitos enraizados na mente.
Hoje ganhei o dia, foi uma discussão muito legal, em altíssimo nível,
sem ranços e produtiva.
Enfim, descobri que estava fazendo tudo errado :-[
Abraços.
Muita sorte para nós!
Marco Telles
#############
# Pier de Ipanema ( http://www.pierdeipanema.com.br/ )
# X-Trad Traduções BR ( http://www.x-trad.org/ )
# CodeIgniter PHP framework ( http://www.codeigniter.com.br/ )
# Ubuntu The power of free software ( http://www.ubuntu-br.org/ )
# Python Programming Language ( http://www.pythonbrasil.com.br/ )
Marcus Cavalcanti escreveu:
> Eu só acho q vou continuar achando que todo mundo pensa antes em
> implementação do que em conceito (analise, modelagem, comportamento)
> .. como as pessoas ficam presas a implementacao, acabam nao fazendo o
> que uma arquitetura propoe .. ai se perdem, ficam com duvidas, nao
> conseguem mudar ... isso sempre pq fulano ao inves de saber o que é
> modelo, quer saber o que tem nele, se tem método, se tem bean, se tem
> validação .. isso que eu acho errado e é o erro que eu mais vejo as
> pessoas cometerem...
>
> Outra coisa é que a grande maioria das pessoas que vejo em PHP em
> listas/fórums que frequentam acham que estão programando OO, mas não
> estão programando usando implementações OO (herança, objetos, classes,
> etc) mas não estão pensando como se deve pensar em OO .. as pessoas
> não se importam em saber o que é coesão, acoplamento, encapsulamento,
> o porque de uma herança, a diferença entre interface e classe
> abstrata, métodos estáticos, visibilidade .. o porque disso tudo, as
> pessoas apenas se prendem a saber o que determinada coisa faz, mas não
> como ela deve funcioanr... eu digo isso pq eu já pensei MUITO assim, e
> achava que estava certo .. ai comecei a estudar um pouco mais, ir pra
> outros projetos, outros lados e vi que o buraco era mais embaixo...
>
> Essa febre PHP5 x OO x Frameworks MVC acabou sendo boa e sendo ruim ..
> sendo boa pq as pessoas começaram a pensar diferente, a não pensar
> como script (programar procedural é bom também dependendo do contexto)
> e sim em sistemas, e aprender novas coisas. Mas foi ruim também pq
> como eu disse, como em PHP nunca se teve a prática de OO, de pensar
> assim, de estudar e de PHP tb ser uma linguagem muito fácil, então as
> pessoas ficam muito confusas em conceitos, e passam isso pra
> implementação ... não quero soar arrogante, eu quero ajudar, não sou o
> dono da verdade, mas qdo mandei aqueles 4 links foi para as pessoas
> pensarem na situação antes de codificar .. aposto que poucos leram ..
>
>
>
>
> On Dec 6, 2007 6:58 PM, Newton Wagner <newtonweb em gmail.com
> <mailto:newtonweb em gmail.com>> wrote:
>
> Marcus, também não exagera. heheheh. Se não daqui a pouco vão me
> xingar aqui. Esse é um tema bem confuso, e sempre que discuti ele ouvi
> diversas opiniões diferentes.
>
>
> Douglas, fazendo desta forma eu te pergunto: O tamanho de um campo
> DOCUMENTO em uma tabela CLIENTE é uma regra de negócio ou é apenas uma
> "validação de campo de formulário"?
>
> Pra mim é regra de negócio. Se for armazenar só CPF, é 11, se for CNPJ
> (cliente pessoa jurídica) é 14 (?), se for RG, depende do estado...
>
> Validar um e-mail é algo que também pode ser variável. Hoje você pode
> armazenar e-mail do cliente, no formato cliente em servidor.com
> <mailto:cliente em servidor.com>, mas um
> dia você decidiu que usa o skype como mensageiro oficial, aí o
> formato
> é só "apelido". Essa é uma regra de negócio?
>
>
> Respondam estas perguntas. Se alguém conseguir me responder dizendo
> que isto não é uma regra de negócio, eu ainda vou contrariar vocês,
> pois acho que dividir a mesma tarefa em diferentes camadas da
> aplicação não é uma boa idéia. (rs).
>
>
> --
> Newton Wagner
>
> skype: newtonwagner
> msn/gtalk: newtonweb em gmail.com <mailto:newtonweb em gmail.com>
>
> http://www.newtonwagner.net/blog
> - http://www.owshit.com.br/
>
>
> Em 06/12/07, Marcus Cavalcanti<marcus.cavalcanti em gmail.com
> <mailto:marcus.cavalcanti em gmail.com>> escreveu:
> > Como o Newtown falou, vcs estão entendendo tudo errado hehe
> >
> >
> > On Dec 6, 2007 6:02 PM, Douglas Matoso < douglas em rocknaveia.com
> <mailto:douglas em rocknaveia.com>> wrote:
> > > Sobre essa parte de validação, no meu curto tempo de MVC eu
> entendo o
> > seguinte:
> > >
> > > - O controller verifica os dados obrigatórios, tamanhos mínimos e
> > > máximos, se email está bem formado, etc.
> > > - O controller manda essas informações na forma correta para o
> model
> > > (que é a forma que o model espera)
> > > - O model então verifica coisas como se o email já está
> cadastrado, se
> > > o login já existe, etc. Se não, ele retorna pro controller a
> > > informação do erro (ou lança exceção), ou insere o dado se estiver
> > > tudo certo.
> > >
> > > Ou não...
> > >
> > > Abraços,
> > >
> > > Douglas Matoso
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Lista mailing list
> > > Lista em codeigniter.com.br <mailto:Lista em codeigniter.com.br>
> > >
> >
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> <http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br>
> > >
> >
> >
> > _______________________________________________
> > Lista mailing list
> > Lista em codeigniter.com.br <mailto:Lista em codeigniter.com.br>
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
> _______________________________________________
> Lista mailing list
> Lista em codeigniter.com.br <mailto:Lista em codeigniter.com.br>
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Lista mailing list
> Lista em codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
Mais detalhes sobre a lista de discussão Lista