批改状态:合格
老师批语:
<?phpnamespace _0812; ?>// 文件包含<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><!--退出 html 进入php --><?php// PHP代码 在服务器执行// 退出 php 进入html?><!-- 被包含的是html 直接写 --></body></html>
<?phpnamespace _0812;// 文件包含// 本质,将外部文件的内容,插入到当前的位置// include 加载引用// 相对路径include 'zuoyeinc/zuoyef1.php';// echo $username;echo '<hr>';// 推荐使用绝对路径 速度更快include 'zuoyeinc/zuoyef1.php';echo __DIR__.'/zuoyeinc/zuoyef1.php';// 斜线 反斜线 统一echo '<hr>';echo __DIR__.DIRECTORY_SEPARATOR.'zuoyeinc'.DIRECTORY_SEPARATOR.'zuoyef1.php';echo '<hr>';// 简写// include __DIR__.'/zuoyeinc/zuoyef1.php';// // 与当前脚本共用一个作用域// echo $username;// // $username 导入的失效了 变成小猫了// $username = '小猫';// echo $username;echo '<hr>';// @var username 声明 后不会报错echo '<hr>';// return 接收// $username= include __DIR__.'/zuoyeinc/zuoyef1.php';// echo $username;// return 接收 数组// list() 解构$user =include __DIR__.'/zuoyeinc/zuoyef1.php';list('username'=>$username,'email' => $email ) =$user ;echo $username ,'----',$email;echo '<hr>';echo join(',',$user);echo '<hr>';vprintf('%s---%s',$user);echo '<hr>';$user =include __DIR__.'/zuoyeinc/zuoyef2.php';echo $user;// 虽然路径错了,但是不影响后面的执行 但是require 不执行了 警告错误后面执行echo '<h1>Hello php.cn</h1>';echo '<hr>';// require// $user =require __DIR__.'/zuoyeinc/zuoyef2.php';// echo $user;// // require 不执行了 致命错误后面不执行 直接退出了 一般require用的多// die('程序中断');// exit('xxxx');// echo '<h1>Hello php.cn</h1>';// 判断文件是否存在if (file_exists(__DIR__ . '/inc/f12.php')) {require __DIR__ . '/inc/f12.php';} else {exit('文件不存在');}// include, require,功能一样,区别在于出错的处理上// include: 忽略错误,继续执行后面代码, require,直接退出
<?phpnamespace _0812;//快速话 模块化 网站?><?phpinclude __DIR__.'/zuoyeinc/header.php';?><main><ul><li><a href="">最新技术文章1</a></li><li><a href="">最新技术文章2</a></li><li><a href="">最新技术文章3</a></li><li><a href="">最新技术文章4</a></li><li><a href="">最新技术文章5</a></li><li><a href="">最新技术文章6</a></li><li><a href="">最新技术文章7</a></li><li><a href="">最新技术文章8</a></li><li><a href="">最新技术文章9</a></li><li><a href="">最新技术文章10</a></li></ul></main><?php include __DIR__ . '/zuoyeinc/footer.php';
<?php// namespace _0812;/*** class: 声明类* new: 实例化类*/use _0812\Goods as _0812Goods;// 面向对象// 对象是一个容器 是全局成员的一个前缀// obj.name// 类 全局成员。声明 class 大驼峰 PascalName// 1、类声明class Goods {}// 2、类实例化 实例的是对象// 实例总是与一个类绑定, 对象更通用一些, 在不引起歧义时,实例==对象$goods =new Goods();var_dump( $goods);echo '<hr>';var_dump( $goods instanceof Goods);echo '<hr>';echo gettype($goods).'<br>';echo '<hr>';echo get_class($goods).'<br>';echo '<hr>';// 动态类// 控制器 是一个动态类 控制器 名称 出现在url 中$controller = 'goods';// $controller = ucfirst('goods');$obj1 = new $controller ();var_dump($obj1);echo '<hr>';// 动态类// 控制器就是一个动态类, 控制器名称出现url$cont = ucfirst('goods');// UserController.php// $controller = ucfirst( 'goods') . 'Controller';$obj = new $cont();var_dump($obj);
<?php// namespace _0812;/*** 类成员* 1. 实例成员: 用对象访问, $this* 2. 静态成员*/class User1 {// 1.1 实例成员// 类里面声明变量,要给声明全局、范围的限定、 不然报错// 私有成员 、 private 只有当前类使用,其他地方不能使用// 默认公共的 publicpublic $username ='小狗' ;// 私有的 只有当前类使用private $salary =15000;private $age =15;// 写个方法返回 私有的public function getSalary (){// $user = new User1();// return $user ->salary;// 简化 $this 和当前类实例绑定return $this ->salary;}// 写个方法返回 私有的public function getAge (){// $user = new User1();// return $user ->salary;// 简化 $this 和当前类实例绑定return $this ->age;}}// 实例化$user1 =new User1();echo $user1 ->username.'<hr>';// echo $user1 ->salary.'<hr>'; 访问不到私有变量// 访问到了echo $user1 ->getSalary();echo '<hr>';// 访问到了echo $user1 ->getAge();echo '<hr>';// 简化 获取器class User2 {// 1.1 实例成员// 类里面声明变量,要给声明全局、范围的限定、 不然报错// 私有成员 、 private 只有当前类使用,其他地方不能使用// 默认公共的 publicpublic $username2 ='小猫' ;// 私有的 只有当前类使用private $salary2 =25000;private $age2 =25;public $role = '妈';// 获取器 忽略属性类型 全部返回// $name 要获取的属性名// 获取器: __get(属性), 魔术方法, 双下划线开始的系统方法// $name: 要获取的属性名public function __get($name){// 类内部: $this// return $this ->$name;// 设置拦截if($name ==='salary2'){if ($this -> role==='太太'){return $this ->$name -1;}else {return $this ->$name -2;}}if($name ==='age2'){return $this ->$name +1;}}// 修改器/设置器, 魔术方法, __set(属性,值)// public function __set($name, $value)// {// if($name ==='age2'){// if ($value >= 18 && $value <= 50){// $this ->$name = $value;// }else {// echo '年龄非法';// }// }// }// 修改器/设置器, 魔术方法, __set(属性,值)public function __set($name, $value){if ($name === 'age2') {if ($value >= 18 && $value <= 50) {$this->$name = $value;} else {echo '年龄越界了';}}}}// 实例化// 在类外部,用对象访问成员// $user2 =new User2();// echo $user2 ->username2.'<hr>';// // echo $user1 ->salary.'<hr>'; 访问不到私有变量// // 访问到了// echo $user2 ->salary2;// echo '<hr>';// // 访问到了// echo $user2 ->age2;// echo '<hr>';// 修改 年龄 类内部的值 _set()// $user2 ->age2 = 35;// echo $user2 ->age2;// echo '<hr>';// 修改 年龄 类内部的值 _set()// $user2 ->age2 = 15;// // echo $user2 ->age2;// echo '<hr>';// 修改 年龄 类内部的值 _set()// $user2 ->age2 = 40;// echo $user2 ->age2;// echo '<hr>';// 实例化// 在类外部,用对象访问成员$user2 = new User2();echo $user2->username , '<br>';// echo $user1->salary , '<br>';echo $user2->salary2 . '<br>';echo $user2->age2 . '<br>';$user2->age2 = 48;echo $user2->age2 . '<br>';$user2->age2 =60;// echo $user2->age2 . '<br>';
<?phpnamespace _0812;/*** 类成员* 1. 实例成员: 用对象访问, $this->对象引用* 2. 静态成员 static: 用类访问, self::->类引用 私有属性*/class User3{public $username;private $salary;private $age;// 当前类实例的状态(属性值)应该由用户来决定,而不是由类来写死// 构造方法: 魔术方法, 不用用户主动调用,由某个事件或动作来触发// __get,__set// 构造方法, 实例化该类时,会自动触发 new的时候 进阶学习设计模式*public function __construct($name,$salary,$age,$nation='ch'){$this -> username =$name;$this -> salary =$salary;$this -> age =$age;// 初始化静态属性self::$nation = $nation ;}// 静态属性public static $nation = '中国';// 静态方法public function hello(){return '你好,'. User3 ::$nation;// 在类中, 使用 self::来引用当前类// return 'Hello,' . self::$nation;}}$user3 =new User3('小猫',2000,2);echo $user3 ->username .'<hr>';echo $user3 :: $nation .'<hr>';// echo $user3 ->salary .'<hr>';// echo $user3 ->age .'<hr>';$user3 =new User3('小狗',3000,3);echo $user3 ->username .'<hr>';// echo $user3 ->salary .'<hr>';// echo $user3 ->age .'<hr>';// echo $user3->nation . '<br>';// 类外部,访问静态成员,使用 类名称::// echo $user3 ::$nation .'<hr>';// 类外部,访问静态方法echo User3::hello() . '<br>';
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号