PHP getter和setter

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP getter和setter相关的知识,希望对你有一定的参考价值。

OOP style getters and setters in php.
  1. <?php
  2.  
  3. class Person
  4. {
  5. private $first;
  6. private $last;
  7.  
  8. public setName ($name)
  9. {
  10.  
  11. }
  12.  
  13. public getName ($name)
  14. {
  15.  
  16. }
  17.  
  18. public function __set ($name, $value)
  19. {
  20. $key = strtoupper(substr($name, 1)) . strtolower(substr($name, 0, 1));
  21. $setter = 'set' . $key;
  22.  
  23. if (method_exists($this, $setter)) {
  24. $this->$setter($value);
  25. return $value;
  26. }
  27.  
  28. trigger_error('Undefined property via ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE);
  29. }
  30.  
  31. public function __get ($name)
  32. {
  33. $key = strtoupper(substr($name, 1)) . strtolower(substr($name, 0, 1));
  34. $getter = 'set' . $key;
  35.  
  36. if (method_exists($this, $getter)) {
  37. return $this->$getter();
  38. }
  39.  
  40. trigger_error('Undefined property via ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE);
  41. }
  42. }
  43.  
  44. ?>

以上是关于PHP getter和setter的主要内容,如果未能解决你的问题,请参考以下文章

PHP getter和setter

php [php:accessor] setter / getter模式备忘录。 #PHP

PHP Magic Method Setter and Getter

getter 和 setter 是如何工作的?

使用lombok时@Setter @Getter无效

kotlin getter 和 setter 期望成员声明错误?