Void : 0 Denunciar post Postado Julho 30, 2006 Dá-lhe galera!! Então feras, estava brincando com OO aqui em casa, e pintou essa dúvida; Como é que funciona o esquema de associação entre classes no php !? Ou seja, como eu faço para dizer, que a classe X, tem papel Y na classe Z, sacaram!? Bom, aproveitando o post, ainda estou na busca de um frameworks show de bola em php, quem puder indicar um, eu agradeceria muito! Valeu[]'s http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
and 0 Denunciar post Postado Julho 31, 2006 opa,Beleza?Veja abaixo como você pode fazer isto:class cls_x{var $a;function fnc_x(){return "Function X!",}}class cls_dimension{var $x;function Z(){$x = new cls_x();print $this->fnc_x();}}Quanto ao frameWork, eu utilizo o Zend Studio 5.0, muito bom! Compartilhar este post Link para o post Compartilhar em outros sites
Void : 0 Denunciar post Postado Julho 31, 2006 Opa fera!! Valeu pela dica !! Outra dúvida.! No php, em orientação a objetos, tem como eu criar uma classe, que receba um array de objetos de outra classe. Exemplo prático. Eu tenho uma classe Usuarios.E queria criar uma classe ListadeUsuariosque receba um array de objetos do tipo Usuarios! Deu pra sacar !? Ps: Sobre o frameworks da zend, eu achei legal, mas para banco de dados, eu vi que ele tem uma deficiencia grande. Que é o fato, de que ele não suporte LEFT, ou Rights Joins .... isso mata ! Mas de resto, esse frameworks é bem interessante, eu baixei ele ... estou em dúvida se irei ou não utiliza-lo Valeuss! Compartilhar este post Link para o post Compartilhar em outros sites
Illidan 0 Denunciar post Postado Julho 31, 2006 Olá, Void! Como é que funciona o esquema de associação entre classes no php !? Ou seja, como eu faço para dizer, que a classe X, tem papel Y na classe Z, sacaram!? Não só no PHP, mas em qualquer linguagem que você programe com Orientação a Objetos, a relação entre as classes é a mesma. Basicamente, você deve enxergar a classe como um "molde" para um objeto. E o que é um objeto? Bom, basicamente, pode ser qualquer coisa... pensando na vida real, a cadeira em que você está sentado é um objeto. O teclado é outro. A sala em que você está é outro... isso não tem fim... e cada um desses objetos tem suas propriedades (que seriam as variáveis da classe) e executam tarefas (que seriam as funções). Uma classe deve conter definições para o objeto que será criado a partir dela. E somente isso! É um mau costume de alguns programadores enxergar as classes como um banco de variáveis e funções. Por exemplo, quando se cria uma classe para interação com o banco de dados e jogam tudo quanto é função nela, inclusive umas que não tem muito a ver com banco de dados. Uma coisa que você pode pensar quando for criar uma classe filha é: "A 'filha' é uma 'pai'??" Por exemplo, você cria uma classe "Database" e uma filha chamada "MySQLDatabase". Você pode dizer que um "MySQLDatabase" é um "Database", certo? Aí você poderia extender a Database para qualquer tipo de banco de dados. Esse assunto de OO é bem extenso... e infelizmente não há muitos tutoriais bons por aí, pois a maioria não passa esse conceito de "pensar em objetos" dentro do sistema. Mas tem um ou outro que vale a pena... dá uma fuçada pelo Google. ;) No php, em orientação a objetos, tem como eu criar uma classe, que receba um array de objetos de outra classe. Exemplo prático. Eu tenho uma classe Usuarios. E queria criar uma classe ListadeUsuarios que receba um array de objetos do tipo Usuarios! Opa, com certeza! =) Um "Usuário" é perfeitamente um objeto dentro do seu sistema, assim como uma "ListaDeUsuarios". Eu faria assim: criaria o construtor da "Lista" de forma que recebesse o array como parâmetro. []'s! Compartilhar este post Link para o post Compartilhar em outros sites
Void : 0 Denunciar post Postado Julho 31, 2006 Fala fera!! Velho Illidian, valeu pela dica, gostei do exemplo, bem prático ... O conceito de OO eu ja possuia ... mas confesso que não era muito bom, e creio que ainda não é muito bom para começar a programar (mas tudo tem um ínicio né!). Estou Lendo bastante, inclusive, lendo materiais de faculdade, mas estou aprendendo mais com esses exemplos práticos, do que com tutoriais complexos ... O próprio site do php, e do phpbrasil tem uns artigos bons para programação OO, eu acho. ----------- Sobre a classe Lista de Usuários, como ficaria ... ficaria marromeno assim: <?phpclass ListaUsuarios{ private $lista; public function __construct($a){ $this->lista=$a; } public function getValores(){ foreach ($this->lista as $key) { print "$key<br />\n"; } }}?><html><head><title>Untitled Document</title></head><body><?php $array = array ("Eu", "Só", "Estou", "Fazendo", "Testes"); $lista = new ListaUsuarios($array); $lista->getValores();?></body></html> Não sei se esta certo ! Da um look ae gente ! Eu pederia também um favor, caso possível, um exemplo de como passar um array de objetos por parametros. Compartilhar este post Link para o post Compartilhar em outros sites
Epyllion 0 Denunciar post Postado Julho 31, 2006 Fiz aqui um exemplo rápido, desculpe pela falta de detalhes e pelo tamanho do post. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif class ListaDeUsuarios { protected $lista; public function __construct($lista = array()) { self::SetLista($lista); } public function SetLista($lista) { $this->lista = $lista; } public function GetLista() { foreach ($this->lista as $obj_usuario) { printf("Id: %d Usuario: %s <br />", $obj_usuario->GetIdUsuario(), $obj_usuario->GetUsuario()); } } }class Usuario { protected $usuario; protected $id_usuario; public function __construct($id_usuario, $usuario) { self::SetIdUsuario($id_usuario); self::SetUsuario($usuario); } public function SetIdUsuario($id_usuario) { $this->id_usuario = $id_usuario; } public function SetUsuario($usuario) { $this->usuario = $usuario; } public function GetIdUsuario() { return $this->id_usuario; } public function GetUsuario() { return $this->usuario; }}$joao = new Usuario(1,'Joao');$pedro = new Usuario(2, 'Pedro');$antonio = new Usuario(3, 'Antonio');$andre = new Usuario(4, 'Andre');$maria = new Usuario(5, 'Maria');$ana = new Usuario(6, 'Ana');$array_lista_usuarios = array($joao, $pedro, $antonio, $andre, $maria, $ana);$obj_lista = new ListaDeUsuarios($array_lista_usuarios);$obj_lista->GetLista(); Qualquer dúvida, poste. Compartilhar este post Link para o post Compartilhar em outros sites
Void : 0 Denunciar post Postado Julho 31, 2006 aaahhh Feraa !!Valeu einn !!!Ainda não tive oportunidade de testar, mas fico feliz com a resposta !!Eu creio que ira funcionar !Valeu[]´s Compartilhar este post Link para o post Compartilhar em outros sites