Maison >titres >Attributs de classe PHP et constantes de classe

Attributs de classe PHP et constantes de classe

无忌哥哥
无忌哥哥original
2018-06-28 14:31:213585parcourir

* Attributs de classe et constantes de classe

* 1. Les attributs de classe permettent uniquement d'initialiser les types de données suivants

* Littéraux scalaires et matriciels : chaînes, valeurs numériques, constantes, tableaux , Document prototype (php5.3+)

* 2. Non autorisé à utiliser : variables, expressions, objets

* 3. Les constantes de classe sont déclarées à l'aide du mot-clé const, et les restrictions d'accès sont ne peut pas être défini, forcé d'être public, ne peut pas être modifié

* 4. Les constantes de classe sont des classes d'attributs et ne sont pas attribuées à un objet instance de celles-ci. Vous devez utiliser une classe pour accéder à

.

* 5. Les constantes de classe d'accès doivent utiliser le caractère d'analyse de plage ::, double deux-points

* Utilisez le mot-clé self dans la classe pour indiquer la classe actuelle, et le nom de la classe peut être directement utilisé en externe

define('SITE_NAME','PHP中文网');
class User1 
{
    //声明属性
    private $siteName = SITE_NAME;
    private $name = '老顽童';
    private $email = 'lwt@php.cn';
    private $course = ['php','java','python'];
    const LECTURE = '朱老师';
    //构造方法
    public function __construct($name='',$email='', $siteName='',array $course=[]) 
    {
        //如果传参,则使用新值初始化属性,否则使用默认值
        $name ? ($this->name = $name) : $this->name;
        $email ? ($this->email = $email) : $this->email;
        $siteName ? ($this->siteName = $siteName) : $this->siteName;
        $course ? ($this->course = $course) : $this->course;
        
    }
    
    //查询器
    public function __get($name)
    {
        return $this->$name;
    }
    
    //设置器
    public function __set($name,$value)
    {
        return $this->$name = $value;
    }
    
    //在类中访问类常量,使用self来引用当前类名
    public function getConst()
    {
        //类内部也可以直接使用当前类名
//        return User1::LECTURE;
        //推荐使用self:当类名改变时,不必修改内部对它的引用
        return self::LECTURE;
    }
}


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:méthode magique phpArticle suivant:méthode magique php