Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2656 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP Class] - Création d'un objet et attribution de valeurs (tableau)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP Class] - Création d'un objet et attribution de valeurs (tableau)

n°1809406
darxmurf
meow
Posté le 07-11-2008 à 14:40:34  profilanswer
 

Hello,
 
Je suis en train de coder un générateur de formulaire en objet. étant donné que je ne suis pas encore expert dans les Class, il y a un truc que je ne comprends pas.
 
mes class
 

Code :
  1. // Basic class to define a new form
  2. class cForm {
  3.     var $name;
  4.     var $items = array();
  5. }
  6. // Basic class to define items
  7. class cItems {
  8. var $name;
  9. var $mandatory;
  10. }
  11. // Extended class of cItems
  12. class cItemsInput extends cItems {
  13. var $value;
  14. var $hidden;}


 
pourquoi est-ce que quand je code

Code :
  1. $userform = new cForm;
  2. $userform->name = "New User / User Modification";
  3. $userform->items[1] = new cItemsInput("valeur1", "0", "champ1", "1" );


 
aucune valeur ne se retrouve dans $userform-items[1]
alors que si je code

Code :
  1. $userform = new cForm;
  2. $userform->name = "New User / User Modification";
  3. $userform->items[1] = new cItemsInput;
  4. $userform->items[1]->value = "blablabla";


 
ça marche !
 
merci


Message édité par darxmurf le 07-11-2008 à 14:42:37

---------------
Des trucs - flickr - Instagram
mood
Publicité
Posté le 07-11-2008 à 14:40:34  profilanswer
 

n°1809436
dwogsi
Défaillance cérébrale...
Posté le 07-11-2008 à 14:59:41  profilanswer
 

Je sais pas...
T'as un constructeur correspondant aux paramètres que t'envoies dans cItemsInput?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1809440
skeye
Posté le 07-11-2008 à 15:13:46  profilanswer
 

on dirait que non.[:joce]
Il faudrait commencer par la base là non?[:joce]


---------------
Can't buy what I want because it's free -
n°1809442
darxmurf
meow
Posté le 07-11-2008 à 15:16:55  profilanswer
 

[:paysan] il doit me manquer quelques connaissances il me semble...

 

pour moi le fait de déclarer une class genre

 

class ma_class{
  var $nom;
}

 

suffisait

Message cité 2 fois
Message édité par darxmurf le 07-11-2008 à 15:18:04

---------------
Des trucs - flickr - Instagram
n°1809443
skeye
Posté le 07-11-2008 à 15:17:49  profilanswer
 

darxmurf a écrit :

[:paysan] il doit me manquer quelques connaissances il me semble...


Déjà, pourquoi tu utilises la syntaxe php4 et pas php5?
Ensuite, est-ce que tu as regardé un peu la doc, et les exemples?


---------------
Can't buy what I want because it's free -
n°1809447
darxmurf
meow
Posté le 07-11-2008 à 15:23:14  profilanswer
 

Justement je suis sur 2 ou 3 docs mais c'est pas vraiment clair...
il faudrait que je créé ça comme ça ?
 

Code :
  1. // Basic class to define a new form
  2. class cForm {
  3.   var $name;
  4.   var $items = array();
  5.   function__construct() {}
  6.   function__destruct() {}   
  7. }
  8. // Basic class to define items
  9. class cItems {
  10. var $name;
  11. var $mandatory;
  12.   function__construct() {}
  13.   function__destruct() {}   
  14. }
  15. // Extended class of cItems
  16. class cItemsInput extends cItems {
  17. var $value;
  18. var $hidden;}


 
??


---------------
Des trucs - flickr - Instagram
n°1809449
skeye
Posté le 07-11-2008 à 15:25:45  profilanswer
 

var est déprécié. Tu es dans quelle version de php?
et tes constructeurs/destructeurs s'ils sont vides ils feront rien.


Message édité par skeye le 07-11-2008 à 15:26:05

