Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MatheusSilva

Poo

Recommended Posts

ola pessoal, desenvolvendo um sistema de newsletter me surgiu uma duvida, eu queria transormar em POO mas nao sabia como (com POO o codigo fica mais limpo) crei uma funçao

 

<?php
class enviar{

function enviar_email($remetente, $destinatario, $mensagem){
     	$data = date('D/M/Y');
     	$mensagem = strip_tags(trim($mensagem));
     	$destinatario = trim($destinatario);
     	$remetente = trim($remetente);
     	$assunto = 'NewsLetter  dia: '.$data;
	  $enviar = mail($destinatario, $assunto, $mensagem);  
	}

}

 

beleza, a funçao funciona normalmente, mas nao sei chamar ela.

 

em outra pagia eu incluo este arquivo...beleza..

 

eu sei até isto:

$email = new enviar();

 

apartir daqui nao sei como inserir minha funçao para poder alocar as variaveis em seus devidos lugares.

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é pq é POO que o codigo vai ficar mais limpo

so depende de como você vai fazer

 

outra forma

$array = array com email de todos quem vão receber;

$email = new enviar();
$email-> to( $array )
$email-> from( ... )
$email-> subject( ... )
$email-> message( ... )
$email-> send()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for para programar dessa forma, não use class.

Faça apenas uma function mesmo.

 

Não tem nada de POO nisso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente oque o William Bruno Disse, não tem nada de POO nisso, não faça pra ser bonito. faça para ser funcional, não utilize recursos que você não domina uma parte do conhecimento para desenvolver todo sistema baseado nele ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

use POO quando for NECESSÁRIO... não somente quando te der na telha...

 

por exemplo... pra validar um documento...

 

pra fazer conexões com banco de dados... e fazer outras funções pra interagir com banco de dados...

 

pra ser tudo mais dinamico e que PRINCIPALMENTE o código seja REUTILIZAVEL....

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é pq é POO que o codigo vai ficar mais limpo

so depende de como você vai fazer

 

outra forma

$array = array com email de todos quem vão receber;

$email = new enviar();
$email-> to( $array )
$email-> from( ... )
$email-> subject( ... )
$email-> message( ... )
$email-> send()

Nesse exemplo, valendo-se de Fluent Interfaces poderia ficar até melhor:

 

$mail = new Mail( $optionalHeaders );
$mail -> from( $ourMail )
     -> to( $addresses )
     -> subject( 'Message Subject' )
     -> message( $message )
     -> send() // Aqui interrompe-se a cadeia, impedindo um próximo método de ser chamado como antes

Dê uma lida nos artigos sobre OOP aqui do Fórum. Apesar de não estar completo, logo nos primeiros capítulos você consegue uma verdadeira noção do que realmente é OOP.

 

Não basta enfiar um punhado de function's em uma class.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fluent Interface e show :joia:

Porem é legal quando tudo que está correndo entre cada metodo acessado apos a instancia do mesmo ser retornada ter um proposito, como um cliente SOAP .. imaginando:

 

$SOAP = new SOAPClient( 'o wsdl do webserviçe' );
$SOAP->prepareRequest( 'seu xml, removendo oque seja desnecessário' )->sendRequest()->getResponse();

Então você teria 3 Etapas, Preparar, Enviar, Recuperar a Resposta

Como o do Bruno Augusto, você prepara { Pra quem vai enviar, quem envia, assunto, mensagem ) e então apos ter toda sua formatação

você envia .. :P

 

por exemplo... pra validar um documento...

 

Qual á utilidade de POO em validação de documentos ? :huh: :ermm:

Por exemplo você tem 3 documentos pra validar, supondo CPF, CPNJ, RG ..

Você cria 3 metodos apenas pra te retornar se é verdadeiro ou falso ?

Faz function normal kara, isso pra min é disperdiçar processamento ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual á utilidade de POO em validação de documentos ? :huh: :ermm:

Por exemplo você tem 3 documentos pra validar, supondo CPF, CPNJ, RG ..

Você cria 3 metodos apenas pra te retornar se é verdadeiro ou falso ?

Faz function normal kara, isso pra min é disperdiçar processamento ..

 

bom... eu não acho inutil criar uma classe pra validar documentos, pois se você criar uma função apenas, em outro projeto tem que pegar akelas funções novamente, e se não tiver mais os arquivos, tem que escrever novamente, e criando uma classe não... você pode somente copiar o arquivo e pronto... POO eh PRATICIDADE, reaproveitamento de código...

Compartilhar este post


Link para o post
Compartilhar em outros sites
POO eh PRATICIDADE, reaproveitamento de código...

POO é outra coisa.

 

praticidade e reaproveitamento de codigo, já existiam muito antes do paradigma de orientação a objetos.

http://www.wbruno.com.br/blog/2011/04/29/afinal-e-orientacao-objetos/

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que escrever novamente, e criando uma classe não... você pode somente copiar o arquivo e pronto... POO eh PRATICIDADE, reaproveitamento de código...

Independente disso, se você 'fez' você 'sabe' , é se você 'sabe' você consegue fazer novamente

Agora vou te falar uma coisa, na minha sincera opinião quanto a sua resposta:

não existe 'classe pra quando precisar', pelo menos pra mim

quando você aceita realizar um trabalho, você de inicio, não vai ter o esboço do projeto pronto

então isso já torna prováveis coisas que você já tinha em mente, descartáveis ..

independente do que seja, se for alterar, gravar, inserir em um banco de dados

se for xml, xsl, txt, pdf .. enfim.

 

Pra mim, não existe function como você diz , pra trabalhar com banco de dados

o php já fornece uma otima variedade de objetos e resources para serem usados(as), então não tente reinventar a roda, apenas desenvolva oque você acha necessário para atender a demanda de seu cliente.. só daí então você vai ter que planejar sua estrutura do banco de dados ( se não houver uma pronta ), webserviçes, controle de fluxo etc ..

 

Pra min, não existe classe pra validar documentos, sem antes mesmo ter conhecimento do que será necessário e oque não será necessário em uma aplicação, você só faz esboço do projeto depois de seu cliente falar exatamente oque ele quer, e como quer, então não mude as regras do negocio, a sua opinião contra a dele e mínima, você e o desenvolvedor, mais ele quer aquilo daquele jeito, independente dos erros, falhas, prejuízos que vão lhe causar durante alguém estar usando o sistema dele, agora se ele pede uma coisa que você não acha que é possível, ou que você consiga fazer, discuta suas ideias em relação ao problema, ou então não faça se você não sabe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual á utilidade de POO em validação de documentos ? :huh: :ermm:

Por exemplo você tem 3 documentos pra validar, supondo CPF, CPNJ, RG ..

Você cria 3 metodos apenas pra te retornar se é verdadeiro ou falso ?

Faz function normal kara, isso pra min é disperdiçar processamento ..

 

bom... eu não acho inutil criar uma classe pra validar documentos, pois se você criar uma função apenas, em outro projeto tem que pegar akelas funções novamente, e se não tiver mais os arquivos, tem que escrever novamente, e criando uma classe não... você pode somente copiar o arquivo e pronto... POO eh PRATICIDADE, reaproveitamento de código...

 

Olá, Jonatã.

O usuário Andrey Knupp já me ajudou muito no assunto "programação" e claro, mais especificamente PHP. Confesso que a minha ideia sobre OOP era parecida com a sua, mas depois de realmente entender o tal conceito, vejo que a utilidade da OOP é bem distinta do que eu achava que era.

 

Discordo com você em parciais, afinal, para validações de formulários eu acho bastante expresso uma classe.

 

Abraço! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.