博客列表 >文件加载与类

文件加载与类

ROC-Y
ROC-Y原创
2020年05月23日 19:10:44685浏览

文件加载

条件加载:include 文件名 ;include_once 文件名。

  • include每次使用都会加载,但是多次加载会存在命名冲突问题。
  • include_once,会限制同一个文件只能加载一次,避免命名冲突。

强制加载:require 文件名;require_once 文件名。

  • require如果加载失败,终止当前脚本,多次加载,也会出现命名冲突问题。
  • require_once,会限制同一个文件只能加载一次,避免命名冲突。

文件加载作用域

  • 只要在同一个作用域内,文件外部变量可以在被加载文件内使用。
  • 理解为include相当于把对应文件的代码放到对应引入的位置。

require和include区别

  • require 在脚本执行前读入包含的文件,通常在文件的开头和结尾处使用;
  • include 在脚本读到他的时候才将包含的文件读进来,通常在流程控制的处理区使用。
  • 读取文件失败之后,require将产生一个致命错误,而include则只是一个警告。

举例

  • demo1.php
  1. <?php
  2. $a = 10;
  3. $b = 20;
  • demo2.php
  1. <?php
  2. echo "$a $b <br>"; //未载入文件调用
  3. include 'demo1.php';
  4. echo "$a + $b" ;//载入文件后调用
  • 结果可见未载入前调用,拿不到值,载入后,拿到了demo1中的变量值

类的声明:

  1. <?php
  2. 权限修饰符 class 类名{
  3. 类成员;
  4. }

权限修饰符

  • 可选,常见修饰符包括 public 、private、和protected。省略时,默认public。
  • public表示属性和方法从类内部和外部都可以使用
  • private 属性和方法只能在类内部使用
  • protected 属性和方法在类内部和子类中使用

实例演示类成员以及类成员访问

  1. <?php
  2. //定义类
  3. class Gueste{
  4. //定义属性
  5. private $name;
  6. private $gender;
  7. //设置静态方法,通过类名::调用
  8. public static $nation = 'CHINA';
  9. //私有属性外部无法访问,所以提供get/set方法,此处可以通过增加判断,限制非法属性值
  10. function setName($name){
  11. //$this表示当前对象,->成员访问符
  12. $this->name = $name;
  13. }
  14. function gettName(){
  15. return $this->name;
  16. }
  17. function setGender($gender){
  18. $this->gender = $gender;
  19. }
  20. function getGender(){
  21. return $this->gender;
  22. }
  23. }
  24. //实例化类的对象xiaoming
  25. $xiaoming = new Gueste;
  26. //调用成员方法
  27. $xiaoming->setName('小明');
  28. $xiaoming->setGender('男');
  29. //输出对象信息
  30. echo "姓名:".$xiaoming->gettName()."\t"."性别:".$xiaoming->getGender()."\t"."国籍".Gueste::$nation."<br>";

总结

  • 如果遇到文件丢失需要继续执行,使用include,想要终止处理页面,则使用require。
  • 注意访问权限的范围,合理使用private保证安全性
  • 区分‘->’和‘::’,一个是对象访问成员,一个是类访问成员
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议