spottydj
Messages postés13Date d'inscriptionmercredi 12 octobre 2005StatutMembreDernière intervention13 juillet 2008 13 juil. 2008 à 14:28
Non car ces évènements sont des interactions avec le client (le navigateur). D'ailleurs, on ne parle pas ici d'évènements tout fait, mais de la création d'évènements.
Il n'est pas possible d'intercepter un évènement client via le code PHP uniquement.
cs_mouradinfo
Messages postés3Date d'inscriptionlundi 4 février 2008StatutMembreDernière intervention13 juillet 2008 13 juil. 2008 à 10:19
bon jour,
as que il y a comme : onclick(),onchange(),onmosumove()...............ect.
spottydj
Messages postés13Date d'inscriptionmercredi 12 octobre 2005StatutMembreDernière intervention13 juillet 2008 4 avril 2007 à 18:14
Pour ceux qui disent qu'on peut pas parler vraiment d'evenementiel, je leu dis que l'evenementiel ne s'arrête pas a l'interaction client/serveur ou utilisateur/programme, mais c'est bien la réaction du programme à un évenement (ici la voiture dépasse la limite).
Donc OUI, programmation evenementielle avec PHP ^^
et Merci pour ce bout de code sympa !
dwarft
Messages postés8Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 5 décembre 2007 19 févr. 2007 à 17:17
Ton code est vraiment sympa.
Cela ressemble beaucoup au design pattern d'état. L'idée est vraiment à creuser.
coooooool
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 18 févr. 2007 à 14:14
Au fait c'est de la pub pour porsche.:)
En plus t'as oublié le contôle d'identité ,et si le conducteur s'appelle sarko, il faut le relacher.:-)
guill76
Messages postés193Date d'inscriptionmercredi 24 août 2005StatutMembreDernière intervention 3 juin 2016 18 févr. 2007 à 14:07
Salut, ce concept existe déjà dans certains frameworks php il suffit de regarder prado.
Mais bon ça oblige à consacrer 1 à 2 heure de temps pour en comprendre les mécanismes, alors qu'ici c'est quand même moins dense et c'est plutôt clair.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 16 févr. 2007 à 16:32
De toute facon, il te faut une classe abstraite pour y mettre le __call() et que toutes tes classes filles héritent derrière.
:)
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 16 févr. 2007 à 12:23
@ Dominion... ajax n'a rien à voir dans ce cas... ici il sagit d'évènementiel interne à php et non pas d'interaction client/serveur... d'ailleurs étant interne à php peut on réellement parler d'évènementielle... quoi qu'il en soit bonne idée... .. . ;o)
@ tchaOo°
cs_dominion
Messages postés230Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention15 mai 2008 16 févr. 2007 à 00:09
LocalStone << AJAX, je le redis, pour les interactions client-serveur en PHP. Néanmoins c'est vrai que du coup, l'évènementiel se retrouve plus au niveau du JavaScript...
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 15 févr. 2007 à 22:29
Oups ... Désolé ...
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 15 févr. 2007 à 21:15
Sympa comme exemple ^^
Par contre c'est Porsche et non Porche lol
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 15 févr. 2007 à 18:20
Ceci étant, les Events via exception ne marche pas si on compte faire plusieurs Events de suite :)
Dans ce cas la, il faut bien se faire une classe d'Event qu'on doit instancier à chaque fois :s
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 15 févr. 2007 à 18:06
Je sais que c'est une erreur :)
Mais l'erreur d'origine ne serait elle pas de dire qu'on utilise PHP évenementiellement alors que ca n'est pas vrai ?
L'évenementielle, c'est intéragir avec l'utilisateur. Hors PHP ne peut pas intéragir avec un client.
"L'évenement" que tu envoies, je peux l'envoyer via une exception. On peut appeler ca du throwing.
Ce que tu envoies, tu veux le récupérer... appelons ca du catching.
C'est ce que fait les exceptions. Alors oui, tu vas me dire, exceptions c'est pas fait pour ca :p Mais si je faisais :
class Event extends Exception {
public function __construct(.....);
}
throw new Event('.....'), ..., ... , ...);
et puis :
try {
..
..
} catch (Event $e) {
//
}
C'est pas pareil à ton avis ? ;)
Et tu n'y auras vu que du feu :p
Voila mon point de vue :p
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 15 févr. 2007 à 17:49
Oula oula ... Oui, c'est vrai que l'on peut avoir un comportement identique, mais c'est vraiment une énorme faute de méthodologie d'utiliser ta méthode (sauf ton respect bien sûr ^^). Bah oui, les exceptions, c'est totalement différent des évenements. Générer une exception dans un script permet d'éviter certain bugs en l'attrapant et en faisant l'action appropriée pour éventuellement pouvoir l'éviter et faire que le script continu son déroulement normal.
Mais néanmoins, c'est vrai que c'est joli avec les exceptions ...
++ !
L.S.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 15 févr. 2007 à 16:25
La même chose peut être fait avec les exceptions pour pas grand chose niveau modification :)
try {
$john = new PoliceOfficier('3845-5214');
$porche = new Car('Porche');
$porche -> start();
$porche -> accelerate(10); // faut lui dire de combien tu veux monter ta vitesse au passage :)
// etc...
} catch (VitesseException $v) {
echo 'Tu es allé trop vite. Ta vitesse actuelle a été intercepté par '.$v->OfficerName().' à la vitesse de '.$v->FlashedSpeed().'.';
}
Il suffit d'étendre les exceptions et de faire mumuse avec ca :)
Ca marche presque pareil, à ceci près que tu as des tests en moins.
Mais pas mal :)
Epoc22
Messages postés198Date d'inscriptionlundi 28 février 2005StatutMembreDernière intervention14 novembre 20081 15 févr. 2007 à 13:01
Je capte rien à quoi ça sert.
cs_dominion
Messages postés230Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention15 mai 2008 15 févr. 2007 à 11:47
je sais pas si ça t'intéresse mais, si tu veux faire de l'évènemenciel PHP sur ta page (en client side donc), tu peux aussi jeter un oeil sur AJAX dans google...
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 15 févr. 2007 à 10:52
Bah merci pour vos commentaires ... Et ce 10/10 est sympa aussi :D ! Je suis en cours, mais je vais essayer de commenter le code dès que j'aurais un peu de temps.
L.S.
TheSin
Messages postés331Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention10 février 2009 15 févr. 2007 à 09:31
Je trouve le concept intéressant, c'est du joli travail :-)
ejbye7
Messages postés9Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention15 février 2007 15 févr. 2007 à 08:58
Rôôô, c'est Bôôô...
Mais ça me rappelle de mauvais souvenirs...
Une remarque: rajoute quelques commentaires.
Merci en tout cas.
@+
EJ
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 15 févr. 2007 à 02:57
tu n'as pas à rougir de l'exemple policier-voiture
13 juil. 2008 à 14:28
Il n'est pas possible d'intercepter un évènement client via le code PHP uniquement.
13 juil. 2008 à 10:19
as que il y a comme : onclick(),onchange(),onmosumove()...............ect.
4 avril 2007 à 18:14
Donc OUI, programmation evenementielle avec PHP ^^
et Merci pour ce bout de code sympa !
19 févr. 2007 à 17:17
Cela ressemble beaucoup au design pattern d'état. L'idée est vraiment à creuser.
coooooool
18 févr. 2007 à 14:14
En plus t'as oublié le contôle d'identité ,et si le conducteur s'appelle sarko, il faut le relacher.:-)
18 févr. 2007 à 14:07
Mais bon ça oblige à consacrer 1 à 2 heure de temps pour en comprendre les mécanismes, alors qu'ici c'est quand même moins dense et c'est plutôt clair.
16 févr. 2007 à 16:32
:)
16 févr. 2007 à 12:23
@ tchaOo°
16 févr. 2007 à 00:09
15 févr. 2007 à 22:29
15 févr. 2007 à 21:15
Par contre c'est Porsche et non Porche lol
15 févr. 2007 à 18:20
Dans ce cas la, il faut bien se faire une classe d'Event qu'on doit instancier à chaque fois :s
15 févr. 2007 à 18:06
Mais l'erreur d'origine ne serait elle pas de dire qu'on utilise PHP évenementiellement alors que ca n'est pas vrai ?
L'évenementielle, c'est intéragir avec l'utilisateur. Hors PHP ne peut pas intéragir avec un client.
"L'évenement" que tu envoies, je peux l'envoyer via une exception. On peut appeler ca du throwing.
Ce que tu envoies, tu veux le récupérer... appelons ca du catching.
C'est ce que fait les exceptions. Alors oui, tu vas me dire, exceptions c'est pas fait pour ca :p Mais si je faisais :
class Event extends Exception {
public function __construct(.....);
}
throw new Event('.....'), ..., ... , ...);
et puis :
try {
..
..
} catch (Event $e) {
//
}
C'est pas pareil à ton avis ? ;)
Et tu n'y auras vu que du feu :p
Voila mon point de vue :p
15 févr. 2007 à 17:49
Mais néanmoins, c'est vrai que c'est joli avec les exceptions ...
++ !
L.S.
15 févr. 2007 à 16:25
try {
$john = new PoliceOfficier('3845-5214');
$porche = new Car('Porche');
$porche -> start();
$porche -> accelerate(10); // faut lui dire de combien tu veux monter ta vitesse au passage :)
// etc...
} catch (VitesseException $v) {
echo 'Tu es allé trop vite. Ta vitesse actuelle a été intercepté par '.$v->OfficerName().' à la vitesse de '.$v->FlashedSpeed().'.';
}
Il suffit d'étendre les exceptions et de faire mumuse avec ca :)
Ca marche presque pareil, à ceci près que tu as des tests en moins.
Mais pas mal :)
15 févr. 2007 à 13:01
15 févr. 2007 à 11:47
15 févr. 2007 à 10:52
L.S.
15 févr. 2007 à 09:31
15 févr. 2007 à 08:58
Mais ça me rappelle de mauvais souvenirs...
Une remarque: rajoute quelques commentaires.
Merci en tout cas.
@+
EJ
15 févr. 2007 à 02:57