Blogger Information
Blog 55
fans 0
comment 0
visits 50476
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP-类中静态成员的声明和与访问-0903
Bean_sproul
Original
569 people have browsed it

实例

<?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

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post