2
0

AbstractClassFile.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. abstract class Zend_Tool_Project_Context_Zf_AbstractClassFile extends Zend_Tool_Project_Context_Filesystem_File
  3. {
  4. public function getFullClassName($localClassName, $classContextName = null)
  5. {
  6. $currentResource = $this->_resource;
  7. do {
  8. $resourceName = $currentResource->getName();
  9. if ($resourceName == 'ApplicationDirectory' || $resourceName == 'ModuleDirectory') {
  10. $containingResource = $currentResource;
  11. break;
  12. }
  13. } while ($currentResource instanceof Zend_Tool_Project_Profile_Resource
  14. && $currentResource = $currentResource->getParentResource());
  15. $fullClassName = '';
  16. if (isset($containingResource)) {
  17. if ($containingResource->getName() == 'ApplicationDirectory') {
  18. $prefix = $containingResource->getAttribute('classNamePrefix');
  19. $fullClassName = $prefix;
  20. } elseif ($containingResource->getName() == 'ModuleDirectory') {
  21. $prefix = $containingResource->getAttribute('moduleName') . '_';
  22. $fullClassName = $prefix;
  23. }
  24. }
  25. if ($classContextName) {
  26. $fullClassName .= rtrim($classContextName, '_') . '_';
  27. }
  28. $fullClassName .= $localClassName;
  29. return $fullClassName;
  30. }
  31. }