PHP 随记

1.头文件自动加载,这个函数比OC里面要好用,哈哈,可能是iOS开发多了,到处要比较,当然,Swift是自动加载的,不需要做任何动作

spl_autoload_register(function ($class_name) { // 只能加载同目录的文件
    require_once $class_name . '.php';
});

2.在类中常量的访问,本来以为是下面的方式

class Math {

    const PI = 3.14;

    public function circleArea($r = 10) {
        return $r * $r * PI;
    }
}
发现是错的,既然在类中定义的,当然可以直接访问,下面的方法是正确的。

class Math {

    const PI = 3.14;

    public function circleArea($r = 10) {
        return $r * $r * Math::PI;
    }
}
类名:: 可以改为 self:: 原来php中也有self关键字的,第一次发现,self关键字貌似也只能用在const和 static修饰的变量上。

class Math {

    const PI = 3.14;

    public function circleArea($r = 10) {
        return $r * $r * self::PI;
    }
}


再来看几个关键字:this, self parent

this是指向当前对象的指针(姑且用C里面的指针来看吧)
self是指向当前类的指针
parent是指向父类的指针(我 们这里频繁使用指针来描述,是因为没有更好的语言来表达)

self与$this的区别

1.    区别:代表不一样的内容:self代表类,$this代表对象

2.    区别:访问的内容也不一样:self访问类常量,$this访问属性和方法(普通)

3.    区别:self与$this访问数据的方式不一样,self使用范围解析操作符(::),$this使用对象访问符(->)

4.    相同:都是在类中使用(都是在方法里面使用)


静态(static)

在类中也有类似函数的静态变量之类的东西,(函数中:不被重复定义,函数的多次调用共有一个静态变量),使用静态修饰的表示该属性或者方法属于类,不会因为对象的实例化而改变其本身的内容。

语法:

1.    静态属性:访问修饰限定符static 属性名字

2.    静态方法:访问修饰限定符static function 方法名字()


静态与非静态的区别

1.    设置出发点:静态是给类使用,非静态是给对象使用

2.    对象不能访问静态属性(对象访问属性只会去对象的内存区域(堆)找,而静态属性在代码区),对象能够访问静态方法(静态方法和普通方法都在代码区里)

3.    类能够访问普通方法(方法里面没有使用$this),类不能访问普通属性(属性是在对象空间里)






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值