PHP实现链式操作的核心思想


PHP 链式操作的实现

$db->where()->limit()->order();

在 Common 下创建 Database.php。

链式操作最核心的地方在于:在方法的最后 return $this;

Database.php:

<?php
namespace Common;

class Database{
  function where($where){
    return $this;  //链式方法最核心的地方在于:在每一个方法之后 return $this
  }
  function order($order){
    return $this;
  }
  function limit($limit){
    return $this;
  }
}

index.php:

<?php
define('BASEDIR',__DIR__); //定义根目录常量
include BASEDIR.'/Common/Loader.php';
spl_autoload_register('\Common\Loader::autoload');

$db = new CommonDatabase(); 

//传统的操作需要多行代码实现
//$db->where('id = 1');
//$db->where('name = 2');
//$db->order('id desc');
//$db->limit(10);

//使用链式操作,一行代码解决问题
$db->where('id = 1')->where('name = 2')->order('id desc')->limit(10);

在使用链式操作时,ide(netbeans 会给出自动提示):

查看图片

PHP中通过trigger_error触发PHP错误示例
PHP中通过trigger_error触发PHP错误示例【错误抑制符@】除了php.ini中error_reporting和display_errors的设置、error_reporting()函数、ini_set()函数外,还可以使用错误抑

PHP中把错误日志保存在系统日志中(Windows系统)
【将错误记录到系统日志中】在php.ini中将error_log设置为:error_log=syslog或者在运行时使用ini_set()函数设置。【例1】php//关闭错误显示ini_set('display_errors',0)

PHP配置把错误日志以邮件方式发送方法(Windows系统)
当系统发生了很严重的问题,需要立刻发送给管理员。可以通过error_log()将错误以邮件形式发送到邮箱。在php.ini中设置:sendmail_from=472323087@qq.com然后设