Blogger Information
Blog 18
fans 0
comment 0
visits 9988
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
方法重载与静态继承9月4日作业
吕小布的博客
Original
541 people have browsed it

实例

<?php

class Query
{
    private $sql=[];
    private $pdo=null;
    public function __construct()
    {
        $this->pdo=new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
    }
    public function table($table)
    {
        $this->sql['table']=$table;
        return $this;
    }
    public function fields($fields)
    {
        $this->sql['fields']=$fields;
        return $this;
    }
    public function where($where)
    {
        $this->sql['where'] = $where;
        return $this;
    }
    public function select()
    {
        $sql = "SELECT {$this->sql['fields']} FROM {$this->sql['table']} WHERE {$this->sql['where']}";
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
}

运行实例 »

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

实例

<?php
require 'Query1.php';
class Db
{
  public static function __callStatic($name,$arguments)
  {
    return call_user_func_array([(new Query()),$name],$arguments);
  }
}

$result = Db::table('user')->fields('id,name,email')->where('id > 1')->select();
//print_r($result);

// 用表格将查询结果格式化输出
$table = '<table border="1" cellpadding="5" cellspacing="0" width="60%" align="center">';
$table .= '<caption style="font-size: 1.5rem;margin:15px;">用户信息表</caption>';
$table .= '<tr bgcolor="#90ee90"><th>ID</th><th>姓名</th><th>邮箱</th></tr>';

foreach ($result as $user)
{
    $table .= '<tr align="center">';
    $table .= '<td>'.$user['id'].'</td>';
    $table .= '<td>'.$user['name'].'</td>';
    $table .= '<td>'.$user['email'].'</td>';
    $table .= '</tr>';
}

$table .= '</table>';
$num = '<p style="text-align: center"> 共计:  <span style="color:red">'.count($result).'</span>条记录</p>';
echo $table, $num;

运行实例 »

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

问答: 后期静态绑定的原理与使用场景分析

原理:子类调用父类同名方法并在子类进行了重写,通过static进行静态绑定,始终指向静态方法的调用者。

使用场景分析:当子类需要对父类同名方法重写并调用的情况。

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