文件包含
include require
- 引入的文件和当前文件处在同一个作用域当中 如果出现同名变量会覆盖之前的变量
- 区别:引入另一个文件如果有错误 include 会弹出警告错误 但是不会影响后续代码的执行require会抛出致命错误整个文件将无法运行
include引入方式
require引入方式
类与对象
- 声明类关键字
class
- 类中的成员:私有成员
private
、公共成员public
、静态成员static
- 实例化类跟js相同
new Demo()
访问类成员$demo->user
使用->方式 - 魔术方法
__get
读取私有变量,__set
修改变量__construct
构造方法此方法会在实例化时自动调用
代码演示
<?php
namespace _0813;
class User
{
//声明私有变量
private $age = 18;
private $gongzi = 2800;
//声明公共变量
public $username = '老王';
//方法
public function getAge(){
return $this->age;
}
//魔术方法读
public function __get($name){
return $this->$name;
}
//魔术方法写
public function __set($name,$v){
$this->$name = $v;
}
}
$user = new User();
echo $user->username.'<br>';
echo $user->getAge().'<br>';
echo $user->gongzi.'<br>';
$user->gongzi = 3800;
echo $user->gongzi.'<hr>';
//类中的构造方法
class User1
{
private $chengji;
private $age;
public $username;
//静态方法
public static $guoji;
//魔术方法实例化类时自动调用
public function __construct($chengji,$age,$username,$guoji)
{
$this->chengji = $chengji;
$this->age = $age;
$this->username =$username;
//使用关键字self初始化静态属性
self::$guoji = $guoji;
}
public function __get($name){
return $this->$name;
}
}
$user1 = new User1('优秀',38,'小刘','中国');
echo '我的名字:'.$user1->username.',我的年龄是:'.$user1->age.',我的祖国是:'.$user1::$guoji;