Quizas tenes proyectos viejos que fueron creado en CakePHP 2.x y siguen funcionando y que por tiempo o costos no pudiste actualizar a CakePHP 3.x o 4.x como es mi caso.
Con estos pasos vas a poder utilizar NAMESPACED sin que de error, siempre y cuando tengas configurado tu sistema (CakePHP 2.x con Composer y PHP 5 >= 5.3.0) para poder crear código más robustos y aplicar mejores prácticas con patrones de diseños y poder hacer un mantenimiento más simple del sistema.
Paso 1): Modificar tu archivo composer.json agregando algo similar a esto.
"autoload": {
"psr-4": {
"Mylib\\": "app/Lib/Mylib/"
}
}
Paso 2): Ejecuta el siguiente comando donde esta el archivos composer.json que modificaste.
composer dump-autoload
Paso 3): Crear tu class dentro de "app/Lib/Mylib" o SubCarpeta según el caso y como esta en el ejemplo.
<?php
// app/Lib/Mylib/Error/MyErrorHandler.php
namespace Mylib\Error;
class MyErrorHandler
{
........
}
Paso 4): Ejemplo de como utilizarlo dentro de un controller
<?php
App::uses('AppController', 'Controller');
use Mylib\Error\MyErrorHandler;
class UsersController extends AppController
{
public $components = array('Paginator', 'Session', 'Flash');
public function index()
{
$testDemo = new MyErrorHandler() ;
$testDemo ->myTest1(__('Error EOM ;-]')) ;
var_dump($testDemo ) ;
$this->set('clientesReferidosNiveles', $this->Paginator->paginate());
}
.....
.....
.....
Listo eso es todo para poder utilizar tus class y el load automático con NAMESPACED.
Saludos y espero que le sea útil ;-)