博主信息
博文 71
粉丝 1
评论 1
访问量 102143
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
声明属性之类属性与类常量
小威的博客
原创
761人浏览过
  • 声明属性


     *类属性与类常量

     * 1.类属性仅允许使用以下类型的数据进行初始化

     * 标量和数组字面量:字符串,数值,常量,数组,原型文档(php5.3+)

     * 2.不允许使用:变量,表达式,对象

     * 3.类常量使用关键字const声明,不允许设置访问限制符,强制为public,不能更改

     * 4.类常量是属性类的,不属性它的某个实例对象,必须使用类才可以访问

     * 5.访问类常量要使用范围解析符::,双冒号

     * 在类中使用关键字self表示当前类,在外部可直接使用类名

实例

<?php

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;
    }  
    
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

  • 测试页面

实例

<?php

//类属性与类常量
require './class/User1.php';

//$user1 = new User1(); //不传值输出默认值
$user1 = new User1('洪七公','hqg@php.cn','www.php.cn',['html','css','javascript']);

echo  $user1->name,'<br>';
echo  $user1->email,'<br>';
echo  $user1->siteName,'<br>';
echo  '<pre>'.print_r($user1->course,true).'</pre>';
echo User1::LECTURE;  //外部访问类常量,必须使用范围解析符::,就是双冒号
echo '<br>';

//访问类中的类常量
echo $user1->getConst();

运行实例 »

点击 "运行实例" 按钮查看在线实例


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学