Blogger Information
Blog 46
fans 0
comment 0
visits 34314
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP中文件包含的实例演示
上草一方
Original
731 people have browsed it

1.PHP中文件包含的实例

  1. <?php
  2. // 文件包含
  3. // 本质: 将目录文件复制到当前位置
  4. // 1. include
  5. // echo __DIR__ ;
  6. include __DIR__ .'/inc/f1.php';
  7. // $username = '张老师';
  8. // 被包含文件共享作用域
  9. echo $username . '<br>';
  10. // echo $email . '<br>';
  11. $email = include __DIR__ . '/inc/f1.php';
  12. echo $email . '<hr>';
  13. // 2. require
  14. require __DIR__ . '/inc/f1.php';
  15. echo $username . '<br>';
  16. $email = require __DIR__ . '/inc/f1.php';
  17. echo $email . '<br>';
  18. // 3. include,require区别
  19. // 区别1
  20. // include: 用到时再加载, 动态
  21. // require: 应该写到顶部, 静态
  22. // if (false) include __DIR__ . '/inc/f2.php';
  23. // echo $site . '<br>';
  24. // if (false) require __DIR__ . '/inc/f2.php';
  25. // echo $site . '<br>';
  26. // 区别2
  27. // include: 加载失败,继续执行不中断
  28. // requrie: 加载失败,中断退出
  29. // include __DIR__ . '/inc/hello.php';
  30. @include __DIR__ . '/inc/hello.php';
  31. echo 'include后面的代码' . '<br>';
  32. // require __DIR__ . '/inc/hello.php';
  33. // echo 'require后面的代码' . '<br>';
  34. // include_once: 只包含一次
  35. // require_once: 只包含一次

运行效果如下:

2.PHP中关键字

class/new/extends/public/private/protected/interface/abstruct关键字的实例演示

  1. <?php
  2. /**
  3. * 类的扩展/抽象/最终
  4. * 1. protected: 受保护/可继承
  5. * 2. extends: 扩展/继承
  6. * 3. parent: 父类引用
  7. * 4. abstract: 抽象
  8. * 5. final: 最终类
  9. */
  10. // 父类,基类,超类
  11. class Person
  12. {
  13. // proteced:成员可继承,可以在子类中使用
  14. protected $name;
  15. // private: 私有,仅限当前类,子类,外部都不可见
  16. private $id = 12345;
  17. // public: 类中,子类,类外都可见
  18. public function __construct($name){
  19. $this->name = $name;
  20. }
  21. // getInfo::proteced
  22. // 比protected再严格的是 private,比它更宽松的是:public
  23. protected function getInfo(){
  24. return $this->name;
  25. }
  26. }
  27. // 学生类
  28. // extends:Stu这个类,扩展了Person类的功能
  29. class Stu extends Person
  30. {
  31. // 1. 属性扩展
  32. private $lesson;
  33. private $score;
  34. // 2. 方法扩展、重写
  35. public function __construct($name,$lesson,$score)
  36. {
  37. // 引用了父类的构造方法
  38. // parent: 父类引用 Person
  39. parent::__construct($name);
  40. $this->lesson = $lesson;
  41. $this->score = $score;
  42. }
  43. public function getInfo()
  44. {
  45. // $this->name
  46. // return $this->name . "同学,($this->lesson : $this->score 分)";
  47. return parent::getInfo() . "同学,($this->lesson : $this->score 分)";
  48. }
  49. }
  50. $stu = new Stu('小王','php',88);
  51. echo $stu->getInfo();
  52. echo '<hr>';
  53. // 如果不想让用户直接使用父类,而必须通过继承/扩展的子类来间接使用
  54. // 将父类声明为一个抽象类
  55. abstract class Demo1{
  56. }
  57. // (new Demo1)
  58. class Demo2 extends Demo1{
  59. }
  60. echo 'Demo2的父类是:'.get_parent_class(new Demo2);
  61. echo '<hr>';
  62. abstract class Demo3{
  63. // 抽象方法:只有方法名,参数列表,没有具体实现(大括号)
  64. abstract protected function hello($name);
  65. }
  66. class Demo4 extends Demo3{
  67. // 工作类Demo4中必须实现父类中的抽象成员
  68. public function hello($name){
  69. return 'hello,'.$name;
  70. }
  71. }
  72. echo call_user_func([new Demo4,'hello'],'张老师');
  73. echo '<hr>';
  74. // interface接口实例
  75. interface A{}
  76. interface B{}
  77. interface C{}
  78. class Test implements A,B,C{
  79. }
  80. // 查看当前类实现的所有接口
  81. $arr = class_implements('Test');
  82. printf('<pre>%s</pre>',print_r($arr,true));
  83. // 如果一个类不用扩展,直接当成工作类/直接干活的,直接new
  84. // 为了防止被继承, 可声明为最终类
  85. // final class Demo5
  86. // {
  87. // }
  88. // class Demo6 extends Demo5
  89. // {
  90. // }

运行效果如下:

Correcting teacher:PHPzPHPz

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