JeuWeb - Crée ton jeu par navigateur
[Résolu]Question de débutant sur les classes (soyez indulgent merci) - 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 : [Résolu]Question de débutant sur les classes (soyez indulgent merci) (/showthread.php?tid=3539)



[Résolu]Question de débutant sur les classes (soyez indulgent merci) - horexas - 14-01-2009

Bonjour voila j'ai lu quelques tutoriels sur la POO mais j'ai des problèmes.
Tout d'abord j'ai une page class.php (contenant une classe),
1.puis je mettre plusieurs pages dans cette classe?.

Ensuite j'ai une page utilisant la class:
2. Le require doit il se baser sur la page class.php ou / la class et la page (ex class_1.class.php)
Code PHP :
<?php
require 'class.php';
$class = new class();
echo
$class->$array['20'];
?>
Finalement quand je fais require la page il m'indique sur mon script toute la class et si j'appele la class qui est dans la page class.php il m'ecris
Code PHP :
<?php 
Warning
: require(class.class.php) [function.require]: failed to open stream: No such file or directory in /home/horexas/public_html/essaiclass.php on line 2

Fatal error
: require() [function.require]: Failed opening required 'class.class.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/horexas/public_html/essaiclass.php on line 2



RE: Question de débutant sur les classes (soyez indulgent merci) - Allwise - 14-01-2009

Salut,
pour répondre à ta première question :
Citation :1.puis je mettre plusieurs pages dans cette classe?.
Il serait plus correct de dire que tu peux mettre plusieurs classes dans un fichier php ( ce que tu appelles page ? ).
Mais dans un soucis d'organisation, et de convention aussi, on met généralement une classe dans un fichier.

Avant de répondre à ta deuxième question :
On a les classes, les fichiers php, et les pages web.
Les classes se situent dans des fichiers php qui se situent sur le serveur.

La page web, c'est autre chose. L'internaute demande une page :
" Je veux la page index.php"
La requête part au serveur web, qui fait son affaire et qui renvoie une réponse à l'internaute : la page.
La page peut être issue d'un seul fichier, mais aussi de plusieurs fichiers... Donc essaie de pas trop te mélanger les pinceaux Wink

Si j'ai tout compris, tu appelles ta classe MaClasse depuis un fichier MonFichier.

Il faut que le fichier depuis lequel tu appelles ta classe MaClasse "dispose" de son code source pour pouvoir l'instancier.
Donc, il faut que tu places l'include du fichier contenant MaClasse dans le fichier MonFichier.

Enfin, l'erreur t'indique tout simplement que le fichier que tu appelles n'a pas été trouvé.

----------------------------------------------
Si ça peut t'aider :
Fichier MaClasse.php
Code PHP :
<?php


class MaClasse{

public function
bonjour()
{
echo
"Chaaloute !";
}

}


?>

Fichier test.php ( celui qui appelle MaClasse )
Code PHP :
<?php

require_once('MaClasse.php');

$obj = new MaClasse();
$obj->bonjour();

?>
Il faut que dans ton navigateur, tu appelles le fichier test.php Wink


RE: Question de débutant sur les classes (soyez indulgent merci) - Ter Rowan - 15-01-2009

de plus n'appelle pas ta classe "class"

quand je lis

$class = new class();

je suis pratiquement sûr que ça ne peut pas marcher

tu me sembles confondre les mots clefs (class, ou array après) avec des variables, nomme tes variables avec des noms qui ne veulent rien dire en php , ce sera plus simple


enfin pas de

$toto->$titi (tu le fais dans $class->$array['20']; )

mais
$toto->titi
tu ne dois pas mettre de $ pour appeler le membre titi


RE: Question de débutant sur les classes (soyez indulgent merci) - horexas - 15-01-2009

merci enorment mon script fonctionne^^


RE: [Résolu]Question de débutant sur les classes (soyez indulgent merci) - gameprog2 - 21-01-2009

Content que ton code marche^^
Cependant même si ça marche, retiens bien la remarque de Ter Rowan :
"Nomme tes variables avec des noms qui ne veulent rien dire en php"
(Noms de variables qui ne soient pas des commandes d'un langage : PHP ou autre).