php 给类变量赋值问题

WBOY
Libérer: 2016-06-20 09:37:07
original
1656 Les gens l'ont consulté

private $pagebarnum=10;$this->pagebarnum  = $array['page_name'];$this->set('pagebarnum ',$array['page_name']);/**     * 设定类中指定变量名的值,如果改变量不属于这个类,将throw一个exception     * @param unknown $var     * @param unknown $value     */    function set($var,$value){        if(in_array($var, get_object_vars($this))){            $this->$var = $value;        }else{            $this->error(__FUNCTION__,$var." does not belong to PB_Page!");        }    }
Copier après la connexion

$this->pagebarnum  = $array['page_name'];和$this->set('pagebarnum ',$array['page_name']); 赋值有什么区别,明明我已经在类中定义$pagebarnum,我用set去赋值还有这个必要吗?


回复讨论(解决方案)

变量初始化和调整当然有必要,假设你一个页面需要的参数是10,一个页面的参数是5,你是做两个类吗?

变量初始化和调整当然有必要,假设你一个页面需要的参数是10,一个页面的参数是5,你是做两个类吗?


实例化一个类传参进去能实现,但是没搞懂的是直接用$this->pagebarnum  = $array['page_name'];和set方法中先检查变量存不存在有什么区别?pagebarnum  在我创建类的时候已经定义在去检查有什么含义。

$this->pagebarnum  = $array['page_name'];
$this->set('pagebarnum',$array['page_name']);
的区别在于:后者不会对 不存在的属性 pagebarnum 赋值,而前者会对不存在的属性 pagebarnum 创建一个公有的 pagebarnum 属性

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal