实例
<?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);
运行实例 »
点击 "运行实例" 按钮查看在线实例