---------------
Can't buy what I want because it's free -
n°1809472
darxmurf
meow
Posté le 07-11-2008 à 15:36:38  profilanswer
 

ah bah ...
 
PHP 5...


---------------
Des trucs - flickr - Instagram
n°1809482
Profil sup​primé
Posté le 07-11-2008 à 15:38:46  answer
 

darxmurf a écrit :

[:paysan] il doit me manquer quelques connaissances il me semble...
 
pour moi le fait de déclarer une class genre
 
class ma_class{
  var $nom;
}
 
suffisait


Code :
  1. class ma_class{
  2.   protected $nom;
  3. ...
  4.   public function setNom($nom){
  5.      $this->nom = $nom;
  6.   }
  7.   public function getNom(){
  8.      return $this->nom;
  9.   }
  10. }


ceci est plus correct car tu maitrises ce que tu fais avec tes variables à l'intérieur de ta classe.


Message édité par Profil supprimé le 07-11-2008 à 15:39:04
n°1809484
skeye
Posté le 07-11-2008 à 15:40:12  profilanswer
 

darxmurf a écrit :

ah bah ...
 
PHP 5...


http://www.php.net/manual/fr/language.oop5.php
 
Bonne lecture.


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 07-11-2008 à 15:40:12  profilanswer
 

n°1809530
darxmurf
meow
Posté le 07-11-2008 à 15:57:04  profilanswer
 

j'y étais :jap: merci ! :)


---------------
Des trucs - flickr - Instagram
n°1809592
darxmurf
meow
Posté le 07-11-2008 à 16:48:18  profilanswer
 

donc si je comprends bien, il faudrait faire ça comme ça?
 

Code :
  1. class cItems {
  2. public $name, $mandatory;
  3. public function __construct($cname, $cmandotary){
  4.   $this->name = $cname;
  5.   $this->mandatory = $cmandatory;}
  6. }
  7. $userform = new cItems("valeur1", "non" );


 
[:paysan]


---------------
Des trucs - flickr - Instagram
n°1809595
skeye
Posté le 07-11-2008 à 16:53:53  profilanswer
 

par exemple.


---------------
Can't buy what I want because it's free -
n°1809601
darxmurf
meow
Posté le 07-11-2008 à 16:55:45  profilanswer
 

mais ça ne marche pas [:tinostar]
je tourne sous PHP 5.1


---------------
Des trucs - flickr - Instagram
n°1809608
skeye
Posté le 07-11-2008 à 16:57:34  profilanswer
 

darxmurf a écrit :

mais ça ne marche pas [:tinostar]
je tourne sous PHP 5.1


"ça marche pas" n'est pas un message d'erreur exploitable.:o


---------------
Can't buy what I want because it's free -
n°1809611
darxmurf
meow
Posté le 07-11-2008 à 16:58:20  profilanswer
 

skeye a écrit :


"ça marche pas" n'est pas un message d'erreur exploitable.:o


 
 
c'est pas faux...
 
quand je print le contenu de mon objet :  
 

Code :
  1. object(cItems)#1 (2) {
  2.   ["name"]=>
  3.   NULL
  4.   ["mandatory"]=>
  5.   NULL
  6. }


---------------
Des trucs - flickr - Instagram
n°1809613
skeye
Posté le 07-11-2008 à 16:58:56  profilanswer
 

montre ton script complet?


---------------
Can't buy what I want because it's free -
n°1809621
darxmurf
meow
Posté le 07-11-2008 à 17:04:01  profilanswer
 

hmmmmm chose étrange,

 

ma définition de class est dans un fichier class.php
ma création d'objet est dans un fichier creation.php
mon affichage d'objet est dans un fichier affichage.php

 

les 3 sont en include() dans mon index.php et ça donne le résultat de mon post précédent.

 

