[Framework] PHPRedesign - 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 : [Framework] PHPRedesign (/showthread.php?tid=5818) |
RE: [Framework] PHPRedesign - srm - 22-11-2011 Donne l'utilité des Collections et Hashmap stp. Tout ceci en tout cas ne change pas ce que j'ai dit plus haut -> C'est en gros rajouter une surcouche à tout l'ensemble des types de base pour avoir un truc plus propre et plus "langage typé", c'est un travail "intéressant" mais au final pas trop utile en réel, tu ne pourras que toucher de loin la force d'un langage typé. RE: [Framework] PHPRedesign - niahoo - 22-11-2011 (22-11-2011, 03:04 PM)oxman a écrit : C'est en gros rajouter une surcouche à tout l'ensemble des types de base pour avoir un truc plus propre et plus "langage typé", c'est un travail "intéressant" mais au final pas trop utile en réel, tu ne pourras que toucher de loin la force d'un langage typé. C'est bien pour ça que je disais : « il faut voir ce que ça apporte réellement par rapport à la lenteur ajoutée » parce que je me dis qu'avec de bons tests unitaires, y a moyen de faire quelque chose de propre. D'un autre côté les types hints c'est super aussi. RE: [Framework] PHPRedesign - qwarnant - 22-11-2011 (22-11-2011, 03:59 PM)oxman a écrit : Donne l'utilité des Collections et Hashmap stp. Les collections permettent de stocker dans une structures de données des objects de même type. Par exemple, je suis fermier et je veux regrouper toutes mes vaches dans un même endroit. Je vais faire appel à une collection qui contient toute une série de méthodes prédéfinies (add, remove, size, clear, ...) pour gérer ce sheptel de vaches. Au constructeur de collection, je passe le generic, qui est le type d'object de la collection. Je passe également la structure de données que je veux pour implémenter la collection. Normalement, dans le meilleur des mondes, Collection devrait être une interface. Mais à cause des limites du langage, je suis obligé de gérer les ClassCastException, je propose donc une solution alternative qui permet de garder le principe de la collection, tout en l'adaptant pour le PHP. Code PHP :
Une Hashmap, comme son nom l'indique, enregistre tout une série d'objet dans une structure de données en utilisant la méthode hashcode définie dans la classe de l'objet dont la hashmap est remplie. Exemple, si j'ai un objet String, que sont hashcode retourne 1 (c'est très simple dans ce cas ci), elle sera positionné en 1 dans la hashmap. Si je peux récupérer l'object, je fais un get(String) et mon hashcode va directement à l'indice. Je te conseille de chercher sur Google pour le reste car les collections et les hashmaps sont des concepts assez important, il me serait assez long de tout expliquer ici. Mes méthodes seront documentées en PHPDoc, vous pourrez donc facilement comprendre ! Une classe que je viens d'implémenter également est la classe Properties, qui étend hashtable est qui permet de charger des paramètres de configuration d'un fichier sous la forme : Citation :param1=urlserveurL'utilisation : Code PHP :
Ce n'est là que le début, un travail énorme est encore à fournir pour implémenter la majeur partie des points manquants de PHP. RE: [Framework] PHPRedesign - qwarnant - 23-11-2011 Preview du travail d'hier et aujourd'hui Début du développement du package swing, équivalent à la librairie swing et awt de Java pour les composants graphiques. Ce package permettra d'utiliser très simplement des composants graphiques jQuery, comme les JSlider par exemple. L'importation du package swing pourra être désactivé dans le framework si le développeur ne veut pas l'utiliser. J'avance assez lentement dans la classe Hashmap, car j'ai du mal à trouver une bonne routine de hashing pour insérer les éléments, je vais devoir aussi gérer le problème de collisions en implémentant une autre structure de données pour l'overflow. Ce sera sûrement une file avec des noeuds, du moins c'est la seule structure de données assez performante pour l'instant. Si vous avez des questions, avis, je répondrai bien volontiers. RE: [Framework] PHPRedesign - srm - 23-11-2011 Ma foi c'est un travail intéressant pour la théorie RE: [Framework] PHPRedesign - qwarnant - 23-11-2011 Merci ! Travail de ce soir Utilisation des composants swing : Code PHP :
J'attends vos commentaires. RE: [Framework] PHPRedesign - Angelblade - 23-11-2011 C'est php qui génére les boîtes de dialogue javascript? C'est pas dans mes habitudes mais pourquoi pas. RE: [Framework] PHPRedesign - qwarnant - 24-11-2011 Oui, c'est cela, c'est géré comme un objet avec toute une série de méthodes dessus, plusieurs constructeurs, ... Autres exemples : Code PHP :
RE: [Framework] PHPRedesign - Sephi-Chan - 24-11-2011 (23-11-2011, 11:22 PM)Angelblade a écrit : C'est php qui génére les boîtes de dialogue javascript? Le langage côté serveur peut très bien créer un élément HTML neutre et invisible qui seront utilisées par Javascript. Bootstrap et jQuery UJS le font et c'est vraiment sympa à utiliser. Après, je ne sais pas ce que Quent va faire : si le fragment génère du Javascript, là par contre c'est la loose. Concernant le projet, c'est intéressant pour l'aspect didactique, mais je n'en vois pas bien l'intérêt pour un usage réel. Je pense qu'il vaut mieux utiliser un bon langage que d'en surcoucher un mauvais, non ? RE: [Framework] PHPRedesign - srm - 24-11-2011 Exactement Sephi-Chan, c'est pour ça que je l'invite à regarder du côté du Scala, ou alors de rester sur Java |