博主信息
博文 18
粉丝 0
评论 0
访问量 17800
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP基础知识文件加载、类和对象学习小结
马晓宁
原创
802人浏览过

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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学