Php 如何在另一个类的变量上绑定结果?
我有这样一个问题:Php 如何在另一个类的变量上绑定结果?,php,Php,我有这样一个问题: if($stmt = $this->db->prepare("SELECT * FROM rol WHERE sug = ?")) { $stmt->bind_param("s", $role_slug); $stmt->bind_result($this->personal_model->sug); ... 我已经在这个文件中导入了类Personal\u model,该类的sug变量声
if($stmt = $this->db->prepare("SELECT * FROM rol WHERE sug = ?"))
{
$stmt->bind_param("s", $role_slug);
$stmt->bind_result($this->personal_model->sug);
...
我已经在这个文件中导入了类Personal\u model
,该类的sug
变量声明如下:
private sug;
在教室里。我应该将private更改为public,或者有更好的方法操作另一个类的变量?您可以添加更改类的private属性的方法,如:
class TEST
{
private $sug;
public function changeSlug($sug)
{
$this->sug = $sug;
}
}
你以后可以像这样使用它
$personalModel = new TEST();
$newSug = 'new sug';
$personalModel->changeSlug($newSug);
但是私有变量可以是公共的,也可以是非安全的?在我看来,类中应该始终具有私有属性。对象中状态的更改应始终由函数进行。在此函数中,您可以验证给定变量是否有效,然后才更改属性的值,如果无效,您可以抛出异常,这是最佳解决方案?是的。对象应验证具有的数据。如果您在该对象之外的其他地方更改对象的属性,则无法确定该数据是否正确。