2010-10-07 35 views
1

bonjour je suis nouveau à PHP et j'ai besoin d'aide pour comprendre les bases de la classe PHP.Classe simple utilisant php

Je veux avoir l'exemple d'une classe qui utilise public protégé et statique.
et comment fonctionnent-ils ..

Merci d'avance.

Oh j'ai oublié comment s'étend également. Je parle du parent et de l'enfant quelque chose ou quoi .. Merci encore.

+7

Je pense que vous devriez aller lire un tutoriel d'abord et revenir quand vous avez une vraie question! En ce moment, vous dites essentiellement: "Je ne connais rien aux cours de PHP et je n'ai fait aucun effort pour apprendre quoi que ce soit". Avoir une fissure et poser des questions spécifiques si vous ne comprenez pas quelque chose. – adamnfish

+1

@adamnfish ouch, nous devrions aider les nouveaux utilisateurs à comprendre les types de questions à poser. Mais je suis d'accord pour poser des questions spécifiques –

+0

@Phill Pafford Je pense que c'est exactement ce que signifiait @adamnfish. Un ton bref ne signifie pas que la personne n'est pas utile. :) – abel

Répondre

1

certainement d'accord avec tout le monde. Vous devriez lire sur les 550 millions de manuels PHP en ligne, y compris les liens fournis dans d'autres réponses. En attendant, vous obtenez ceci:

class one { 
    private $name; 
    const ONE = 'ONE'; 

    // php magic function. allocate memory for object upon instantiation 
    // called with new 
    public function __construct($name = null) { 
     $this->init($name); 
    } 

    protected function name() { 
     return $this->name; 
    } 

    // php magic function called when object variable is accessed in a string context 
    public function __toString() { 
     return __CLASS__ . ': ' . $this->name; 
    } 

    // static functions can be called without instantiation 
    public static function con() { 
     echo self::ONE; 
    } 

    private function init($name) { 
     $this->name = $name; 
    } 
} 


// two cannot overwrite method init() -- it is private. 
// two has no access to $name. It is private in one and not visible to two 
class two extends one { 
    // protected methods can be overwritten 
    protected function name() { 
     return parent::name(); 
    } 
    // so can public methods 
    public function __toString() { 
     return __CLASS__ . ': ' . $this->name(); 
    } 
} 

// static method call; no instantiation needed 
echo one::con() . "\n"; // ONE 
// public methods can be called by child class 
echo two::con() . "\n"; // ONE 
$one = new one('uno'); 
echo "$one\n"; // one: uno 
$two = new two('dos'); 
echo "$two\n"; // two: dos 
$one->name(); // bork! No public access to this method