0

0

静态变量/方法问题

php中文网

php中文网

发布时间:2016-06-06 20:20:31

|

1394人浏览过

|

来源于php中文网

原创

class Common_Sms
{

    protected static $ms_conf = array(); 
    public function __construct(){

        self::$ms_conf = array(
            'url'        => '1212',
            'username'    => 'XXX',
            'password'    => 'OOO',
            'veryCode'    => 'KKK'
        ); 
    }

    
    private static function curl_post($method = '', $param = array()) {

        do {
            if(! $method || empty($param)) {

                $ret = array(
                        'status' => 'failed',
                        'msg'     => 'Invalid param',
                        'results'=> '无效的参数'
                    );
                break;
            }

            $url = self::$ms_conf['url'] .'?method='.$method;
    } while(0);
    
        return $url;
    }
    
    /**
     * 发送验证码短信
     * @param  [type] $mobile 手机号
     * @param  array  $param  captcha: array( 'code'=> , 'minute' => )
     * @return array         回传信息
     */

    public static function send($mobile = '', $param = array()){

        do{
            if(!$mobile)
            {
                $result = array('status' => 'failed', 'results' => '缺少[mobile] 参数');
                break;
            }
            
            if(!isset($param['code']))
            {
                $result = array('status' => 'failed', 'results' => '错误的[code] 参数');
                break;
            }

            $param_arr = array(
                'mobile'    => $mobile,
                'content'    => "@1@={$param['code']}",
                'sendtime'    => '',
                'msgtype'    => 2,
                'tempid'    => 'JSM40485-0001',
                'code'        => 'utf-8',
                );

            $req_result = self::curl_post('sendMsg', $param_arr);
            if($req_result['status'] == 'success')
            {
                // $req_result = trim($req_result);
                
                // $back_result = explode('#', $req_result);

                // if($back_result[0] == 0)
                // {
                //     $result = array('status' => 'success', 'results' => array('send' => $back_result[2], 'commit' => $back_result[1]));
                // }
                // else
                // {
                    
                //     $msg = self::sendError($back_result);
                //     $result = array('status' => 'failed', 'results' => $msg);
                // }    
                // 
                
                return $req_result['results'];
                
            }
            else
            {
                $result = array('status' => 'failed', 'results' => $req_result['msg']);
                break;
            }
            

        } while(0);

        return $result;
    }
}

A PHP Error was encounteredSeverity: NoticeMessage: Undefined index: urlFilename: common/sms.phpLine Number: 32

没有系统的看过书,求解 !!!

回复内容:

class Common_Sms
{

    protected static $ms_conf = array(); 
    public function __construct(){

        self::$ms_conf = array(
            'url'        => '1212',
            'username'    => 'XXX',
            'password'    => 'OOO',
            'veryCode'    => 'KKK'
        ); 
    }

    
    private static function curl_post($method = '', $param = array()) {

        do {
            if(! $method || empty($param)) {

                $ret = array(
                        'status' => 'failed',
                        'msg'     => 'Invalid param',
                        'results'=> '无效的参数'
                    );
                break;
            }

            $url = self::$ms_conf['url'] .'?method='.$method;
    } while(0);
    
        return $url;
    }
    
    /**
     * 发送验证码短信
     * @param  [type] $mobile 手机号
     * @param  array  $param  captcha: array( 'code'=> , 'minute' => )
     * @return array         回传信息
     */

    public static function send($mobile = '', $param = array()){

        do{
            if(!$mobile)
            {
                $result = array('status' => 'failed', 'results' => '缺少[mobile] 参数');
                break;
            }
            
            if(!isset($param['code']))
            {
                $result = array('status' => 'failed', 'results' => '错误的[code] 参数');
                break;
            }

            $param_arr = array(
                'mobile'    => $mobile,
                'content'    => "@1@={$param['code']}",
                'sendtime'    => '',
                'msgtype'    => 2,
                'tempid'    => 'JSM40485-0001',
                'code'        => 'utf-8',
                );

            $req_result = self::curl_post('sendMsg', $param_arr);
            if($req_result['status'] == 'success')
            {
                // $req_result = trim($req_result);
                
                // $back_result = explode('#', $req_result);

                // if($back_result[0] == 0)
                // {
                //     $result = array('status' => 'success', 'results' => array('send' => $back_result[2], 'commit' => $back_result[1]));
                // }
                // else
                // {
                    
                //     $msg = self::sendError($back_result);
                //     $result = array('status' => 'failed', 'results' => $msg);
                // }    
                // 
                
                return $req_result['results'];
                
            }
            else
            {
                $result = array('status' => 'failed', 'results' => $req_result['msg']);
                break;
            }
            

        } while(0);

        return $result;
    }
}
A PHP Error was encounteredSeverity: NoticeMessage: Undefined index: urlFilename: common/sms.phpLine Number: 32

没有系统的看过书,求解 !!!

请问你怎么调用的?
你的那个 静态方法 是 private 的, 你怎么调用的这个方法?


静态方法在调用的时候, 类的构造函数是不会被自动调用的.
所以你的 $ms_conf 是一个空数组, 所以结果你应该懂的吧?

芒果商城系统GSHOP
芒果商城系统GSHOP

芒果系统GSHOP 纯静态商城系统,你还在为商城的优化而苦恼?GSHOP是全站纯静态商城系统,一键seo优化功能解决seo问题,自定义URL链接解决商城同质化问题;多页面显示:动态页、伪静态页面、纯静态页面增加收录,提升网站权重,提升流量等。安全稳定、功能强大的商城系统。1、芒果商城系统基于 php5.0开发,企业级应用。2、产品功能Ajax设计,响应速度更快,购物体验更好。3、全新密钥存放机制,

下载

执行结果:

ttt
array(0) {
}

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

88

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

90

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

61

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

493

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

16

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

12

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

5

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号