Blogger Information
Blog 34
fans 0
comment 0
visits 20127
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
文件包含介绍及类成员
OC的PHP大牛之路
Original
482 people have browsed it

文件包含

将外部文件的内容插入当前位置;

includerequire

  1. // 1.include
  2. // 代码出错后忽略错误,继续执行后面代码;
  3. 相对路径:include 'inc/f1.php';
  4. 绝对路径:include __DIR__ . '/inc/f1.php';
  5. echo $username ;
  6. // 2.require
  7. // 代码出错后直接退出;
  8. require __DIR__ . '/inc/f1.php';
  9. echo $username ;

类与对象

类:全局成员,声明(class),用大驼峰(UserName)
对象:一个容器,是全局成员一个前缀

  1. 1.类声明
  2. class Goods{...};
  3. 2.类的实例化(对象)
  4. $goods = new Goods();

类成员

1.实例成员:用对象访问($this)

  1. class User1
  2. {
  3. // 1. 实例成员
  4. // (一) 属性, 变量的语法
  5. // public: 公共(默认)
  6. public $username = '张老师';
  7. public $role = '妈';
  8. // 私有, 只能在当前的类中使用
  9. private $salary = 3800;
  10. private $age = 28;
  11. // (二) 方法: 函数的语法
  12. // public function getSalary()
  13. // {
  14. // $this : 和当前类实例绑定
  15. // return $this->salary;
  16. // }
  17. // public function getAge()
  18. // {
  19. // return $this->age;
  20. // }
  21. // 获取器: __get(属性), 魔术方法, 双下划线开始的系统方法
  22. // $name: 要获取的属性名
  23. public function __get($name)
  24. {
  25. // 类内部: $this
  26. // return $this->$name;
  27. if ($name === 'salary') {
  28. if ($this->role === '太太') {
  29. return $this->$name;
  30. } else {
  31. return $this->$name - 1000;
  32. }
  33. }
  34. if ($name === 'age') {
  35. return $this->$name + 10;
  36. }
  37. }
  38. // 修改器/设置器, 魔术方法, __set(属性,值)
  39. public function __set($name, $value)
  40. {
  41. if ($name === 'age') {
  42. if ($value >= 18 && $value <= 50) {
  43. $this->$name = $value;
  44. } else {
  45. echo '年龄越界了';
  46. }
  47. }
  48. }
  49. // __get, __set, 成员非法访问拦截器
  50. }
  51. // 实例化
  52. // 在类外部,用对象访问成员
  53. $user1 = new User1();
  54. echo $user1->username , '<br>';
  55. // echo $user1->salary , '<br>';
  56. echo $user1->salary . '<br>';
  57. echo $user1->age . '<br>';
  58. $user1->age = 48;
  59. echo $user1->age . '<br>';

2.静态成员 static:用类访问(self::)

  1. class User2
  2. {
  3. public $username;
  4. private $salary;
  5. private $age;
  6. // 当前类实例的状态(属性值)由用户决定
  7. // 构造方法: 魔术方法, 不用用户主动调用,由某个事件或动作来触发
  8. // __get,__set
  9. // 构造方法, 实例化该类时,会自动触发
  10. public function __construct($username, $salary, $age,
  11. $nation = 'CHINA')
  12. {
  13. $this->username = $username;
  14. $this->salary = $salary;
  15. $this->age = $age;
  16. // 初始化静态属性
  17. self::$nation = $nation ;
  18. }
  19. // 静态成员 static
  20. // 静态属性
  21. public static $nation;
  22. // 静态方法
  23. public static function hello()
  24. {
  25. // return 'Hello,' . User2::$nation;
  26. // 在类中, 使用 self::来引用当前类
  27. return 'Hello,' . self::$nation;
  28. }
  29. }
  30. $user2 = new User2('李老师', 2800, 30, '中国');
  31. echo $user2->username . '<br>';
  32. echo User2::$nation . '<br>';
  33. $user3 = new User2('猪老师', 3800, 40, '中国');
  34. echo $user3->username . '<br>';
  35. // echo $user3->nation . '<br>';
  36. // 类外部,访问静态成员,使用类名称::
  37. echo User2::$nation . '<br>';
  38. echo User2::hello() . '<br>';
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