utilisation de classe propre à PHP

Mammouth du PHP | 843 Messages

01 mars 2008, 14:20

salut à tous :)

je vient de decouvrir la classe DateTime de php qui me permet des travaux simplifiés sur les dates.
j'ai fait ainsi m'a j'ai une erreur:
// on definit la date de prochaine action
$date_action = new DateTime($_SESSION['last_date_action']); // date d'action au format Y-m-d
$date_action->modify("+".$_SESSIONS['frequence_action']." month"); 
$date_action->format("Y-m-d");
$limit_date_action = $date_newsletter; // on sauve la date de controle (condition) au format Y-m-d
$date_action->format("d-m-Y");
$previous_date_action = $date_newsletter; // on sauve la date d'action au format d-m-Y pour affichage
// on detruit l'objet
unset($date_newsletter);

echo 'la date au format Y-m-d: '.$limit_date_action.'<br />la date au format d-m-Y: '.$previous_date_action;

j'ai l'erreur suivante:
Catchable fatal error: Object of class DateTime could not be converted to string in C:\~~\momscript.php on line 329
1°) Si quelque'un a une idée sur ce problème ?
[EDIT]: je vient de trouver pour l'erreur:
// on definit la date de prochaine action
$date_action = new DateTime($_SESSION['last_date_action']); // date d'action au format Y-m-d
$date_action->modify("+".$_SESSIONS['frequence_action']." month"); 
$limit_date_action = $date_action->format("Y-m-d"); // on sauve la date de controle (condition) au format Y-m-d
$previous_date_action = $date_action->format("d-m-Y"); // on sauve la date d'action au format d-m-Y pour affichage
// on detruit l'objet
unset($date_newsletter);

echo 'la date au format Y-m-d: '.$limit_date_action.'<br />la date au format d-m-Y: '.$previous_date_action;
Il ne reste plus que ce point en suspend ;)

2°) Où puis je trouver la source de cette classe et une documentation précise de celle-ci (j'ai regarder la doc php mais il me detail en fait que l'appel aux methodes de celle-ci) ?


merci d'avance pour vos réponse ;)
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

ViPHP
ViPHP | 4674 Messages

02 mars 2008, 12:17

2°) Où puis je trouver la source de cette classe et une documentation précise de celle-ci (j'ai regarder la doc php mais il me detail en fait que l'appel aux methodes de celle-ci) ?
C'est bienlà tout le problème. Hier j'ai du bosser sur une classe de PHP (la StdClass), impossible de trouver les sources ni la doc associée, j'ai tout fais avec l'introspection (voir la réfléxion avec PHP 5). Sinon regarde chez helly dans la doc de la SPL, tu peux trouver des choses intéressantes parfois (mais je n'ai rien trouvé là).

Si jamais tu trouves, fais moi signe, ça m'a handicapé plus d'une fois.

Edit :
Je mets le lien même s'il ne te concerne pas forcément : http://www.php.net/~helly/php/ext/spl/.
Modifié en dernier par Hywan le 02 mars 2008, 12:21, modifié 1 fois.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 259 Messages

02 mars 2008, 12:20

@HyWaN :
La StdClass n'est pas qu'une structure ? Y'a des trucs à en tirer par reflexion ?

ViPHP
ViPHP | 4674 Messages

02 mars 2008, 12:25

@HyWaN : La StdClass n'est pas qu'une structure ? Y'a des trucs à en tirer par reflexion ?
La StdClass a des propriétés intéressantes (dans sa façon d'accéder à ses membres notamment) mais comme elle ne gérait pas les itérations et countation (:P Iterator et Countable), j'ai du reprogrammer une classe qui se comporte strictement de la même façon avec ça en plus. Ça m'a pris quelques heures, mais avec les sources, j'aurais fais un travaille plus rapide je pense :?.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 259 Messages

02 mars 2008, 12:42

Bigre !
J'imaginais que la StdClass se limitait à ça :
Class StdClass{
}
et tirait parti de la gestion dynamique des variables pour le reste...
Allez, j'arrête de polluer ce topic :)

Mammouth du PHP | 843 Messages

02 mars 2008, 15:57

ok j'ai regarder du coté de Reflexion et j'ai eu resultat de 9 methodes pour DateTime.
j'ai compter cote de la doc php et ces 9 methode sont documentées. pa contre rien du coté de SPL sur cette classe...

par contre, existe t'il un truc different que ceci pour arriver à avoir le code sources complet de la classe DateTime ?
Reflection::export(new ReflectionClass('DateTime'));
la seul sources trouver via google est sur l'aggregation de classe dont les exemple sont posé sur DateTime...

merci d'avance pour votre aide ;)
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 505 Messages

02 mars 2008, 21:15

tu devrais downloader les sources de php et aller jeter un coup d'oeil dans le repertoire ext...
A mon avis, c'est la dedans que tu trouveras ton bonheur