nic0tin4
27-11-2009, 09:54
Ciao ho la seguente classe che invia messaggi con paramtri fissi, devo modificare la seguente classe in modo da poter inviare sia messaggi con parametri fissi che messaggi senza parametri (solo stringa), idea su come posso fare?
class Message {
private $data = array();
private $mail=null;
private $del=null;
public function __construct($data, $protMail, $delimitatore){
$this->data=$data;
$this->mail=$protMail;
$this->del = $delimitatore;
$this->setCustomText();
}
private function setCustomText(){
foreach ($this->data as $key=>$value) {
$this->mail = preg_replace("/$this->del$key$this->del/", $value, $this->mail);
}
}
public function getMessage() {
return $this->mail;
}
}
$DEL = '<d#l>' ;
//private $patterns = array('/d#lNOME/','/d#lCOGNOME/','/d#lARTICOLO/','/d#lDATA/');
$prova = array('NOME' => 'Marco', 'COGNOME' => 'Rossi', 'ARTICOLO' => '123', 'DATA' => '21/10/09','DATA_1' => '22/9/09');
$protMessag ="Salve ".$DEL."COGNOME".$DEL." ".$DEL. "NOME".$DEL.",<br>questa e una prova in data ".$DEL."DATA_1".$DEL." articolo: ".$DEL."ARTICOLO".$DEL." data: ".$DEL."DATA".$DEL;
$testMsg = new Message($prova,$protMessag,$DEL);
echo $testMsg->getMessage();
Grazie!!!
class Message {
private $data = array();
private $mail=null;
private $del=null;
public function __construct($data, $protMail, $delimitatore){
$this->data=$data;
$this->mail=$protMail;
$this->del = $delimitatore;
$this->setCustomText();
}
private function setCustomText(){
foreach ($this->data as $key=>$value) {
$this->mail = preg_replace("/$this->del$key$this->del/", $value, $this->mail);
}
}
public function getMessage() {
return $this->mail;
}
}
$DEL = '<d#l>' ;
//private $patterns = array('/d#lNOME/','/d#lCOGNOME/','/d#lARTICOLO/','/d#lDATA/');
$prova = array('NOME' => 'Marco', 'COGNOME' => 'Rossi', 'ARTICOLO' => '123', 'DATA' => '21/10/09','DATA_1' => '22/9/09');
$protMessag ="Salve ".$DEL."COGNOME".$DEL." ".$DEL. "NOME".$DEL.",<br>questa e una prova in data ".$DEL."DATA_1".$DEL." articolo: ".$DEL."ARTICOLO".$DEL." data: ".$DEL."DATA".$DEL;
$testMsg = new Message($prova,$protMessag,$DEL);
echo $testMsg->getMessage();
Grazie!!!