为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
学习人数
综合评分8.90
570人评价 查看评价
9.3 内容实用
8.8 简洁易懂
8.6 逻辑清晰
  • <?php 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; if ($a == $b) echo '=='; //true if ($a === $b) echo '==='; //false $str = serialize($a); //对象序列化成字符串 echo $str.'<br>'; $c = unserialize($str); //反序列化为对象 var_dump($c);
    查看全部
  • 属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。 class Car { private $ary = array(); public function __set($key, $val) { $this->ary[$key] = $val; } public function __get($key) { if (isset($this->ary[$key])) { return $this->ary[$key]; } return null; } public function __isset($key) { if (isset($this->ary[$key])) { return true; } return false; } public function __unset($key) { unset($this->ary[$key]); } } $car = new Car(); $car->name = '汽车'; //name属性动态创建并赋值 echo $car->name; 方法的重载通过__call来实现,当调用不存在的方法的时候,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载。 class Car { public $speed = 0; public function __call($name, $args) { if ($name == 'speedUp') { $this->speed += 10; } } } $car = new Car(); $car->speedUp(); //调用不存在的方法会使用重载 echo $car->speed;
    查看全部
  • <?php class Car { public $speed = 0; //汽车的起始速度是0 public function speedUp() { $this->speed += 10; return $this->speed; } } //定义继承于Car的Truck类 class Truck extends Car { public function speedUP(){ $this->speed = parent::speedUp()+50; } } $car = new Truck(); $car->speedUp(); echo $car->speed;
    查看全部
  • <?php class Car { private $speed = 0; public function getSpeed() { return $this->speed; } protected function speedUp() { $this->speed += 10; } //增加start方法,使他能够调用受保护的方法speedUp实现加速10 public function start(){ $this->speedUp(); } } $car = new Car(); $car->start(); echo $car->getSpeed();
    查看全部
  • 静态属性与方法可以直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性
    查看全部
  • call重载 就是当用户访问一个不存在的函数的时候 就是代码中 $car->speedDown(); 并不存在这样的函数,call函数就相当于一个收留它的地方,能让它执行,因为call函数中已经定义了 if ($name == 'speedDown') { $this->speed -= 10; 这句话的意思就是当函数名称为speedDown时,执行此条语句 仔细品味一下就能懂,记得点赞哦!
    查看全部
  • <?php class Car { //增加构造函数与析构函数 function __construct(){ print "构造函数被调用 \n"; } function __destruct(){ print "析构函数被调用 \n"; } } $car = new Car(); class Car{ function __construct(){ print "父类构造函数被调用 \n"; } } class Truck extends Car { function __construct(){ print "子类构造函数被调用 \n"; parent::__construct(); } } $car = new Truck();
    查看全部
  • <?php class Car { public $speed = 0; //增加speedUp方法,使speed加10 public function speedUp(){ $this->speed += 10; } } $car = new Car(); $car->speedUp(); echo $car->speed; echo "<br />"; class City{ public function getName(){ return '贵州'; } } $city = new City(); echo $city->getname();//实例化对象 echo "<br />"; //static静态方法 class Year{ public static function getName(){ return '2018'; } } echo Year::getName();
    查看全部
  • <?php class Car{ //在这里定义一个共有属性name public $name = '汽车'; protected $color = '蓝色'; private $price = '1000000'; public function getPrice(){ return $this->price; } } $car = new Car(); //在这里输出$car对象的name属性 echo $car->name; /*echo $car->color; echo $car->price;*/
    查看全部
  • <?php //定义一个Car类并实例化一个对象 class Car{ public $name = '汽车'; public function getname(){ return $this->name; } }; $car = new Car(); $className = 'Car'; $car = new $className();
    查看全部
  • 类是一类东西的结构描述,而对象则是一类东西的一个具体实例. $car = new Car(); echo $car->getName();
    查看全部
    0 采集 收起 来源:PHP类和对象

    2018-03-22

  • print_r($fruit);语句输出数组键及对应的值
    查看全部
  • $fruit = array('苹果','香蕉'); $fruit0 = $fruit['0']; print_r($fruit0);//结果为苹果
    查看全部
  • $fruit = array( 'apple'=>"苹果", 'banana'=>"香蕉", 'pineapple'=>"菠萝" ); 关联数组
    查看全部
  • <?php //定义一个Car类并实例化一个对象 class Car{ public $name = '汽车'; public function getName(){ return $this -> name; } } $car = new Car(); $className = 'Car'; $car = new $className; echo $car->getName();
    查看全部

举报

0/150
提交
取消
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!