Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2011, 11h07   #1
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
Par défaut option de classe dans un tableau

Bonjour je construit une classe qui étend les fonctionnalité de swiftmailer et pour être certain de construire de manière optimal ma classe j'aurai besoin de vos lumières (pas des ampoules ).
Voici comment je défini ou propose de définir les options smtp si utilisé.
Je veux être certain que c'est simple pour l'utilisateur d'utiliser ce procéder et surtout savoir si je suis dans le bon.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
class core_model_mail{
	/**
	 * 
	 * Enter description here ...
	 * @var unknown_type
	 */
	protected $_mailer;
	/**
	 * 
	 * défini les options de transport
	 * @var $_transport_options
	 */
	protected $_transport_options = array(
		        'setHost'=>'localhost',
		        'setPort'=>25,
				'setEncryption'=>false,
				'setUsername'=>false,
				'setPassword'=>false
			);
	/**
	 * 
	 * Constructor
	 * @param string $type
	 * @param array $options
	 */
	public function __construct($type,$Options=null){
		$this->_mailer = Swift_Mailer::newInstance(self::transportConfig($type,$Options));
	}
	/**
   * Get options from the library
   *
   * @return array The currently set options
   */
	private function getOptions() {
		return $this->_transport_options;
	}
    /**
     * INI transport
     * @param string $type
     * @param string $host
     * @param integer $port
     * @access public
     * @static
     */
    private function transportConfig($type='mail',$Options=null){
    	switch ($type){
    		case 'mail':
    			$config = Swift_MailTransport::newInstance();
    		break;
    		case 'smtp':
		    	if($Options) {
			      if(!is_array($Options)) {
			        throw $this->newException('Options must be defined as an array!');
			      }
			      else {
			      	$config = Swift_SmtpTransport::newInstance(
			      		$Options['setHost'],
			      		$Options['setPort'],
			      		$Options['setEncryption']
			      	)
			      	->setUsername($Options['setUsername'])
					->setPassword($Options['setPassword']);
			      }
			    }else{
			    	$config = Swift_SmtpTransport::newInstance(self::getOptions());
			    }
    		break;
    	}
    	return $config;
    }
}
EDIT: j'ai envoyer des correctifs, j'attends vos conseils ou correction
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h14.


 
 
 
 
Partenaires

Hébergement Web