博客列表 >PHP-类中静态成员的声明和与访问-0903

PHP-类中静态成员的声明和与访问-0903

Bean_sproul
Bean_sproul原创
2018年09月11日 17:21:14570浏览

实例

<?php
/**
 * 类中的静态成员与访问
 * 1.类中静态成员使用关键字:static 定义;
 * 2.静态成员包括: 静态属性和静态方法;
 * 3.静态成员是属于类的,我们应该终终使用类来访问;
 * 4.静态属性必须使用类来访问,而静态方法即可以用类,也可以用对象访问;
 * 5.静态成员是可以有访问限制的: public,protected,private;
 * 6.静态成员与对象无关,所以内部不允许使用伪变量: $this;
 * 7.访问时,类名后必须使用:范围解析符:双冒号[::]
 * 8.在类中引用自身使用关键字: self::
 *
 * 范围解析符的作用:
 * 1. 访问静态成员;
 * 2. 访问类常量;
 * 3. 继承上下文中引用被覆盖成员
 */
/************************************************************/
 //同一类的成员方法中访问静态属性
class JingTai{
    static $bing=1;
    function add(){
        self::$bing+5;
        echo '$bing的值为:'.self::$bing+5;
    }
}
$obj = new JingTai();
$obj->add(); //输出5
echo '<hr>';

/************************************************************/
//将成员方法声明为静态,就称其为静态方法。不需要new实例化,用范围解析符直接调用
class DaBing{
    static function addOne($number){ //定义静态方法 addOne()
        echo"\$number+1=";
        echo $number+1;
    }
    static function showResult($number){
        echo"\$number=".$number;
        echo"<br>";
        self::addOne($number); //调用同一类中的静态方法 addOne()
    }
}

$number=100;
DaBing::showResult($number);

/************************************************************/
class Demo5
{
    public static $pdo = null;//初始化静态成员熟悉
    protected static $db = [
        'type' => 'mysql',
        'host' => 'localhost',
        'dbname' => 'php',
        'user' => 'root',
        'pass' => 'root',
    ];

    public static function connect()
    {
        $dsn = self::$db['type'].':host='.self::$db['host'].';dbname='.self::$db['dbname'];
        self::$pdo = new PDO($dsn,self::$db['user'],self::$db['pass']);
    }

    public static function select($table,$fields='*', $num=5)
    {
        $stmt = self::$pdo->prepare("SELECT {$fields} FROM {$table} LIMIT {$num}");
        $stmt->execute();
        return $stmt->fetchAll(PDO::FETCH_ASSOC);

    }
}

//连接数据库
Demo5::connect();

//查询数据表
$result = Demo5::select('user','name,email,password',8);

//显示结果
echo '<pre>',var_export($result);

运行实例 »

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

 QQ截图20180911172053.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议