thinkphp中$this->_get()函数的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp中$this->_get()函数的用法相关的知识,希望对你有一定的参考价值。

我用tp中$this->_get函数来获取get参数,但是获取不到,但是也不报错,就一直卡在$this->_get函数的位置,后面就不运行,不知道为什么?

  有的可以用这个接,有的不可以,例如:$this->$_get。
  Thinkphp是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。
  ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
  ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持mysql、PgSQL、Sqlite以及PDO等多种数据库,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
  作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。
参考技术A $this->$_get[];是这样吧 参考技术B 有的可以用这个接,有的不可以 参考技术C TP有这个函数?哪个版本的?get和__get都有……

ThinkPHP tp Codeigniter ci 微信开发 控制器代码 示例 实例 模拟http请求 获取acces_token 创建自定义菜单 点击事件 转多客服

0

    public function index(){
        //echo $this->getAccessToken();
        //$this->selectMenu();
        //$this->creatMenu();
        //$this->deleteMenu();


    /*     //用于验证的代码 勿动!!
        $tmpArr = array(‘xcjr2015‘, $_GET["timestamp"], $_GET["nonce"]);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
        if( $tmpStr != $_GET["signature"] ){        exit;    }else{echo $_GET["echostr"];exit;}
         */
         
        $postStr         = file_get_contents("php://input");    if ( empty( $postStr ) ){        exit;    }
        $postObj        = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);
        $to                = $postObj->ToUserName;
        $from            = $postObj->FromUserName;
        $openid            = sprintf(‘%s‘,$postObj->FromUserName);
        $content        = sprintf(‘%s‘,$postObj->Content);

        $textTpl= "<xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        <Content><![CDATA[%s]]></Content>
        </xml>";

        $transferTpl=‘<xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        </xml>;

        $news = "<xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        <ArticleCount>%s</ArticleCount>
        <Articles>
        <item>
        <Title><![CDATA[%s]]></Title> 
        <Description><![CDATA[%s]]></Description>
        <PicUrl><![CDATA[%s]]></PicUrl>
        <Url><![CDATA[%s]]></Url>
        </item>
        </Articles>                                                                    
        </xml>";
       exit( sprintf( $textTpl, $from, $to, $_SERVER[‘REQUEST_TIME‘], ‘text‘,$openid) ); 


        //接收消息/////////////////
        switch($postObj->MsgType){
            case ‘event‘:
                        switch(sprintf(‘%s‘,$postObj->Event)){
                            case ‘LOCATION‘:
                                
                            break;    
                            case ‘subscribe‘:

                            break;
                            case ‘scancode_waitmsg‘:    
                            
                            break;
                            
                            case "CLICK":
                                switch ($postObj->EventKey)
                                {
                                    case "service":
                                        //exit( sprintf( $textTpl, $from, $to, $_SERVER[‘REQUEST_TIME‘], ‘text‘,$openid) ); 
                                        //转到客服
                                        $custom_url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$this->getAccessToken();
                                        $customPostString = ‘{
                                            "touser":"‘.$openid.‘",
                                            "msgtype":"text",
                                            "text":
                                            {
                                                 "content":"正在接入...若客服不在请致电400-800-8957"
                                            }
                                        };
                                        echo https_request($custom_url,$customPostString);
                                        
                                        exit( sprintf( $transferTpl, $from, $to, $_SERVER[‘REQUEST_TIME‘],‘transfer_customer_service‘) );     

                                    case ‘one_login‘:    
                                    
                                    break;
                                    
                                    default:
                                        $content = "点击菜单:".$postObj->EventKey;
                                        return $this->transmitText($postObj, $content);
                                }
                            break;

                        }//switch(sprintf(‘%s‘,$postObj->Event))结束
                
            break;

            case ‘text‘:
                switch ($content)
                {
                    case "测试":
                    exit( sprintf( $textTpl, $from, $to, $_SERVER[‘REQUEST_TIME‘], ‘text‘,‘成功‘) ); 
                    
                    case "kf":
                    $custom_url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$this->getAccessToken();
                    $customPostString = 
                    ‘{
                        "touser":"‘.$openid.‘",
                        "msgtype":"text",
                        "text":
                        {
                             "content":"正常"
                        }
                    };
                    https_request($custom_url,$customPostString);

                    break;
                    
                    default://转到客服
                    exit( sprintf( $transferTpl, $from, $to, $_SERVER[‘REQUEST_TIME‘],‘transfer_customer_service‘) );
                }     

            default://转到客服
            exit( sprintf( $transferTpl, $from, $to, $_SERVER[‘REQUEST_TIME‘],‘transfer_customer_service‘) );
        }//switch结束

    }//index//////////////////////////方法结束


    public function creatMenu()//创建菜单
    {
    $menuPostString = //构造POST给微信服务器的菜单结构体{
        "button":[
        {
            "name":"我的账号",
            "sub_button":[
            {    
                "type":"view",
                "name":"用户登录",
                "url":"http://www.econgfin.com/mobile/login.html"
            },
            {    
                "type":"view",
                "name":"用户注册",
                "url":"http://www.econgfin.com/mobile/reg.html"
            },
            {    
                "type":"view",
                "name":"立即投标",
                "url":"http://www.econgfin.com/mobile/borrow/blist.html"
            }]
        },    
        {
            "name":"关于e葱",
            "sub_button":[
            {    
                "type":"view",
                "name":"公司简介",
                "url":"http://www.econgfin.com/mobile/site/gsjs.html"
            },
            {    
                "type":"view",
                "name":"联系我们",
                "url":"http://www.econgfin.com/mobile/site/contact.html"
            },
            {    
                "type":"view",
                "name":"加入e葱",
                "url":"http://www.econgfin.com/mobile/site/zhaopin.html"
            }]
        },
        {
            "type":"view",
            "name":"新手指引",
            "url":"http://www.econgfin.com/mobile/safes/index.html",
        }]
     };

        $menuPostUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$this->getAccessToken();//POST的url
        echo $this->https_request($menuPostUrl,$menuPostString);
        
    }


    public function deleteMenu(){//删除菜单
        $MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=".$this->getAccessToken();
        echo $this->https_request($MENU_URL);
    }

    public function selectMenu(){//菜单
        $MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=".$this->getAccessToken();
        echo $this->https_request($MENU_URL);
    }    

    //获取Access Token///////
    function getAccessToken()
    {
        //从mysql中获取access_token
        $query = $this->db->get(‘ych_token‘);
        $token = $query->row_array();

        if(time() > ($token[‘last_time‘] + 7200)){
            $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx9b5736a2e8185044&secret=c4a5797a7e8843d14dc0278eb0013dd8";
            $res = $this->https_request($url);
            $result = json_decode($res, true);
            
            $data[‘access_token‘] = $result["access_token"];
            $data[‘last_time‘] = time();
            $this->db->where(‘id‘,1);
            $this->db->update(‘ych_token‘,$data);

            return $result["access_token"]; 
        }
        
        return $token["access_token"];
    }    
    
    //https请求(支持GET和POST)/////////////
    function https_request($url, $data = null)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        if (!empty($data)){
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }
        

 

以上是关于thinkphp中$this->_get()函数的用法的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp表单提交问题

ThinkPHP5学习笔记请求和响应

thinkphp分页集成

thinkphp 中 this>assign( jumpURL , _URL_/index ); 是啥意思啊

ThinkPHP tp Codeigniter ci 微信开发 控制器代码 示例 实例 模拟http请求 获取acces_token 创建自定义菜单 点击事件 转多客服

thinkphp 页面跳转