找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 470|回复: 0
打印 上一主题 下一主题

PHP实现的连贯操作、链式操作实例

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:56:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            PHP中的连贯操作看起来的确很酷,也非常的方便代码的阅读,当然了必须是在OOP中用才行,在过程化的程序中,就没有必要用这种方法了。有实现这个方法的有用_CALL来实现的,而我下面写的这个例子,则不是用_call的,大家可以扩展一下吧。
下面写的这个SQL语句组合类,主要是用于学习的,如果有同学想拿去用,请再完善一下。
/*
* SQL语句组合实例类,始发文章web开发笔记
* 学习用,非专业类
* */
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
            
            
您可能感兴趣的文章:
  • thinkphp连贯操作实例分析
  • PHP实现链式操作的核心思想
  • PHP实现链式操作的原理详解
  • PHP对象链式操作实现原理分析
  • PHP简单数据库操作类实例【支持增删改查及链式操作】
  • PHP三种方式实现链式操作详解
  • php类自动装载、链式操作、魔术方法实现代码
  • PHP实现链式操作的三种方法详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端