Blogger Information
Blog 39
fans 0
comment 0
visits 30558
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP:文件加载、类与对象(1)
Original
682 people have browsed it

一、文件加载

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,就不是抽象变量了。
语法: 访问限制符 $变量标识符
箭头-> 对象成员访问符
双冒号:: 使用范围解析符

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:文件加载, 概念其实不难懂, 重点放在作用域中
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post