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

