IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] [Classe/Objet] Conseils à un débutant en POO


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 85
    Points
    85
    Par défaut [POO] [Classe/Objet] Conseils à un débutant en POO
    Bonjour,

    Je programme beaucoup en procédurale sous PHP, et j'aimerais me lancer dans la POO également sous PHP. Dans mes lointains souvenirs me reviennent le C++ et le Java. Cela va sans doute m'être d'une aide précieuse.

    Cependant j'ai réalisé une petite classe pour créer un formulaire, structuré dans un tableau. Bien évidemment mon tableau est régie par les feuilles de style où les paramètres sont modifiables via un fichier de conf.

    Mais voilà, je n'arrive pas à intégrer ma feuille de style dans ma classe. Est-ce possible d'intégrer des feuilles de style dans une classe ? et de pouvoir y intégrer des données issues d'un autre fichier ? L'erreur retournée est souvent lié à un problème de définition de variables au sein de la classe, mais je ne comprends pas trop.

    Merci de m'éclairer sur le sujet.

    PS: Si vous connaissez un bon tuto sur la POO PHP, merci de me communiquer l'adresse.

    Cordialement,
    Nico

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Définis mieux tes souhaits, ou mets un exemple et les messages d'erreur...

    PS: Si vous connaissez un bon tuto sur la POO PHP, merci de me communiquer l'adresse.
    y a qu'à demander...

    http://hachesse.developpez.com/objetphp/

  3. #3
    Membre régulier
    Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par gorgonite
    Définis mieux tes souhaits, ou mets un exemple et les messages d'erreur...

    PS: Si vous connaissez un bon tuto sur la POO PHP, merci de me communiquer l'adresse.
    y a qu'à demander...

    http://hachesse.developpez.com/objetphp/
    Merci pour ta réponse,

    Dans ma classe qui se nomme form, je formate un tableau, voici une ligne du tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td colspan="'.$param_d['calendar_columns'].'" align="center" class="calendarTop'.$param_d['calendar_id'].'">
    Le $param_d est défini dans un autre fichier, conf.php, que j'importe avant de définir ma classe. Ma feuille de style est elle aussi dasn un autre fichier, importé également avant la déclaration de ma classe. Mon message d'erreur à l'éxécution est le suivant:

    Notice: Undefined variable: param_d in c:\program files\easyphp1-8\www\_ageplo\include\form.inc on line 24


    En espérant avoir été plus clair,
    Cordialement,
    Nico

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    conf_d est une variable globale ?
    Dans ce cas tu y accedes grâce à :
    Sinon tu peux aussi en faire une constante avec define()

  5. #5
    Membre régulier
    Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 85
    Points
    85
    Par défaut
    Normalement, $param_d est globale, mais je n'ai rien défini concerna tcette variable. Dois-je en début de mon fichier conf.php, écrire
    ?

    Cordialement,
    Nico

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    non.

    Soit au début de chaque fonction tu mets Soit à chaque utilisation tu mets Si param_d est constante, tu peux aussi dans conf.php faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    define('PARAM_D', 66);
    et alors à chaque utilisation tu mets Tu as le droit aussi de renommer ta variable, car param_d, c'est pas très explicite

  7. #7
    Membre régulier
    Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 85
    Points
    85
    Par défaut
    $param_d est un tableau, mais je pense que la procédure est la même

  8. #8
    Membre régulier
    Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 85
    Points
    85
    Par défaut
    En effet, cela fonctionne en déclarant la variable global $param_d au début de la fonction, et non au début de la classe comme je le faisais auparavant.

    Cependant j'ai encore quelques soucis avec les feuilles de style, mais il faut dire aussi que la version de mon moteur PHP est la 4.3.10, et il me semble qu'elle ne gère pas trop bien les objets....

    Cordialement,
    Nicolas

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je vois pas le rapport entre de la conception OO et une feuille de style

    Sinon pour gérer ton soucis de variables globales, tu peux... ne pas utiliser de variables globales!
    http://www.phppatterns.com/docs/design/the_registry?s=globals#the_problem_with_application_data

  10. #10
    Membre régulier
    Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Mr N.
    Je vois pas le rapport entre de la conception OO et une feuille de style

    Sinon pour gérer ton soucis de variables globales, tu peux... ne pas utiliser de variables globales!
    http://www.phppatterns.com/docs/design/the_registry?s=globals#the_problem_with_application_data
    Merci !!

    Non en effet, aucun rapport c'est juste parce qu'une fois de plus je déclairais ma feuille au début de ma classe, et non dans la méthode de la classe

    Je vais aller visiter ce lien, car je suis curieux de savoir comment faire pour ne pas utiliser de variables globales.

    @+
    Nico

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 15/04/2006, 23h27
  2. [XML] [POO] [Classe/Objet]xml
    Par 2xyo dans le forum Langage
    Réponses: 19
    Dernier message: 21/03/2006, 19h00
  3. Réponses: 15
    Dernier message: 29/12/2005, 10h32
  4. [POO] projet ->soutirer les classes objets
    Par .:dev:. dans le forum C++
    Réponses: 10
    Dernier message: 14/06/2005, 23h05
  5. Réponses: 3
    Dernier message: 19/05/2005, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo