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() public function formName()
{ {
$class = get_class($this); $reflector = new \ReflectionClass($this);
$pos = strrpos($class, '\\'); return $reflector->getShortName();
return $pos === false ? $class : substr($class, $pos + 1);
} }
/** /**

9
framework/yii/db/ActiveRecord.php

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

Loading…
Cancel
Save