JeuWeb - Crée ton jeu par navigateur
PHP, vos astuces pour palier à ses défauts ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : PHP, vos astuces pour palier à ses défauts ? (/showthread.php?tid=5696)

Pages : 1 2 3 4 5 6 7 8


RE: PHP, vos astuces pour palier à ses défauts ? - Argorate - 19-09-2011

Oui, c'est ce que je fais déjà, en gros on fait le travail à la main avec un if (ou switch) ^^


RE: PHP, vos astuces pour palier à ses défauts ? - Sephi-Chan - 19-09-2011

Et tu as regardé la première proposition ? Si non, fais-le. Si oui, qu'en penses-tu ?


RE: PHP, vos astuces pour palier à ses défauts ? - Hideaki - 19-09-2011

La première proposition de Sephi est bien mais je la trouve trop lourde, je mettrais juste la fonction attack_by sans mettre une enveloppe pour l'utiliser avec la classe Character.
Pour le switch cas, je parle en général pas forcement pour ton code, en cas d'ajout d'un nouvelle élément qui pourrait interagir avec ton objet, il faudra ajouter un cas, ce n'est pas énorme mais si tu l'appliques la technique à l'ensemble de ton projet ...

Pour ma part, je n'ai pas ce soucis, vu que j'utilise JAVA Big Grin


RE: PHP, vos astuces pour palier à ses défauts ? - Sephi-Chan - 19-09-2011

(19-09-2011, 02:00 PM)Hideaki a écrit : La première proposition de Sephi est bien mais je la trouve trop lourde, je mettrais juste la fonction attack_by sans mettre une enveloppe pour l'utiliser avec la classe Character.

C'est pourtant la plus légère puisque les objets attaquables n'ont qu'à implémenter la méthode attacked_by. Moi je n'aime pas trop cette technique car ce n'est pas très objet d'utiliser la voie passive.

(19-09-2011, 02:00 PM)Hideaki a écrit : Pour ma part, je n'ai pas ce soucis, vu que j'utilise JAVA Big Grin

J'aurais probablement choisi Java si je n'avais pas découvert Ruby (on peut croire que ma phrase est ironique mais c'est très sérieux). Maintenant, la verbosité de Java et sa complexité et la complexité des frameworks me rebute. Même Play !


RE: PHP, vos astuces pour palier à ses défauts ? - Argorate - 19-09-2011

Oui, mais comme toi, je suis un peu retissant à utiliser la logique inverse (voie passive), donc je pense reste sur le if du coup...

Sinon autre problème que j'ai rencontrer:

$toto->getTiti()['tata'] est une syntaxe incorrecte, et c'est très chian de ne pas pouvoir accédez au liste (array) que l'on peut avoir dans un objet, pas de solution j'imagine a part une variable intermédiaire?


RE: PHP, vos astuces pour palier à ses défauts ? - Hideaki - 19-09-2011

@Sephi, ce qui me dérange c'est de faire une fonction attack qui appelle la fonction attack_by, je laisserais juste attack_by Smile

Pour certain framework, j'avoue qu'ils peuvent être lourd à mettre en place et parfois même à utiliser notamment struts mais l'utilisation de spring (spring security, spring mvc etc ) est sublime Big Grin que des avantages et extrêmement complet, seul sa couche DAO n'est pas au top ( iBatis ), l'utilisation de JPA est à mon sens plus sympa. Pour la verbosité de java, j'aime bien, le code devient plus compréhensible que le code C# par exemple ( et paf le tacle x) ), l'aspect écriture n'est pas si longue avec l'auto complétion ( rien à voir avec l'auto-complétion pour le php ).

Spring offre quelques choses qui pourrait http://www.grails.org et http://www.springsource.org/roo/


RE: PHP, vos astuces pour palier à ses défauts ? - Sephi-Chan - 19-09-2011

(19-09-2011, 04:07 PM)Argorate a écrit : $toto->getTiti()['tata'] est une syntaxe incorrecte, et c'est très chian de ne pas pouvoir accédez au liste (array) que l'on peut avoir dans un objet, pas de solution j'imagine a part une variable intermédiaire?

Aucune alternative que la variable, hélas.

(19-09-2011, 04:11 PM)Hideaki a écrit : Pour certain framework, j'avoue qu'ils peuvent être lourd à mettre en place et parfois même à utiliser notamment struts mais l'utilisation de spring (spring security, spring mvc etc ) est sublime Big Grin que des avantages et extrêmement complet, seul sa couche DAO n'est pas au top ( iBatis ), l'utilisation de JPA est à mon sens plus sympa. Pour la verbosité de java, j'aime bien, le code devient plus compréhensible que le code C# par exemple ( et paf le tacle x) ), l'aspect écriture n'est pas si longue avec l'auto complétion ( rien à voir avec l'auto-complétion pour le php ).

Pardon mais j'ai regardé la documentation de Spring et c'est super laid. Par exemple cette action de contrôleur plutôt quelconque (issu du site officiel) :


@RequestMapping(value = "/compare", method = RequestMethod.GET)
public String compare(@RequestParam("input1") String input1, @RequestParam("input2") String input2, Model model) {
int result = comparator.compare(input1, input2);
String inEnglish = (result < 0) ? "less than" : (result > 0 ? "greater than" : "equal to");
String output = "According to our Comparator, '" + input1 + "' is " + inEnglish + "'" + input2 + "'";

model.addAttribute("output", output);
return "compareResult";
}

Pardon mais c'est moche. Et je ne parle pas du corps de la méthode mais du foutoir qu'il y a autour (récupérer des paramètres, transmettre des données à la vue, etc.) !


RE: PHP, vos astuces pour palier à ses défauts ? - niahoo - 19-09-2011

(19-09-2011, 04:07 PM)Argorate a écrit : $toto->getTiti()['tata'] est une syntaxe incorrecte, et c'est très chian de ne pas pouvoir accédez au liste (array) que l'on peut avoir dans un objet, pas de solution j'imagine a part une variable intermédiaire?

C'est prévu pour php 5.4 il me semble



RE: PHP, vos astuces pour palier à ses défauts ? - Hideaki - 19-09-2011

L'article que tu as sélectionné est pour les utilisateurs de spring 2 et non pour les débutants Smile Ils ont juste voulu faire apparaitre le maximum de chose alors que la version minimaliste donnerait ceci :

@RequestMapping(value = "/compare")
public String compare(@RequestParam int input1, @RequestParam int input2, Model model) {

int result = input1 - input2;
String inEnglish = (result < 0) ? "less than" : (result > 0 ? "greater than" : "equal to");
String output = "According to our Comparator, '" + input1 + "' is " + inEnglish + "'" + input2 + "'";

model.addAttribute("output", output);
return "compareResult";
}
Le corps de la méthode est très laid à mon goût cependant c'est pour afficher une phrase quelconque. Il ne s'agit pas vraiment du site officiel mais d'un blog ce qui est légèrement différent, voir le lien officiel et tu noteras la différence ainsi que les nombreuses possibilités offertes.


RE: PHP, vos astuces pour palier à ses défauts ? - Sephi-Chan - 19-09-2011

Hm… Et honnêtement tu trouves ça beaucoup mieux (c'est une vraie question) ? :/