2016-07-10 13:59:28 0 评论 PHP Boy.Lee

PHP中检查类方法是否存在

在PHP编程中我们有时会需要检查类的方法是否存在,如直接调用不存在的方法会报错。在Yii2.0框架中也可以用此方法判断模型是否拥有某一关系(relation)

{ 类是否存在某一方法 }

<?php
namespace YiiLib;


class Topic {

   function addComment() { }
}


$topic = new Topic();

var_dump(method_exists($topic, 'addComment')); //true
var_dump(method_exists($topic, 'deleteComment')); //false

 

{ Yii 2.0 检查模型中关系是否存在 }

<?php
namespace YiiLib;

class Topic extends \common\components\CommonBased
{

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getComments()
    {
        return $this->hasMany(Comment::className(), ['com_topic_id' => 't_id']);
    }




$topic = new Topic();

if(method_exists($topic, 'getComments')){
	//TODO relation exist
}