博客列表 >PHP:文件加载、类与对象(1)

PHP:文件加载、类与对象(1)

楷
原创
2020年05月01日 19:19:32685浏览

一、文件加载

1.条件加载实例

  1. <?php
  2. // 1.条件加载:
  3. // a.anchor条件判断:如果custom-a.php文件不存在,则加载default.php
  4. // @不返回错误信息
  5. // if (@!include 'custom-a.php') include 'default.php';
  6. // b.另外一种判断方法,使用两个函数同时判断
  7. //file_exists():文件是否存在;
  8. // is_file():是否是文件;
  9. $file = 'custom-a.php';
  10. if(file_exists($file)&&is_file($file)){
  11. include $file;
  12. }else
  13. {
  14. include 'default.php';
  15. }
  16. // 程序出错也不会终止程序
  17. include 'custom1.php';
  18. echo '如果看到我, 说明程序没有因文件加载失败而终止';
  19. // 2.去重条件加载,仅允许加载一次
  20. // php不支持函数重载, 因此在同一个程序中不允许出现同名函数
  21. // include $file;
  22. // include $file;
  23. // include_once(): 加载前会检查该文件是否已经加载过了, 去重检查
  24. include_once 'custom-a.php';
  25. include_once 'custom-a.php';

条件加载实例演示

2.强制加载

  1. // 1. require: 强制加载
  2. // 如果加载失败, 终止当前脚本, 与include不一样
  3. require 'config.php';
  4. // 2. 强制去重加载
  5. require_once 'common.php';
  6. require_once 'common.php';

二、类与对象

  1. // 对象 = 变量 + 函数
  2. // 对象也是实现"代码复用"的手段
  3. // 要使用对象, 就得先创建一个模板,根据这个模板,不断的创建多个对象出来,实现复用
  4. // 这个模板就叫: "类"
  5. $obj = {
  6. $price = 2700;
  7. $name = '小米10青春版';
  8. function get($name, $price)
  9. {
  10. return "$name :$price 元 ";
  11. }
  12. echo get($name, $price);
  13. }
  14. // 类的声明与实例化
  15. // 1. 类的声明: class
  16. class Goods
  17. {
  18. }
  19. // 2. 类的实例化:创建对象的过程, new
  20. $goods = new Goods();
  21. // 类的实例, 对象, 在不会引起误会的场景下, 实例与对象是同义词
  22. // 判断是否是类的对象的函数: instanceof
  23. var_dump($goods instanceof Goods);
  24. // 获得类名的函数: get_class()
  25. echo get_class($goods);
  26. // 动态类的格式化(首字母大写):ucfirst()
  27. $class = ucfirst('goods');

类成员: 类属性, 类方法, 类常量

1.类属性

  1. // 类属性: 类中变量
  2. // 类中成员的作用域: 访问限制
  3. // 类属性就是有访问限制的变量
  4. // 语法: 访问限制符 $变量标识符;
  5. // 1. 常规属性: 非静态属性/动态属性
  6. public $name = '胡八一';
  7. public $age = 40;
  8. public $options = [1,2,3];
  9. // nowdow
  10. public $output = <<< 'RES'
  11. <h3>中国必胜 \n\r</h3>
  12. RES;
  13. // heredoc :双引号
  14. public $output1 = <<< EOT
  15. <h3>中国\n\r必胜 </h3>
  16. EOT;
  17. // 非法属性值
  18. // 不能用变量
  19. // public $age = $var;
  20. // 不能用类属性/类方法
  21. // public $user = $this->name;
  22. // 不能用表达式
  23. // public $total = $price * 10;
  24. // 不能使用函数调用
  25. // public $creat = time();
  26. // 2. 静态属性
  27. // 如果一个属性的值,对所有实例来说是一样的, 用类访问更方便,此时可以声明为静态的
  28. public static $nationality = '中国/CHINA';
  29. // php程序的运行简单的可以分为二个阶段: 编译, 执行
  30. // 3. 抽象属性: 没有被初始化, 默认值就null
  31. // public $salary;
  32. public $salary = null;
  33. }
  34. $user = new User;
  35. $user->name = '王胖子';
  36. // -> : 对象运算符/对象成员访问符
  37. echo "姓名: {$user->name}, 年龄: {$user->age}<br>";
  38. echo $user->output . '<br>';
  39. echo $user->output1 . '<br>';
  40. // 访问静态属性: 使用范围解析符, 双冒号::
  41. User::$nationality = '美国/USA';
  42. echo User::$nationality;
  43. var_dump(is_null($user->salary));

总结:
1.文件加载是指在指定位置导入.php文件,使主程序显得简洁。文件加载==程序复制粘贴
2.作用域:只要在同一个作用域内, 文件外部变量可以在被加载的文件中使用
3.类是模板,对象是类的实例,实例与对象是同义词。
4.类成员之一:类属性
动态属性、静态属性、抽象属性。
a.静态属性是变量,不是常量,在所有实例中都一样,所以声明为静态。
b.抽象属性是未被初始化,默认是null,如果赋值为null,就不是抽象变量了。
语法: 访问限制符 $变量标识符
箭头-> 对象成员访问符
双冒号:: 使用范围解析符

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