批改状态:合格
老师批语:
<?php// *类的封装class Sanguo{// *private:私有,(把它封装起来)// *$data:容器/数组来表示private array $data=['troops'=>'一百万','food'=>'约二十万石','project'=>'直取江东'];// *采用属性拦截器来过滤public function __get($name){if(array_key_exists($name,$this->data)){return $this->data[$name];}else {return "$name 属性不存在";}}}$sanguo=new SanGuo();echo $sanguo->troops,'<br>';echo $sanguo->food,'<br>' ;echo $sanguo->project,'<br>';

<?php// *拦截非法访问class User1{// *1.拦截非静态方法的非法访问public function __call($name, $args){// *第一个参数是方法名称// *第二个参数是以数组表示的参数列表printf('方法名: %s<br>参数列表: <pre>%s</pre>', $name, print_r($args, true));}// *2拦截静态方法的非法访问public static function __callStatic($name, $args){// *第一个参数是方法名称// *第二个参数是以数组表示的参数列表printf('方法名: %s<br>参数列表: <pre>%s</pre>', $name, print_r($args, true));}}$user1=new User1();// *当访问一个并不存在的非静态方法时$user1->hello('张三','12345');// *当访问一个并不存在的静态方法时User1::welcome('李四','56789');




<?php// *自动拦截的用途// *查询方法库class Query{// *当这个查询类实例化时,应该自动连接数据库// *public function __construct()// *{// * self::connect();// *}public function table($table){return $this;}public function where($table){return $this;}public function find(){}}//* 查询入口类class Db{public static function __callStatic($name, $arguments){// *所有查询操作在此完成,单入口查询return call_user_func_array([new Query(), $name], $arguments);}}Db::table('think_user')->where('id', 1)->find();

<?php// *类的继承// *父类class SanXi{// *属性public string $capital='太原市';private string $GDP='两万五千亿';protected string $name;// *构造方法public function __construct($name){$this->name=$name;}// *自定义方法protected function getInfo():string{return $this->name;}}// *子类继承父类class CanZi extends SanXi{private string $agriculture;private string $education;public function __construct($name,$agriculture,$education){parent::__construct($name);$this->agriculture=$agriculture;$this->education=$education;}public function getInfo():string{return parent::getInfo().'今年农业:'.$this->agriculture.',教育:'.$this->education.'<br>';}}$canzi=new CanZi('长治市','粮食丰收','新建一所大学');echo $canzi->getInfo();

<?php// *抽象类及其继承// *1.抽象类abstract class GuangDong{public string $capital='广州市';abstract public static function getInfo($name);}// *2.抽象类的继承class GusngZhou extends GuangDong{// *子类必须将父类的抽象方法加上实体public static function getInfo($name){return '你好,'.$name;}}echo GusngZhou::getInfo('祖国的南大门广州');

<?php// *接口与实现类//*1.接口interface iSanGuo{// *常量public const monarch='曹操';// *方法:publicpublic function a1();public function a2();}// *2.实现类:实现了接口的类class WeiGuo implements iSanGuo{public function a1(){}public function a2(){}}// *3.如果一个实现类没有实现接口的全部方法,则必须在前面加上关键字:abstractabstract class SuGuo implements iSanGuo{public function a1(){}}class WuGuo extends SuGuo{public function a2(){}}// *4.一个实现类可以同时实现多个接口,及间接实现了多继承interface iWei{}interface iSu{}interface iWu{}// *一个晋类,同时从魏,蜀,吴三个接口中获取成员,间接实现了多继承class Jing implements iWei,iSu,iWu{}



<?php// *数据库接口中的增删改查方法的实现// *1.一个学生数据库接口interface iStuDb{// *insert:增加数据public static function insert(array $data);// *update:修改数据public static function update(array $data,string $where);// *delete:删除数据public static function delete(string $where);// *select:查询数据public static function select(array $options);}// *2.用一个抽象类实现学生数据库接口中的增删改查方法abstract class StuDb{// *insert:增加数据public static function insert(array $data){}// *update:修改数据public static function update(array $data,string $where){}// *delete:删除数据public static function delete(string $where){}// *select:查询数据public static function select(array $options){}}class Stu extends StuDb{}

<?php// *命名空间// *1.命名空间的意义是什么?namespace _221112;function sanguo(){}namespace _221112b;function sanguo(){}namespace a;


<?php// *命名空间的3种类型// *1.当前路径:非限定名称// *2.相对路径:限定名称// *3.绝对路径:完全限定名称namespace a;class Index{public static function show(){return __METHOD__;}}echo Index::show().'<br>';namespace one;class Index1{public static function show(){return __METHOD__;}}echo Index1::show() . '<br>';// *分层(one在上,two在下)namespace one\two;class Index2{public static function show(){return __METHOD__;}}echo Index2::show() . '<br>';// echo \one\two\Index2::show() . '<br>';// *起别名use one\tww\Index2 as Index;echo Index2::show().'<br>';


Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号