je viens de tout coller dans index.php comme ça

 
Code :
  1. class cItems {
  2. public $name, $mandatory;
  3. public function __construct($cname, $cmandotary){
  4.   $this->name = $cname;
  5.   $this->mandatory = $cmandotary;}
  6. }
  7. $userform = new cItems("valeur1", "aaa" );
  8. echo "<pre>";
  9. var_dump($userform);
  10. echo "</pre>";
 

et là ça marche...

Message cité 1 fois
Message édité par darxmurf le 07-11-2008 à 17:04:31

---------------
Des trucs - flickr - Instagram
n°1809622
skeye
Posté le 07-11-2008 à 17:05:36  profilanswer
 

darxmurf a écrit :


ma définition de class est dans un fichier class.php
ma création d'objet est dans un fichier creation.php
mon affichage d'objet est dans un fichier affichage.php


euh, ton découpage est étrange.[:pingouino]


---------------
Can't buy what I want because it's free -
n°1809624
darxmurf
meow
Posté le 07-11-2008 à 17:08:49  profilanswer
 

en fait le principe est le suivant
 
j'ai une 10 aine de formulaires différents à générer et gérer.
je pensais faire
- un fichier class.php avec les déclaration de toutes mes class etc.
- un fichier .php par formulaire
- un fichier .php avec mon script d'affichage pour générer et afficher les formulaires lorsqu'ils sont appelés


---------------
Des trucs - flickr - Instagram
n°1809625
skeye
Posté le 07-11-2008 à 17:10:37  profilanswer
 

darxmurf a écrit :

en fait le principe est le suivant

 

j'ai une 10 aine de formulaires différents à générer et gérer.
je pensais faire
- un fichier class.php avec les déclaration de toutes mes class etc.
- un fichier .php par formulaire
- un fichier .php avec mon script d'affichage pour générer et afficher les formulaires lorsqu'ils sont appelés

 

1 fichier par classe.
Après tu gères comme tu veux.[:joce]

Message cité 2 fois
Message édité par skeye le 07-11-2008 à 17:10:42

---------------
Can't buy what I want because it's free -
n°1809627
darxmurf
meow
Posté le 07-11-2008 à 17:12:56  profilanswer
 

[:paysan]


---------------
Des trucs - flickr - Instagram
n°1809628
masklinn
í dag viðrar vel til loftárása
Posté le 07-11-2008 à 17:16:52  profilanswer
 

skeye a écrit :

1 fichier par classe.


JavaG [:sadnoir]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1809632
skeye
Posté le 07-11-2008 à 17:37:52  profilanswer
 


quand tu débutes c'est la meilleure méthode pour pas faire n'importe-quoi.:o


---------------
Can't buy what I want because it's free -
n°1809640
masklinn
í dag viðrar vel til loftárása
Posté le 07-11-2008 à 18:07:04  profilanswer
 

skeye a écrit :


quand tu débutes c'est la meilleure méthode pour pas faire n'importe-quoi.:o


Bof.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1809663
flo850
moi je
Posté le 07-11-2008 à 20:58:41  profilanswer
 

j'approuve skeye
 
c'est pas forcement parfait, mais ca oblige  a structure son arborescence et ca simplifie la recherche dans le code


---------------

n°1809669
Profil sup​primé
Posté le 07-11-2008 à 21:17:27  answer
 

skeye a écrit :


 
1 fichier par classe.


Etpis c'est tout  [:cloud_]  
Sérieux je reprends un projet la, genre 80ko par fichier et toutes les lignes c'est "Class myRoxCLass()"
 
:(:(

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP Class] - Création d'un objet et attribution de valeurs (tableau)

 

Sujets relatifs
PHP fonctions FTPvariables d'environnement du shell à PHP
projet reseau lie a une creation artistiqueCharger un fichier XML en PHP
Tirage aléatoire et incrémentation d'un nombrdans un tableau!![PHP] Librairie graphique php - Valeur du point en survol
probleme simple avec un tableauINDEFORMABLE, INCASSABLE le tableau
Communication JS et PHP 
Plus de sujets relatifs à : [PHP Class] - Création d'un objet et attribution de valeurs (tableau)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR