Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1977 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]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
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.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
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-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)