PHP 链式操作(OOP)

偶然看到php的链式操作写法,觉得很有意思,特别记录一下 ,摘抄自网友实例

1.png
2.png
  1. 代码参考

     class sql{
         private $sql=array("from"=>"",
             "where"=>"",
             "order"=>"",
             "limit"=>"");
    
         public function from($tableName) {
             $this->sql["from"]="FROM ".$tableName;
             return $this;
         }
    
         public function where($_where='1=1') {
             $this->sql["where"]="WHERE ".$_where;
             return $this;
           }
    
         public function order($_order='id DESC') {
             $this->sql["order"]="ORDER BY ".$_order;
             return $this;
         }
    
         public function limit($_limit='30') {
             $this->sql["limit"]="LIMIT 0,".$_limit;
             return $this;
         }
         public function select($_select='*') {
             return "SELECT ".$_select." ".(implode(" ",$this->sql));
         }
     }
    
     $sql =new sql();
    
     echo $sql->from("testTable")->where("id=1")->order("id DESC")->limit(10)->select();
     //输出 SELECT * FROM testTable WHERE id=1 ORDER BY id DESC LIMIT 0,10
    

你可能感兴趣的:(PHP 链式操作(OOP))