Qual conceito de orientação a objeto que você não consegue aplicar? -- Marcus Cavalcanti 21 9144-5068 www.marcuscavalcanti.net/blog
2009/5/6 Daniel Nascimento <[email protected]> > Pessoal, Obrigado mesmo pela ajuda! > > Agora consegui entender bem como isso funciona no CodeIgniter. Pelo visto > não conseguimos aplicar todos os conceitos da Orientação a objeto aqui né? > > Valeu pela recomendação... vou continuar minha leitura na documentação do > CodeIgniter. > > Abraços. > > 2009/5/6 Rafael V. de Oliveira <[email protected]> > > Daniel, >> >> >> >> O que pretendes fazer não dá. Não é assim que o CI trabalha. Sugiro que >> não coloque parâmetros no construtor do modelo. O exemplo dado no post pode >> ser desta forma: >> >> >> >> No controller >> >> $this->load->model('usuario'); >> >> $this->usuário->set_valor('nome', $nome); >> >> $this->usuario->imprimeDados(); >> >> >> >> E no model >> >> class Usuario extends *Model* >> >> { >> >> >> >> var $nome; >> >> >> >> function usuario() >> >> { >> >> parent::Model(); >> >> } >> >> >> >> function set_valor($campo, $valor) >> >> { >> >> $this->$campo = $valor; >> >> } >> >> >> >> function imprimeDados() >> >> { >> >> printf('Nome: %s<br />', $this->nome); >> >> } >> >> >> >> } >> >> >> >> Entendeu mais ou menos? >> >> Alias, recomendo que dê uma lida neste link: >> http://codeigniter.com/user_guide/libraries/loader.html >> >> >> >> *De:* [email protected] [mailto: >> [email protected]] *Em nome de *Daniel Nascimento >> *Enviada em:* terça-feira, 5 de maio de 2009 21:20 >> *Para:* CodeIgniter Brasil >> *Assunto:* Re: [CodeIgniter] Dúvida com $this->load->model no controller >> >> >> >> Roberto, obrigado pela resposta. >> >> Na verdade ajudou e complicou um pouco ao mesmo tempo... hehehe. >> >> Não entendi o que você quis dizer quando escreveu isso: >> $user = new Usuario($nome,$email,$sexo,$login,$senha); // na documentação >> do CI ele ensina como fazer, se tu quer inserir um usuário depois de >> carregar o usuariomodel tu poderia fazer o seguinte: >> $this->usuariomodel->nome = $nome; >> $this->usuariomodel->email = $email; >> $this->usuariomodel->sexo = $sexo; >> $this->usuariomodel->login = $login; >> $this->usuariomodel->senha= $senha; >> imprimeDados($this->usuariomodel); >> >> No meu caso eu tenho uma classe Usuário e quero chamar seu construtor para >> instanciar um objeto, pelo que eu entendi no que você escreveu eu não >> conseguirei chamá-lo e sim devo setar os parâmetros um a um. >> >> Não existe uma forma de eu executar o construtor da classe Usuario >> passando os parâmetros para ele? >> >> Ahh!! O imprimeDados é só um método de teste que eu criei que iria >> imprimir todos os dados do objeto da classe usuário. >> >> Abraços. >> >> 2009/5/5 Roberto Almeida Longhi <[email protected]> >> >> Daniel, >> >> Tudo bom ? >> Verifiquei o código, e segue alguns comentarios. >> >> Daniel Nascimento escreveu: >> >> Boa Tarde a todos. >> >> Sou novo aqui na lista e estou começando agora a mexer com o Code Igniter. >> Estou fazendo uma aplicação para estudo aqui e surgiu uma dúvida. >> >> Fiz o seguinte controller: >> >> class Usuario extends Controller { >> >> public function Usuario(){ >> parent::Controller(); >> } >> >> public function novo(){ >> $nome = 'Daniel Nascimento'; >> >> $email = '[email protected] <mailto:[email protected]>'; >> >> >> $sexo = 'M'; >> $login = 'dnascimento'; >> $senha = 'teste123'; >> >> /* Carregando o Model de Usuarios */ >> >> >> >> $this->load->model('usuario/usuario'); *// isso quer dizer que tu >> tem uma pasta usuario dentro da pasta model e dentro da pasta usuario tu tem >> o arquivo usuario.php. O CI recomenda algo parecido com a linha abaixo.* >> >> * $this->load->model('usuariomodel');* >> >> *E dentro deste model tu aciona o metodo que precisa. e acessa as >> propriedades. >> * >> >> $user = new Usuario($nome,$email,$sexo,$login,$senha); *// na >> documentação do CI ele ensina como fazer, se tu quer inserir um usuário >> deveria fazer o seguinte* >> >> *Depois de carregar o usuariomodel tu poderia fazer o seguinte: >> $this->usuariomodel->nome = $nome; >> **$this->usuariomodel->email = $*email*; >> **$this->usuariomodel->sexo = $*sexo*; >> **$this->usuariomodel->login = $*login*; >> **$this->usuariomodel->senha= $*senha*; >> **imprimeDados(**$this->usuariomodel**); >> >> Alias, o que tu quer dizer com imprime dados ? >> Se for exibir somente, pode chamar uma view ... que é o aconselhavel ... >> >> Ajudei ou piorei sua situação ? >> =] >> >> []'s >> * >> >> $user->imprimeDados(); >> } >> } >> >> Tenho um model de usuarios dentro da pasta model/usuario/usuario.php. Fiz >> o load do model através do comando /$this->load->model('usuario/usuario');/ >> A minha dúvida é: Como faço para instanciar um objeto da classe Usuario >> através do controller, tentei fazê-lo da seguinte forma porém não consegui. >> $user = new Usuario($nome,$email,$sexo,$login,$senha); >> $user->imprimeDados(); >> >> Alguma sugestão? >> >> Abraços. >> >> -- >> *Daniel Barbosa do Nascimento Filho* >> /SQA - Analista de Qualidade >> VirtualRox - Soluções Digitais >> >> http://www.virtualrox.com/ >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Lista mailing list >> [email protected] >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> >> >> -- >> Roberto Almeida Longhi >> Programador >> Contmatic >> (11) 2942 6700 Ramal 1404 >> (11) 8599 9022 >> www.contmatic.com.br >> >> >> _______________________________________________ >> Lista mailing list >> [email protected] >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> >> >> >> -- >> *Daniel Barbosa do Nascimento Filho* >> *SQA - Analista de Qualidade >> VirtualRox - Soluções Digitais >> http://www.virtualrox.com* >> >> _______________________________________________ >> Lista mailing list >> [email protected] >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> > > > -- > *Daniel Barbosa do Nascimento Filho* > *SQA - Analista de Qualidade > VirtualRox - Soluções Digitais > http://www.virtualrox.com* > > _______________________________________________ > Lista mailing list > [email protected] > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > >
_______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

