Browse Source

Merge pull request #556 from creocoder/php5.3-way-to-get-namespace

Model::formName() and ActiveRecord::getNamespacedClass() PHP 5.3 way
tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
c210de9d71
  1. 5
      framework/yii/base/Model.php
  2. 9
      framework/yii/db/ActiveRecord.php

5
framework/yii/base/Model.php

@ -186,9 +186,8 @@ class Model extends Component implements \IteratorAggregate, \ArrayAccess
*/
public function formName()
{
$class = get_class($this);
$pos = strrpos($class, '\\');
return $pos === false ? $class : substr($class, $pos + 1);
$reflector = new \ReflectionClass($this);
return $reflector->getShortName();
}
/**

9
framework/yii/db/ActiveRecord.php

@ -1390,13 +1390,12 @@ class ActiveRecord extends Model
protected function getNamespacedClass($class)
{
if (strpos($class, '\\') === false) {
$primaryClass = get_class($this);
if (($pos = strrpos($primaryClass, '\\')) !== false) {
return substr($primaryClass, 0, $pos + 1) . $class;
}
}
$reflector = new \ReflectionClass($this);
return $reflector->getNamespaceName() . '\\' . $class;
} else {
return $class;
}
}
/**
* @param array $link

Loading…
Cancel
Save