博客列表 >文件包含以及类与对象初识

文件包含以及类与对象初识

xueblog9的进阶之旅
xueblog9的进阶之旅原创
2022年08月15日 17:39:14439浏览

文件的包含

  1. 本质,将外部文件的内容,插入到当前的位置
    1.1 include:导入文件,输入路径(建议使用绝对路径)即可,可以用变量,在当前文件使用,或者接受文件的返回值(可以是变量,可以是数组等)在当前文件使用
    1.2 require:与include功能一致,区别在于出错处理上,include:忽略错误,继续执行后面代码,require:直接退出
    1.3 两者都支持条件加载,一般不用
    1.4 把通用的html代码,以文件形式储存导入使用,提升效率

类与对象

  1. 面向对象编程:对象是一个容器,是全局成员的一个前缀
  2. 类:是全局成员,声明:class,大驼峰命名
  3. 类声明(class)->类的实例化(对象)(new)
  4. 动态类-没听懂

类成员

  1. 实例成员:用对象访问的,内部用$this,外部用实例化对象名
    1.1 public(声明公共成员).private(申明私有成员,只能在类内部使用)
    1.2 方法:函数的语法
  2. 静态成员:用类访问的,public static-声明静态公共成员,在类中用self::引用当前类静态成员,类外部,用-类名称::$变量名
  3. $this与当前类实例绑定
    注:获取修改私有成员
  4. 获取器:__get(属性):获取魔术方法,用双下划线开始的系统方法
  5. 修改器:__set(属性,值):设置值
  6. 构造方法:function __construct($变量名1,$变量名2…),$this->变量名 = $变量名1…,外部通过实例化传参赋值,进行调用外部参数传入,进行访问;

其他

  1. get_class():获取对象属于哪个类的类名
  2. instanceof:判断对象是否在某个类中
  3. die(‘程序中断’)
  4. exit(‘与die相似’)

实例源码

  1. <?php
  2. include __DIR__.DIRECTORY_SEPARATOR.'0812text\text.php';
  3. echo $textdata.'<hr>';
  4. // E:\Users\RAJA\Desktop\test\xuexiphp\0812\
  5. class Users {
  6. public $username;
  7. public $email;
  8. private $password;
  9. public $name ='zhong';
  10. private $age = '18';
  11. public static $text;
  12. public function __get($m)
  13. {
  14. // 筛选过滤,给条件方法,私有变量可起到隐私作用
  15. if($m === 'age') {
  16. if($this -> name === 'HU'){
  17. return $this->$m;
  18. } else {
  19. return $this->$m + 10;
  20. }
  21. }else {
  22. return $this ->$m;
  23. }
  24. }
  25. public function __set($n,$value)
  26. {
  27. return $this -> password = $value;
  28. return $this -> name = $value;
  29. }
  30. public function __construct($x,$y,$z,$q='111')
  31. {
  32. // 初始化
  33. $this -> username = $x;
  34. $this -> email = $y;
  35. $this -> password = $z;
  36. self::$text = $q;
  37. }
  38. };
  39. $user = new Users('wang',$textdata,'12345678');
  40. echo $user->username.'<hr>';
  41. echo $user->email.'<hr>';
  42. echo $user->password.'<hr>';
  43. echo $user->age.'<hr>';
  44. $user->password = '09873';
  45. echo $user->password.'<hr>';
  46. $user->name = 'HU';
  47. echo $user->age.'<hr>';
  48. $user2 = new Users('zhong','wh@qq.com','iusdhfa sdf');
  49. echo $user2->username.'<hr>';
  50. echo $user2->email.'<hr>';
  51. echo $user2->password.'<hr>';
  52. echo $user2::$text='999';
  53. // 面向对象的编程理解:类相当于一个方法,__get获取类内部的私有变量(可条件判断根据值的不同给定不同的方法操作),
  54. // __set()修改类内部变量的值(也可等于数据库获取的值),__construct()对象构造器,通过传参,
  55. // 使用外部变量赋值,来进行外部数据获取,在特定的类中进行数据处理;

实例结果:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议