-
静态属性与方法可以在不实例化类的情况下调用,直接使用
类名::方法名
的方式进行调用。静态属性不允许对象使用->操作符调用。
静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。
查看全部 -
一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问。当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。
受保护的属性与私有属性不允许外部调用,在类的成员方法内部是可以调用的。
查看全部 -
索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。
查看全部 -
PHP类和对象之对象的高级特性
对象比较,当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断。class Car {
}
$a = new Car();
$b = new Car();
if ($a == $b) echo '=='; //true
if ($a === $b) echo '==='; //false
对象复制,在一些特殊情况下,可以通过关键字clone来复制一个对象,这时__clone方法会被调用,通过这个魔术方法来设置属性的值。class Car { public $name = 'car'; public function __clone() { $obj = new Car(); $obj->name = $this->name; }}$a = new Car();$a->name = 'new car';$b = clone $a;var_dump($b);对象序列化,可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。class Car { public $name = 'car';}$a = new Car();$str = serialize($a); //对象序列化成字符串echo $str.'<br>';$b = unserialize($str); //反序列化为对象var_dump($b);查看全部 -
建立一个Truck类,扩展Car类,并覆盖speedUp方法,使速度累加50
查看全部 -
静态属性与方法可以在不实例化类的情况下调用,直接使用
类名::方法名
的方式进行调用。静态属性不允许对象使用->操作符调用。class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } } echo Car::getSpeed(); //调用静态方法
静态方法也可以通过变量来进行动态调用
$func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法
静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。
class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } public static function speedUp() { return self::$speed+=10; } } class BigCar extends Car { public static function start() { parent::speedUp(); } }BigCar::start();echo BigCar::getSpeed();
查看全部 -
设置cookie
https://www.imooc.com/code/567
查看全部 -
正则匹配常用案例
查看全部 -
PHP类和对象之对象继承
查看全部 -
日期时间
<?php
header('content-type:text/html;charset=utf-8');
/**
* PRC 中华人民共和国
*/
echo '当前时区:'.date_default_timezone_get().'<br/>';
//设置时区为中国上海
//var_dump(date_default_timezone_set('Asia/Shanghai'));
echo '当前时区:'.date_default_timezone_get().'<br/>';
echo '<hr/>';
//获取年月日时间
echo date('Y年m月d日');
echo '<br/>';
echo date('Y/m/d H:i:s');
echo '<br/>';
//y 代表2位数的年份 n 不带零的月份 j 不带零的天数
echo date('y-n-j');
echo '<br/>';
echo date('y-n-j A');
echo '<br/>';
//12小时制
echo date('g-i-s');
echo '<br/>';
//获取星期几
switch(date('w')){
case 0:$dayStr='日';break;
case 1:$dayStr='一';break;
case 2:$dayStr='二';break;
case 3:$dayStr='三';break;
case 4:$dayStr='四';break;
case 5:$dayStr='五';break;
case 6:$dayStr='六';break;
default:$dayStr='非法日期';break;
}
echo date('Y年m月d日').'星期'.$dayStr;
echo '<hr/>';
//---------常用参数------------------
//检查改年份是否是闰年
$res = date('L')?'闰年':'不是闰年';
echo $res;
echo '<br/>';
echo '全年中的第'.date('W').'周';
echo '<br/>';
echo '全年中的第'.date('z').'天';
echo '<br/>';
echo '当前月有'.date('t').'天';
echo '<hr/>';
//---------时间戳------------------
echo time();
echo '<br/>';
//mktime(h,i,s,n,j,Y) 得到指定日期的时间戳
echo mktime(0,0,0,8,15,2018);
echo '<br/>';
?>
查看全部 -
. 表示除了\n之外的任何单个字符
* 表示前面的表达式 0次或多次
? 表示前面的表达式 0次或1次
查看全部 -
两种表达式,查看返回的结果
查看全部 -
^在[]外表示开头
^在[]内表示否定
\s表示任意的空白字符;即[^\s]表示非空字符
查看全部 -
静态属性与方法可以在不实例化类的情况下调用,直接使用
类名::方法名
的方式进行调用。静态属性不允许对象使用->操作符调用。静态方法也可以通过变量来进行动态调用
静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。
查看全部 -
ob_start — 打开输出控制缓冲
ob_get_clean — 得到当前缓冲区的内容并删除当前输出缓。
ob_clean — 清空(擦掉)输出缓冲区查看全部
举报