php属性名,PHP类属性名称

我有一个叫做联系的课:

class contacts

{

public $ID;

public $Name;

public $Email;

public $PhoneNumber;

public $CellPhone;

public $IsDealer;

public $DealerID;

}

在我的代码中的某个时刻,我想指向该类中的属性并返回属性的名称.

id="<?php key($objContact->Name)" ?>"

name="<?php key($objContact->Name)" ?>"

value="<?php $_POST['contact'.key($objContact->Name)]" />

我的问题是key()函数只处理数组或对象. $objContact->名称本身不符合这些要求.我知道在ID和NAME字段中输入名称本身也很简单,但这适用于其他代码验证用途.想象一下处理器页面:

$objContact = new contact();

$objContact->Email = $_POST[$objContact->Email->**GetSinglePropertyName()**];

$objContact->PhoneNumber = $_POST[$objContact->PhoneNumber->**GetSinglePropertyName()**];

这允许我打开STRICT并确保在我写作的时候,我不会创造任何肥胖的手指错误,这会让我的头脑不再比现在还要糟透了.

更新与答案

答案提供者:linepogl

现在我采用了linepogl的想法,扩展了一些,所以它可以很容易地使用我现有的代码库.这是我想出的:

class baseData {

public $meta;

public function __construct() {

$this->meta = new Meta($this);

}

}

class Meta {

public function __construct($obj) {

$a = get_object_vars($obj);

foreach ($a as $key => $value){

$this->$key = $key;

}

}

}

class contacts extends baseData

{

public $ID;

public $Name;

public $Email;

public $PhoneNumber;

public $CellPhone;

public $IsDealer;

public $DealerID;

}

这意味着我现在可以使用所需的结果调用以下代码:

$objContact = new contacts();

echo($objContact->meta->Email);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值