php - 在php中获取设置属性

标签 php get set

本人C#环境出身,在学校开始学习PHP。 我习惯于像这样在 C# 中设置我的属性。

public int ID { get; set; }

在 php 中这等同于什么?

谢谢。

最佳答案

没有,虽然有some proposals for implementing在未来的版本中。 不幸的是,现在您需要手动声明所有 getter 和 setter。

private $ID;

public function setID($ID) {
  $this->ID = $ID;
}

public function getID() {
  return $this->ID;
}

对于一些魔术(PHP 喜欢魔术),您可以查找__set__get magic methods.

例子

class MyClass {

  private $ID;

  private function setID($ID) {
    $this->ID = $ID;
  }

  private function getID() {
    return $this->ID;
  }


  public function __set($name,$value) {
    switch($name) { //this is kind of silly example, bt shows the idea
      case 'ID': 
        return $this->setID($value);
    }
  }

  public function __get($name) {
    switch($name) {
      case 'ID': 
        return $this->getID();
    }
  }

}


$object = new MyClass();
$object->ID = 'foo'; //setID('foo') will be called

关于php - 在php中获取设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320334/

相关文章:

php - 根据稀有度创建 "deck of cards"

php - 单击 'exit' 按钮后如何删除 mysql 数据库中保存的行

java - 服务器拒绝了一个请求,但接受了另一请求。为什么?

python - 为什么在 Python 中将集合传递给 set.discard 时不会抛出错误?

PHP数据库未添加数据

javascript - 程序生成 3000 个正方形

javascript - 在 GET 之前重新发送 OPTIONS 方法

http - 骡子 - 找不到变量

arrays - swift 2.1 : How do you produce a set from an array?

c++ - 通过与不同类型的值进行自定义比较来查找 std::set 的元素