ホームページ > php教程 > PHP源码 > php中__call()方法的使用

php中__call()方法的使用

PHP中文网
リリース: 2016-05-25 17:10:34
オリジナル
1265 人が閲覧しました

PHP代码

<?php
    /*
        作者:shyhero
        邮箱:shyhero@outlook.com
        Q  Q:1757424878
    */
    class DB{
        private $sql = array(
            "field"=>"",
            "where"=>"",
            "order"=>"",
            "limit"=>"",
            "group"=>"",
            "having"=>""
        );
        public function __call($functionName,$arr){     //只有在私有成员数组中存在的键才能被调用
            $functionName = strtolower($functionName);
            if(array_key_exists($functionName,$this -> sql)){
                $this -> sql[$functionName] = $arr[0];
            }else{
                echo "调用的方法不存在";
            }
            return $this;
        }
        public function select(){
            echo "select from {$this -> sql[&#39;field&#39;]} user {$this -> sql[&#39;where&#39;]} {$this -> sql[&#39;order&#39;]} {$this -> sql[&#39;limit&#39;]} {$this -> sql[&#39;group&#39;]} {$this -> sql[&#39;having&#39;]}";
        }
    }
    $db = new DB();
    $db -> field(&#39;sex count(sex)&#39;)               //只有在私有成员数组中存在的键才能被调用
        -> where(&#39;where sex in("m","w")&#39;)
        -> group(&#39;group by sex&#39;)
        -> having(&#39;having avg(age) > 25&#39;)
        -> select();
    $db -> query(&#39;d&#39;);                           //这个方法不存在就不能调用
ログイン後にコピー


関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート