gpt4 book ai didi

javascript - 如何以 javascript 方式创建 php getter 和 setter

转载 作者:行者123 更新时间:2023-12-01 00:37:14 25 4
gpt4 key购买 nike

请问是否可以在 php 中以 JavaScript 方式创建 getter 和 setter。例如:

JavaScript

function test(){
var clr = "";
Object.defineProperty(this, "color", {
set:function(val){
val=="red"?clr=val:val="others";
},
get:function(){
return clr;
}
});
}

现在设置

var testObj = new test();
testObj.color = "red";

并且得到

var testObj = new test();
var color = testObj.color;

用 php 代替这个

$testObj = new test(); 
$testObj->setColor("color"); //Setter
$testObj->setColor(); //Getter

但是这是在 php 中

$testObj = new test(); 
$testObj->setColor = "red";//Setter
$testObj->setColor;//Getter

在分配之前将处理该值。我还想知道创建 getter 和 setter 的 JavaScript 方式的名称。谢谢。

最佳答案

有一段时间没有使用 PHP,所以如果语法稍有偏差,请原谅我,但您可以使用 __set__get magic methods :

private $props = [];

public function __set($property, $value) {
switch($property) {
case 'color':
$this->props['color'] = $value == 'red' ? $value : 'others';
break;
}
}
public function __get($property) {
switch($property) {
case 'color':
return $this->props['color'];
break;
}
}

关于javascript - 如何以 javascript 方式创建 php getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58021379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com