博客列表 >PHP 文件加载与对象基础

PHP 文件加载与对象基础

蔚蓝世纪
蔚蓝世纪原创
2020年05月08日 08:46:47556浏览

一、条件加载和强制加载

  1. 如果我们需要在网站的多张页面上,引用相同的PHPHTML或文本的话,可以使用include,include_once,或 require语句。也就是说,通过 include require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件,实现嵌套使用。

include 和 require 语句是相同的,但是错误处理方面却是不同的:

  1. include:条件加载,只生成警告(E_WARNING),并且脚本会继续。
  2. include_once:去重加载,只允许加载一次文件。
  3. require:强制加载,会生成致命错误(E_COMPILE_ERROR)并停止脚本。
  4. require_once:强制去重加载。
代码举例:
  1. include 'custom.php';
  2. include 'custom.php';//脚本继续加载
  3. include_once 'custom.php';//只允许加载一次文件,下面语句不加载。
  4. include_once 'custom.php';
  5. echo '这是个小试验';
  6. echo '<hr>';
  7. require 'custom.php';
  8. require 'a.php';//因为找不到a.php这个文件,所以出现错误提示,后面的echo内容不再执行。
  9. echo "这是个小试验";
  10. echo '<hr>';
效果展示:

二、类与对象

类:用来描述具有相同属性和方法的对象的集合。类的定义包含了数据的形式以及对数据的操作。每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。一个类可以包含有属于自己的常量,变量(即“属性”)以及函数。
类的语法:
  1. class favs
  2. {
  3. public $x;
  4. public $y = "这是一个变量(属性)";
  5. public function mylove ($a, $b) {//这里也可以写函数
  6. [..]
  7. }
  8. [..]
  9. }
对象:是类的实例。实例化一个对象需要使用new关键字。即类是一个虚影,而对象可以将这个虚影实体化。
  1. class favs
  2. {
  3. }
  4. $favs = new favs();

三、类属性及属性的访问控制

  1. 类属性分为:常规属性(动态属性)、静态属性、抽象属性。
  2. 在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性。
  3. 静态属性则是用 ::(双冒号):self::$property 来访问。
代码举例:
  1. class user
  2. {
  3. //1.动态属性:即常规属性
  4. public $name='王小丁';
  5. public $sex='男';
  6. public $age="22";
  7. public $options = [1,2,3];
  8. public $output = <<< 'RES'(这个是nowdoc类型,类似于单引号的用法)
  9. <h3>可爱的家</h3>
  10. RES;
  11. //2.静态属性:可以更新,在创建时一定要赋值,要么有默认值,本质上是一个变量,而不是常量。例如下面,我们可以更换国籍和姓名等属性的值。
  12. public static $nationality = "中国/CHINA";
  13. //3.抽象属性:没有值,没有被初始化,默认值是null。
  14. public $salary;
  15. }
  16. $user = new User();
  17. $user->name = "李玉湖";
  18. //->:对象运算符/对象成员访问符
  19. echo "姓名:{$user->name},年龄:{$user->age}<br>";
  20. echo $user->output . '<br>';
  21. //访问静态属性:使用范围解析符,双冒号::
  22. User::$nationality = '英国/ENGLAND';
  23. echo User::$nationality;
  24. var_dump($user->salary);
  25. var_dump(is_null($user->salary));
效果展示:

四、类属性的访问控制

  1. 属性的访问控制:类属性必须定义为公有,受保护,私有之一。
  2. 如果用 var 定义,则被视为公有。
  3. 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。
  4. 被定义为公有的类成员可以在任何地方被访问。
  5. 被定义为受保护的类成员则可以被其自身以及其子类和父类访问。
  6. 被定义为私有的类成员则只能被其定义所在的类访问。
  1. class Myfav
  2. {
  3. // 声明一个公有的方法
  4. public function Myfav1() { }
  5. // 声明一个受保护的方法
  6. protected function Myfav2() { }
  7. // 声明一个私有的方法
  8. private function Myfav3() { }
  9. // 此方法为公有
  10. function goods()
  11. {
  12. $this->Myfav1();
  13. $this->Myfav2();
  14. $this->Myfav3();
  15. }
  16. }
  17. $Myfav = new Myfav;
  18. $Myfav->Myfav1(); // 这行能被正常执行
  19. $Myfav->Myfav2(); // 这行会产生一个致命错误
  20. $Myfav->Myfav3(); // 这行会产生一个致命错误
  21. $Myfav->goods(); // 公有,受保护,私有都可以执行

五、总结

1.类和对象听起来简单,初接触是发蒙的。但是类和对象与字符串函数和数组函数类似,就好像语文里面学的诗歌、小说、散文等属于PHP下不同的体裁,既然体裁不同,那么书写方法就不同,各有一套自己的规则。
2.以上举例的代码中红色字体要特别注意,切记。
3.PHP中有预定义标识符,用户在编写代码时要避免给类、常量或者变量起这些名字,否则易出现混淆。

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