欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    PHP类中的静态方法使用实例.doc

    • 资源ID:6178976       资源大小:21KB        全文页数:4页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    PHP类中的静态方法使用实例.doc

    PHP类中的静态方法使用实例在php中静态方法我们就直接在函数或变量前加一个static就可以了,使用的时候和静态变量差不多,不需要实例化,直接用:调用了,下面我来给大家举几个关于静态方法实例。PHP也不例外!所谓静态方法(属性)就是以static关键词标注的属性或者方法(例如:静态属性public static username;)静态方法和非静态方法最大的区别在于他们的生命周期不同,用一个实例来说明静态方法定义定义静态方法很简单,在声明关键词function之前加上static,例如:代码如下复制代码class Astatic function fun()/ do somathing静态方法使用使用的时候和静态变量差不多,不需要实例化,直接用:调用,例如:代码如下复制代码A:fun()对比普通方法因为静态方法的调用不需要实例化,wxjd.net 所以在静态方法中引用类自身的属性或者方法的时候会出错,也就是形如self和$this是错误的。代码如下复制代码class MyClasspublic $num = 5;function _construct()$this->num = 10;function fun_1()echo "I am a public method named fun_1.n"echo "The num of object is $this->num.n"static function fun_2()echo "I am a static method named fun_2.n"function fun_3($n)echo "The arg is $nn"$m = new MyClass;$m->fun_1();$m->fun_2();$m->fun_3(test);MyClass:fun_1();MyClass:fun_2();MyClass:fun_3(test);输出结果:lchlocalhost:php $ php class_method.phpI am a public method named fun_1.The num of object is 10.I am a static method named fun_2.The arg is testI am a public method named fun_1.PHP Fatal error: Using $this when not in object context in /Users/lch/program/php/class_method.php on line 14再看一实例用一个实例来说明。代码如下复制代码class userpublic static $username; /声明一个静态属性public $password; /声明一个非静态属性function _construct($pwd) echo Username:,self:$username; /输出静态属性self:$username = admin; /为静态属性赋值$this->password = $pwd; /为非静态属性赋值public function show() /输出类属性echo Username:,self:$username;echo Password:,$this->password;public static function sshow()echo Username:,self:$username;echo Password:,$this->password;user:$username = root; / pengyeguoji.com 为赋值user类的静态属性赋值$objUser = new user(123456); /实例化user类$objUser->sshow();unset($objUser);echo Username:,user:$username;/* 输出结果为:* Username:root* Username:admin* Password:123456* Username:admin* */从这里实例中可以看出,静态属性在类实例化以前就起作用了,并且在对象被销毁时静态属性依然可以发挥作用!也因为静态方法的这种属性,所以不能在静态方法中调用非静态属性或者方法接着看1、php类中,rczcqc.com 假设所有的属性与方法的可见性为public,那么在外部访问类的方法或属性时,都必须通过对象【类的实例化过程】来调用。eg:代码如下复制代码class Logpublic $root = DIRECTORY_SEPARATOR;public $logPath = /data/app/www/test-realtime.monitoring.c.kunlun.com/log;public $defaultDir = default;public function writeLog($logName, $logType, $data, $newDir = FALSE)$fileName = ;if (!file_exists($this->logPath)mkdir($this->logPath, 0777);if ($newDir != FALSE)mkdir($this->logPath.$this->root.$newDir, 0777);$fileName = $this->logPath.$this->root.$newDir.$this->root.date(Y-m-d, time()._.$logName._.$logType.log;elsemkdir($this->logPath.$this->root.$this->defaultDir, 0777);$fileName = $this->logPath.$this->root.$this->defaultDir.$this->root.date(Y-m-d, time()._.$logName._.$logType.log;file_put_contents($fileName, date(Y-m-d H:i:s). .$data."n", FILE_APPEND);类的实例化对象的过程:$logObj = new Log();访问类中的方法:$logObj->writeLog($param1, $param2, $param3, $param4);访问类中的属性:echo $logObj->root;2、如果类中的属性前被static关键字修饰时,就不能通过对象来访问被static修饰的属性,但如果是类中的方法被static修饰时则即可以通过对象也可以通过类名:方法名的方式来进行访问。3、如果类中的方法被static修饰则,2144xiaoshuo.com 方法中不能用$this,$this指的是类的实例化对象,由于静态方法不用通过对象就可以调用,所以伪变量$this不可用。

    注意事项

    本文(PHP类中的静态方法使用实例.doc)为本站会员(李医生)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开