<?php
/**
*public protected private PHP封装的实例
*/
/*class tv
{
private $shengyin;
function __construct()
{
$this->shengyin = 20;
}
public function yaokongqi($anniu, $liang = '')
{
switch ($anniu) {
case "shengyin":
$this->shengyin($liang);
break;
case "guandiansi":
$this->guandiansi();
break;
case 'huantai':
$this->huantai($liang);
break;
case 'jingyin':
$this->jinyin($liang);
break;
}
}
public function shengyin($daxiao)
{
$this->shengyin = $daxiao>0?$this->shengyin + $daxiao:$this->shengyin - $daxiao;
echo "现在的声音是:{$this->shengyin}<br/>";
}
private function guandiansi()
{
echo "关电视";
}
private function huantai($pindao)
{
echo "现在是第{$pindao}频道";
}
private function jinyin($zhuangtai)
{
$zhuangtai == 1 ? "电视静音了" : "打开声音";
}
public function huodeshengyin()
{
return $this->shengyin;
}
}
$tv1 = new tv();
$tv1->yaokongqi('shengyin', 6);
echo "现在的电视声音是:".$tv1->huodeshengyin();
*/
//最大化的封装,最小化的释放
/*class db
{
private $mysqli;//数据库链接
private $options;//SQL选项
private $tableName;//表名
function __construct($tabName)
{
$this->tableName = $tabName;
$this->db();
}
private function db()
{
$this->mysqli = new mysqli('localhost', 'root', '', 'blog');
$this->mysqli->query('SET NAMES utf8');
}
function fields($fildsArr)
{
if (empty($fildsArr)) {
$this->options['fields'] = '';
}
if (is_array($fildsArr)) {
$this->options['fields'] = implode(',', $fildsArr);
} else {
$this->options['fields'] = $fildsArr;
}
return $this;
}
function order($str)
{
$this->options['order'] = "ORDER BY".$str;
return $this;
}
function select()
{
$sql = "SELECT {$this->options['fields']} FROM {$this->tableName} {$this->options['order']}";
return $this->query($sql);
}
private function query($sql)
{
$result = $this->mysqli->query($sql);
$rows = array();
while ($row = $result->fetch_assoc()) {
$rows[]= $row;
}
return $rows;
}
private function close()
{
$this->mysqli->close();
}
function __destruct()
{
$this->close();
}
}
$chanel = new db('blog_article');
$changelInfo=$chanel->fields('art_id,art_title,art_tag')->select();
echo '<pre>';
print_r($changelInfo);*/
//public () 本类,子类 ,外部对象都可以执行
//protected (受保护的) 本类,子类,可以执行,外部对象不可以执行
//private (私有的) 只能在奔雷执行,子类与外部对象都不可以调用
/*class a{
protected function aa(){
echo 222;
}
}
class b extends a{
function bb(){
$this->aa();
}
}
$c=new b();
$c->bb(); //输出:222;*/
/*class a{
private function aa(){
echo 222;
}
}
class b extends a{
function bb(){
$this->aa();
}
}
$c=new b();
$c->bb(); //报错:*/