本文整理汇总了PHP中yii\base\Component::className方法的典型用法代码示例。如果您正苦于以下问题:PHP Component::className方法的具体用法?PHP Component::className怎么用?PHP Component::className使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yii\base\Component
的用法示例。
在下文中一共展示了Component::className方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validate
/**
* @param Component $component
* @return \skeeks\sx\validate\Result
*/
public function validate($component)
{
if (!$component instanceof ActiveRecord) {
return $this->_bad(\Yii::t('app', "Object: {class} must be inherited from: {parent}", ['class' => $component->className(), 'parent' => ActiveRecord::className()]));
}
return !$component->isNewRecord ? $this->_ok() : $this->_bad(\Yii::t('app', "The object must already be saved"));
}
示例2: behavior
/**
* Getting behavior object from given model
*
* @param Component $model
* @return SeoBehavior
* @throws InvalidConfigException if model don't have our SeoBehavior
*/
protected static function behavior(Component $model)
{
foreach ($model->getBehaviors() as $b) {
if ($b instanceof SeoBehavior) {
return $b;
}
}
throw new InvalidConfigException('Model ' . $model->className() . ' must have SeoBehavior');
}
示例3: testOf
public function testOf()
{
$container = new Container();
$className = Component::className();
$instance = Instance::of($className, $container);
$this->assertTrue($instance instanceof Instance);
$this->assertTrue($instance->get() instanceof Component);
$this->assertTrue(Instance::ensure($instance, $className) instanceof Component);
$this->assertTrue($instance->get() !== Instance::ensure($instance, $className));
}
示例4: validate
/**
* @param Component $component
* @return \skeeks\sx\validate\Result
*/
public function validate($component)
{
if (!$component instanceof Component) {
return $this->_bad(\Yii::t('app', "The object must be inherited from") . ": " . Component::className());
}
if (!$this->_behavior) {
return $this->_ok();
}
$hasBehaviors = $component->getBehaviors();
foreach ($hasBehaviors as $behavior) {
if ($behavior instanceof $this->_behavior) {
return $this->_ok();
}
}
return $this->_bad(\Yii::t('app', "At the component: {class} requires a behavior", ['class' => $component->className()]) . ": " . $this->_behavior);
}
示例5: hasBehavior
/**
* Checks whether or not a subject has a behavior of a certain type attached.
*
* @param \yii\base\Component $subject the subject to check
* @param string|\yii\base\Behavior $behavior either the class name or an instance of the behavior
* @param bool $throwException if set to true, an exception will be thrown if the
* subject doesn't have the behavior attached
* @return bool true if attached
* @throws \yii\base\InvalidParamException when subject is of wrong type
* @throws \yii\base\InvalidConfigException if desired and behavior missing
*/
public static function hasBehavior($subject, $behavior, $throwException = false)
{
//only components allowed
if (!$subject instanceof \yii\base\Component) {
throw new InvalidParamException(Yii::t('app', 'Subject must extend Component'));
}
//prepare vars
$behavior = $behavior instanceof \yii\base\Behavior ? $behavior::className() : $behavior;
//check if behavior is attached
$found = false;
foreach ($subject->behaviors() as $name => $config) {
$className = is_array($config) ? $config['class'] : $config;
if (strcmp($className, $behavior) === 0) {
$found = true;
break;
}
}
if ($throwException && !$found) {
$msg = Yii::t('app', '{subject} needs to have behavior {behavior} attached', ['subject' => $subject->className(), 'behavior' => $behavior]);
throw new InvalidConfigException($msg);
}
return $found;
}
示例6: name
}
function name($event)
{
echo 'hi ' . $event->data . '<br />';
}
function event()
{
echo 'hello event!<br />';
}
function event2()
{
echo 'hello event2!<br />';
}
$test = new Test2();
$test->on('say', 'hello');
$test->on('say', 'name', 'shuru');
$test->on('say', [$test, 'test']);
$test->on('say', ['Test2', 'test_two']);
$test->trigger('say');
//会触发实例的事件
echo '<hr />';
$test->off('say', 'hello');
$test->trigger('say');
echo '<hr />';
Event::on(Test2::className(), 'say', 'event');
$test->trigger('say');
//因为该对象的类,也绑定了该事件,因此会触发类事件,类事件是在Event.php里面
echo '<hr />';
Event::on(Component::className(), 'say', 'event2');
//父类也绑定了该事件,因此,也会被触发
$test->trigger('say');