导航:首页 > 编程语言 > php类内部实例化自己

php类内部实例化自己

发布时间:2025-05-05 07:43:12

⑴ 自己用thinkphp做微信接口类文件,遇一个问题,GET获取到的token,如何将这个变量传递到实例化的类里面

classIndexActionextendsAction{

publicfunctionindex(){
$token=D("wx_token")->field("add_ip",true)->select();
foreach($tokenas$key=>$v){
if($v['expire_time']-300<time()){
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$v['appid']}&secret={$v['secret']}";
$res=file_get_contents($url,false);
$this->getAccessToken($v['id'],$res);

}else{
$date=date("Y-m-dH:i:s");
echo"{$date}_____noexpire ";
}
}
}

privatefunctiongetAccessToken($token,$res){
$sign=false;
$json=json_decode($res);
$data['id']=$token;
$data['access_token']=$json->access_token;
$data['expire_time']=time()+7200;
$data['add_time']=time();
$data['add_ip']='127.0.0.1';
$db=D("wx_token");
$db->startTrans();
if($db->save($data)){
$db->commit();
$sign=true;
}else{
$db->rollback();
$sign=false;
}
return$sign;
}

}

再创建个数据表,保存就好了,整个定时任务,定时去获取比较好。

⑵ 在php中如何设置类的属性,如何调用类的方法

PHP访问类的属性、方法使用箭头语法(->)。这里我给你一个例子供你参考:

<?php
classMyClass{//定义MyClass类
public$name;//定义了一个公有属性
protected$_age;//定义了一个保护属性
private$_email;//定义了一个私有属性

publicfunctionmy_method(){//定义my_method方法
}

protectedfunction_my_method2(){//定义_my_method2方法
}
}
$obj=newMyClass;//实例化
$obj->name='noname';//设置name属性
$obj->_age=12;//这是错误的,不能设置保护属性
$obj->address='KingStreet.'//设置一个未声明的属性是允许的,效果和公有属性类似,但未赋值前不能使用。
$obj->my_method()//调用公有方法
$obj->_my_method2();//这是错误的,不能调用保护方法

你需要理解继承、公有、保护和私有的概念。

继承:子类继承父类的公有、保护属性和方法。

公有:类的实例可以访问的属性和方法。

保护:只能在类的内部及其子类内部访问的属性和方法。

私有:只能在类的内部访问的属性和方法。


这是个很基础的问题,建议你多看书。

⑶ 在php中self与$this的分别

1、意思上的区别

self代表类,$this代表对象(self是引用静态类的类名,而$this是引用非静态类的实例名)

2、用法上的区别

能用$this的地方一定使用self,能用self的地方不一定能用$this。

(3)php类内部实例化自己扩展阅读:

Python中self用法详解

1、以Student类为例,在Python中,定义类如下:

class Student(object):

pass

(Object)表示该类从哪个类继承下来的,Object类是所有类都会继承的类。

2、实例:定义好了类,就可以通过Student类创建出Student的实例,创建实例是通过类名+()实现:

student = Student()

3、由于类起到模板的作用,因此,可以在创建实例的时候,把我们认为必须绑定的属性强制填写进去。这里就用到Python当中的一个内置方法__init__方法,例如在Student类时,把name、score等属性绑上去:

class Student(object):

def __init__(self, name, score):

self.name = name

self.score = score

⑷ php实例化

有几个书写错误,现在已经订正!
$arr = $this->GetRecord($SQL);//这不是调用父类中的方法吗?
我跟你说过,什么叫继承,就是说子类拥有父类的所有成员(在可继承的情况下),你可以通过作用域连接符使用父类成员,也可以通过$this关键字(静态的,私有的不行!!!!!)!!!!!!!

怎样来认识面向对象编程:
给你举个例子:
class student{
public $name;
public statics $age;
public function set_name($name){
$this->name=$name;//这是正确的
self::$name=$name;//正确
$name=$name;//这句错误
}
public function set_age($age){
$this->age=$age;//错误
self::$age=$age;//正确
}
}
//为什么会这样呢,也就是说,如果你要在类里面另外的成员,那么你就要通过
//$this关键字,或者作用域解析符,但是如果是静态成员,不能使用$this访问,来引用它,不能像普通的代码一样直接使用.
$this->name你可以这样理解,学生的名字,也就是说$this代表的就是类名

class boy_student extents students{
//这个类扩展自students,也就是说有students类的所有成员,
//当然你也可以添加students没有的成员
$aadress;
:
:
:
//如果你要应用父类的方法:可以这样:
parent::set_name(....)
//当然这里涉及到的东西足足可以写成一本书,不是说有的父类成员都能子类访问,有些甚至连继承都不行,这里涉及到可见性的问题!
}

*********************************
$this->xxx 实例化来调用的吗?
*******************************
这不是实例化,什么叫实例化,就是说,刚才我们定义的是一个抽象的东西,就像学生,他是一个类别;
$zhangshan = new students();
这才是实利化,明白吗!

阅读全文

与php类内部实例化自己相关的资料

热点内容
pdf怎么转换成cad文件 浏览:376
中国年龄的算法有哪些 浏览:818
安卓微信版本过低不升级怎么登录微信 浏览:939
程序员专科生长期目标 浏览:688
以太坊交易确认算法 浏览:816
文件夹变成hjm打不开怎么办 浏览:571
分页算法视频 浏览:105
python3标准库pdf 浏览:601
杭州云服务器销售 浏览:536
pdf密码移除 浏览:148
云迅智创FIL服务器 浏览:940
中间件pdf 浏览:277
输入服务器上的ip地址怎么办啊 浏览:296
app道客巴巴如何登录 浏览:88
初中物理课本pdf 浏览:340
原神安装包解压失败 浏览:350
分期车有不需要解压的吗 浏览:766
程序员高效软件 浏览:471
十年后程序员的工资还会这么高吗 浏览:407
用气球解压玩具教程 浏览:330