使用面象对象方式编程,创建类,并 使用 __construct 创建初化构造方法,以及对属性创建魔术方法 __set __get 等方法
具体如下:
<?php /** * Created by PhpStorm. * User: John * Date: 2018/5/3 * Time: 1:44 */ /** * Class StudentClass * 学生信息类 */ class StudentClass { //创建私有的变量 private $name; //姓名 private $age; //年龄 private $sex; //性别 private $language; //语种 //声明一个构造方法,在对类进行实例化的时候自动调用,可以在此构造方法中对属性进行初始化 public function __construct($name,$age,$sex,$language) { //使用对象访问符对属性赋值 $this->name=$name; $this->age=$age; $this->sex=$sex; $this->language=$language; } //为属性创建取值赋值方法,其作用是为过滤一些非正常传参调用,可以在赋值的同时对传来的值进行判断 /** * @return mixed */ // public function getName() // { // return $this->name; // } // // /** // * @param mixed $name // */ // public function setName($name) // { // $this->name = $name; // } //取值赋值方法简化版,又称为魔术方法,此方法由系统调用,当使用类访问一个私有变量的时候会自动触发此方法 public function __set($name, $value) { //对传入的值进行判断/过滤 // TODO: Implement __set() method. return $this->$name=$value; } public function __get($name) { // TODO: Implement __get() method. return $this->$name; } }
测试部分:
<?php /** * Created by PhpStorm. * User: John * Date: 2018/5/3 * Time: 2:28 */ //调用类的实例 require 'class/StudentClass.php'; $student = new StudentClass('张三',18,'男',['国语','英语']); //普通 set get 方法调用 //$student->setName('李四'); //给name属性赋值 //echo $student->getName(); //取值并打印 //魔术方法设置值 __set $student->name='王宝强'; //魔术方法取值 __get echo $student->name; $student->language=['德语','俄语']; echo '<br>'; echo print_r($student->language[0]); //取第0个数据