equal
deleted
inserted
replaced
13 * to license@zend.com so we can send you a copy immediately. |
13 * to license@zend.com so we can send you a copy immediately. |
14 * |
14 * |
15 * @category Zend |
15 * @category Zend |
16 * @package Zend_Loader |
16 * @package Zend_Loader |
17 * @subpackage Autoloader |
17 * @subpackage Autoloader |
18 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
18 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
19 * @version $Id: Autoloader.php 23161 2010-10-19 16:08:36Z matthew $ |
19 * @version $Id: Autoloader.php 25024 2012-07-30 15:08:15Z rob $ |
20 * @license http://framework.zend.com/license/new-bsd New BSD License |
20 * @license http://framework.zend.com/license/new-bsd New BSD License |
21 */ |
21 */ |
22 |
22 |
23 /** Zend_Loader */ |
23 /** Zend_Loader */ |
24 require_once 'Zend/Loader.php'; |
24 require_once 'Zend/Loader.php'; |
27 * Autoloader stack and namespace autoloader |
27 * Autoloader stack and namespace autoloader |
28 * |
28 * |
29 * @uses Zend_Loader_Autoloader |
29 * @uses Zend_Loader_Autoloader |
30 * @package Zend_Loader |
30 * @package Zend_Loader |
31 * @subpackage Autoloader |
31 * @subpackage Autoloader |
32 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
32 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
33 * @license http://framework.zend.com/license/new-bsd New BSD License |
33 * @license http://framework.zend.com/license/new-bsd New BSD License |
34 */ |
34 */ |
35 class Zend_Loader_Autoloader |
35 class Zend_Loader_Autoloader |
36 { |
36 { |
37 /** |
37 /** |
333 foreach (array_keys($this->_namespaceAutoloaders) as $ns) { |
333 foreach (array_keys($this->_namespaceAutoloaders) as $ns) { |
334 if ('' == $ns) { |
334 if ('' == $ns) { |
335 continue; |
335 continue; |
336 } |
336 } |
337 if (0 === strpos($class, $ns)) { |
337 if (0 === strpos($class, $ns)) { |
338 $namespace = $ns; |
338 if ((false === $namespace) || (strlen($ns) > strlen($namespace))) { |
339 $autoloaders = $autoloaders + $this->getNamespaceAutoloaders($ns); |
339 $namespace = $ns; |
340 break; |
340 $autoloaders = $this->getNamespaceAutoloaders($ns); |
|
341 } |
341 } |
342 } |
342 } |
343 } |
343 |
344 |
344 // Add internal namespaced autoloader |
345 // Add internal namespaced autoloader |
345 foreach ($this->getRegisteredNamespaces() as $ns) { |
346 foreach ($this->getRegisteredNamespaces() as $ns) { |
349 break; |
350 break; |
350 } |
351 } |
351 } |
352 } |
352 |
353 |
353 // Add non-namespaced autoloaders |
354 // Add non-namespaced autoloaders |
354 $autoloaders = $autoloaders + $this->getNamespaceAutoloaders(''); |
355 $autoloadersNonNamespace = $this->getNamespaceAutoloaders(''); |
|
356 if (count($autoloadersNonNamespace)) { |
|
357 foreach ($autoloadersNonNamespace as $ns) { |
|
358 $autoloaders[] = $ns; |
|
359 } |
|
360 unset($autoloadersNonNamespace); |
|
361 } |
355 |
362 |
356 // Add fallback autoloader |
363 // Add fallback autoloader |
357 if (!$namespace && $this->isFallbackAutoloader()) { |
364 if (!$namespace && $this->isFallbackAutoloader()) { |
358 $autoloaders[] = $this->_internalAutoloader; |
365 $autoloaders[] = $this->_internalAutoloader; |
359 } |
366 } |