博客列表 >PHP基础知识文件加载、类和对象学习小结

PHP基础知识文件加载、类和对象学习小结

马晓宁
马晓宁原创
2020年05月04日 11:28:01580浏览

1.文件加载

1.1 条件加载(include/include_once)

include 语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。
  1. <?php
  2. echo "<p>感谢收看-" . date("Y") .</p>";
  3. ?>
  1. <html>
  2. <body>
  3. <h1>欢迎收看!</h1>
  4. <?php include 'footer.php';?> //引用footer.php页脚文件
  5. </body>
  6. </html>
  1. <?php
  2. // include_once(): 仅允许加载一次
  3. // 全局成员:函数, 常量, 类, 接口
  4. // 不支持函数重载, 因此在同一个程序中不允许出现同名函数
  5. // include 'footer.php';
  6. // include 'footer.php';
  7. include_once 'footer.php';
  8. // include_once(): 加载前会检查该文件是否已经加载过了, 去重检查
  9. include_once 'footer.php';
  10. ?>

1.2强制加载(require/require_once)

  1. <?php
  2. // 1. require: 强制加载
  3. // 如果加载失败, 终止当前脚本, 与include不一样
  4. require 'footer.php';
  5. // 2. 强制去重加载
  6. require_once 'footer.php';
  7. require_once 'footer.php';
  8. echo '如果看到我, 说明程序没有因文件加载失败而终止';

2.类与对象

对象:实际存在该类事物中每个实物的个体。$a =new User(); 实例化后的$a
引用:php的别名,两个不同的变量名字指向相同的内容
封装: 把对象的属性和方法组织在一个类(逻辑单元)里
继承:以原有的类为基础,创建一个新类,从而代码复用的目的;
多态:允许将子类类型的指针赋值给父类类型的指针。

  1. <?php
  2. class Person{
  3. public $name;
  4. public $age;
  5. public $sex;
  6. public function who()
  7. {
  8. echo $this->name." is ".$this->age." years old and is my ".$this->sex;
  9. }
  10. }
  11. class man{
  12. public $height;
  13. public $where;
  14. public function __construct($h,$w){
  15. $this->height = $h;
  16. $this->where = $w;
  17. }
  18. }
  19. $luyaran = new Person();
  20. $luyaran->name = "luyaran";
  21. $luyaran->age = "27";
  22. $luyaran->sex = "love";
  23. $luyaran->who();
  24. echo "<br>";
  25. $man = new man($luyaran,'142');
  26. echo serialize($luyaran);
  27. $luyaran_arr = array('name'=>'luyaran','age'=>'27','sex'=>'love');
  28. echo "<br>";
  29. echo serialize($luyaran_arr);
  30. echo "<br>";
  31. var_dump($man);
  32. echo "<br>";
  33. echo serialize($man);
  34. ?>

结果:

总结下对象和类的概念以及之间的相互关系:
1.类是定义一系列属性和操作的模板,而对象,就是把属性进行实例化,完事交给类里面的方法,进行处理。
2.对象的本质,就是数据,其本身不包含方法,但是其内部有一个指针,会指向一个类,而在这个类里面,是可以包含方法的。
3.类里面的方法描述不同的属性,因而,会产生不同的表现或者结果。
4.类和对象是不可分割的,有对象,就必定有一个类是和它相对应的,但是,由标量进行强制转化而产生的对象由PHP中,一个称为“孤儿”的stdClass类,来收容它。


3.类属性、类常量简介

3.1类的变量成员叫做“属性”,或者叫“字段”、“特征”。属性声明是由关键字public、protected或private开头,然后跟一个普通的变量声明来组成。属性中的变量可以初始化,但是初始化的值必须是常数,常数是指PHP脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。

  1. <?php
  2. $name="php";
  3. class A{
  4. static $v="小张";
  5. static public $v2 = <<<EOD
  6. hello world
  7. EOD;
  8. static public $v3 = <<<'EOA'
  9. $name
  10. EOA;
  11. var $var = 'a default value';
  12. public function displayVar() {
  13. echo $this->var.self::$v.$this::$v3;
  14. }
  15. }
  16. $a=new A();
  17. $a->displayVar();
  18. ?>

结果:a default value小张$name


3.2将在类中始终保持不变的值称为类常量,在定义常量时不需要使用$,而是在常量名前使用const关键字。常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用。接口中也可以定义常量。

  1. <?php
  2. $name="php";
  3. class A{
  4. const cons=<<<EOD
  5. hello 小张
  6. EOD;
  7. var $var = 'a default value';
  8. public function displayVar() {
  9. echo self::cons."\n".$this::cons."\n";
  10. }
  11. }
  12. $a=new A();
  13. $a->displayVar();
  14. echo A::cons."\n";
  15. $className="A";
  16. echo $className::cons."\n";
  17. ?>

结果:hello 小张 hello 小张 hello 小张 hello 小张


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