很多站长朋友们都不太清楚phpinit方法,今天小编就来给大家整理phpinit方法,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP代码,能详细解释一下每行的意思么?多谢了 2、 php中hash_init()方法详解 3、 在php中self与$this的分别 PHP代码,能详细解释一下每行的意思么?多谢了php中类操作有几个关键字,$this, self, static, parent
$this很好区别,就是实例化后的对象,所以不能在静态方法里调用
class testA{
public $name="name";
public static function test() {
//出错! static方法不能使用this
echo $this->name;
}
}
self, static, parent 都是静态调用,后跟 :: 如果是变量,要加$
class testA{
//属性也要定义成静态的,不然也是访问不了的
public static $name="name";
public $mobile="";
public static function test() {
//可以访问
echo static::$name;
//不可访问
echo static::$mobile
}
}
下面说一下三者区别
self 指代当前定义方法所在的类
static 后期静态绑定的类 ( 实际调用中是哪个类,就代表哪个类,不一定是方法定义所在的类 )
parent 这个也好区别,就是当前定义类的父类
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
static::who(); // 后期静态绑定从这里开始
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test();
以上代码,输出 B
因为最后调用是从B 这个类调用的
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
self::who();
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test();
以上代码,输出 A
因为调用who时指定了当前类,不管最终从哪里调用,都会调用到A里定义的方法
另外 ,这三个关键字可跟在new 后面,来实例化代表的类,就不用重复写类名,方便维护。
参考:php:后期静态绑定
学php可以多看看官方手册
下面我再简单解释下你发的代码。
你这个应该是thinkphp的model吧,init静态方法是model的初始化方法,是一个静态方法,主要用于勾子处理(事件绑定)。这个调用可以从thinkphp的model类中找到。
一般在定义方法时需要覆盖父类方法,都会调用一下 parent::method() 用于先执行父类的方法,除非特意屏蔽父类初始方法就不调用。
php中hash_init()方法详解函数原型:
resource hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] )
第二个参数与第三个参数要一起使用,且第二个参数目前只支持HASH_HMAC。
第三个key是在进行 HMAC 哈希运算时传入的“共享密钥”。
在php中self与$this的分别1、意思上的区别
self代表类,$this代表对象(self是引用静态类的类名,而$this是引用非静态类的实例名)
2、用法上的区别
能用$this的地方一定使用self,能用self的地方不一定能用$this。
扩展资料:
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
关于phpinit方法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpinit方法 php init的详细内容...