JeuWeb - Crée ton jeu par navigateur
php __autoload - 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 __autoload (/showthread.php?tid=6659)

Pages : 1 2 3


RE: php __autoload - Xenos - 22-02-2013

@Oxman
Effectivement, les deux points de vue sont acceptables :p

@php_addict:
En C/C++ on peut faire de l'héritage multiple (qui aboutit au fameux problème d'héritage en losange d'ailleurs :p) Mais PHP permet d'implémenter, sur une classe, plusieurs interfaces. En Java on plus, je crois qu'on ne peut pas faire de l'héritage multiple.

@Sephi
Eyuup, les langages web sont des veaux, mais le réseau en lui-même est un troupeau de "petits bébés vaches", donc finalement, à quoi bon avoir une appli web en C++ qui s'exécute en 1ms alors que le réseau coince pendant 1 à 2s?!

@php_addict
Si tu veux alléger le code, oui, évite auto-load, mais si c'est pour perdre 2h par script pour faire les includes, c'est pas rentable.
Si t'aimes le point de vue "ultra-rigoureux" qu'on retrouve dans C/C++ (auquel tu compare peut-être le PHPOO), alors, oriente-toi vers les include; si tu préfère la souplesse et le "moins je tape de lignes mieux je me porte", choisit auto-load.


RE: php __autoload - php_addict - 22-02-2013

Sephi-Chan a écrit :Non, ma question c'est : Quelles structures vas-tu utiliser pour représenter les entités (joueurs, personnages, etc.) que tu vas stocker et extraire de ta base de données ?

par fonctionnalités, exemple de classes: Session, Batiments, ResolutionActions, Joueur, Village

merci pour les conseils, je ne connaissais pas le terme d'héritage de classe, heuresuement que cela n'existe pas en php sinon j'aurais été tenté de faire de la merde Confusediffle:

je voyais plutot l'__autolad comme une sécurité en cas d'oublis d'inclusion de classe, cela semble t il cohérent?

je vais méditer sur la question, en tout cas merci pour vos réponses toujours aussi precieuses, claires et rapides, j'adore ce forum!


RE: php __autoload - Xenos - 22-02-2013

Comme sécurité, oui. Tu peux tout à faire utiliser l'auto-load pour afficher "Eh, attention! t'as oublié d'inclure le fichier <bidule> contenant la classe <truc>, lorsque la ligne <machin> du fichier <chose> a été exécutée" (heureusement qu'il n'y a pas besoin d'un 5e <*>, car je suis à court de noms génériques...)


RE: php __autoload - php_addict - 24-02-2013

bon voilà, je viens de restructurer le code, tout encapsulé dans des classes, finalement l'_autolad n'est pas utilisé pour le moment mais je testerais à mes heures perdues, cela semble vraiment intéressant pour un projet de la taille d'un web game

rien à voir, mais du coup vu que mon code est mieux structuré, j'économise pas mal de mémoire, grosso modo 900Ko de RAM économisé par script en moyenne, forcement, j'inclus que ce qui est nécessaire, vu que tout est pas trop mal rangé ;-) ...pas de réelle incidence que la vitesse d’exécution, faut dire 900ko à compiler en plus c'est pas la mort, mais bon, pour un petit serveur dédié c'est cool quand même de ne pas lui en mettre plein la tronche pour rien...bon c'était pas le but mais c'est cool quand même


RE: php __autoload - Xenos - 25-02-2013

Dans l'absolue, 900Ko, ca veut pas dire grand chose (900Ko de mémoire gagnée sur Crysis 3¼, ca change rien... Et oui, je sais que Crysis 3 c'est comme le i9, ca n'existe pas, mais c'est pour là encore ne pas faire de pub :p).
Il faudrait avoir la proportion avant/après ("j'ai gagné X pour cent").


RE: php __autoload - niahoo - 25-02-2013

Ben en même temps Crysis 3 il est prévu et dans les fournaux, donc pour le pas de pub c'est raté :tusors:


RE: php __autoload - Xenos - 25-02-2013

Et Crysis 3¼, c'est bon? :p


RE: php __autoload - niahoo - 25-02-2013

Ce sera un DLC avec des armures payantes. par contre -1 je pense que ça doit passer Smile


RE: php __autoload - php_addict - 01-03-2013

(25-02-2013, 10:00 AM)Xenos a écrit : Dans l'absolue, 900Ko, ca veut pas dire grand chose (900Ko de mémoire gagnée sur Crysis 3¼, ca change rien... Et oui, je sais que Crysis 3 c'est comme le i9, ca n'existe pas, mais c'est pour là encore ne pas faire de pub :p).
Il faudrait avoir la proportion avant/après ("j'ai gagné X pour cent").

ca depend des page web, mais la plupart du temps aux environs des 30%


RE: php __autoload - php_addict - 04-03-2013

une autre petite question sur l'__autoload

pourquoi ne pas faire ceci ai lieu de la technique des under_score (noms des repertoire où le / est remplacé par _ dans le nom de la classe) et au lieu de la technique des namespace.?

est ce ridicule de faire ca? :


<?php
function __autoload($classname)
{
if($classname == 'class1') include_once ('class/class1.php');
if($classname == 'class2') include_once ('class/class2.php');
}

$class1 = new class1();

$class2 = new class2();
?>


j'imagine que cette fonction doit etre incluse dans chaque controleur ou controleur principale non?