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 :

probleme d'attributs en PHP


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Points : 305
    Points
    305
    Par défaut probleme d'attributs en PHP
    Salut à tous,

    je suis dans l'étude d'un code et j'avoue bloquer sur la manipulation d'attributs ou de méthodes de classes propriétaire fait en PHP

    Voici le bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    class dateOp {	
    	function dateOp($dat,$format="jj/mm/aaaa hh:ii:ss") {
    		$this->errno = array();
     
    		if (strlen($dat)!=strlen($format)) {
    			$this->_error("Format de date incompatible avec la date fournie");
    			return false;
    		}
     
    		$this->dat['origine']=$dat;
    		$this->format=strtolower($format);
    		return $this->_ExplodeDate($this->dat,$this->format);
    	}
     
    	function AjouteJours($nb) {}
    	function AjouteMois($nb) {}
    	function AjouteAnnees($nb) {}
    	function AjouteHeures($nb) {}
    	function AjouteMinutes($nb) {}
    	function AjouteSecondes($nb) {}
    	function DiffenrenceEntreDate($dat,$format="jj/mm/aaaa hh:ii:ss") {}
     	function GetDate($format="jj/mm/aaaa") {}
     	function _ExplodeDate(&$dat,$format) {}
    	function _error($str) {}
    }
    d'ou sort cet attribut errno ? Il n'est pas déclaré en début de classe.
    idem pour dat['origine'] et format ?

    dois-je en déduire que les attributs de classe PHP peuvent être créé à la volée ? Difficile de répondre car sur le web les démonstration de manipulation d'attribut de classe incorpore toujours les attributs à manipulé en début de classe.


    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 088
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 088
    Points : 8 176
    Points
    8 176
    Billets dans le blog
    17
    Par défaut
    dois-je en déduire que les attributs de classe PHP peuvent être créé à la volée ?
    Oui.

    Difficile de répondre car sur le web les démonstration de manipulation d'attribut de classe incorpore toujours les attributs à manipulé en début de classe.
    Ne pas déclarer les propriétés d'une classe est une pratique mauvaise.
    Là apparemment il s'agit d'un vieux script PHP4 (constructeur == méthode avec nom de la classe).
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    C'est juste codé avec les pieds.

    En principe une variable qui à besoin d'être utilisée dans toute la classe sera déclaré en début de classe avec une visibilité (portée) associée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Machin
    {
        private $variable
    une variable à utiliser uniquement dans une méthode n'aura pas de visibilité (puisque limité à la méthode) et sera utiliser comme une variable classique.

    Toute autre façon de faire est à proscrire pour éviter les bugs et les problèmes de sécurité.

    Edit ---
    même en php4 on déclare les variable en début de classe avec var si ma mémoire est bonne
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Points : 305
    Points
    305
    Par défaut
    Ok merci à vous les gars !

    Je me doutais bien qu'il y avait un problème quelques part mais comme j'arrive sur un programme déjà codé, j'avais du mal à critiqué d'abord les anciens developpeur plutôt que moi-même.

    Enfin vous confirmer que c'est crade. Ca me rassure car j'avais déjà cette impression sur le reste du code, que je vous épargne à la lecture.

    paix sur vos coeurs et vos âmes

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 24/08/2006, 18h12
  2. [ODBC] Experts: Export de données Access vers PHP: probleme d'attributs
    Par kenny49 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/06/2006, 14h42
  3. Problèmes de compilation de php 5
    Par spynux dans le forum Linux
    Réponses: 2
    Dernier message: 21/12/2005, 16h31
  4. [Debutant(e)]Eclipse 3.1, probleme d'attribut
    Par sophie86 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 28/11/2005, 21h21
  5. [MySQL] probleme requete sql et php
    Par digger dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/10/2005, 14h15

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