En Laravel 4, en app/config/app.php
, encuentro la siguiente línea debajo de providers
:
'Illuminate\Workbench\WorkbenchServiceProvider',
Y ese proveedor de servicios funciona porque verifico que se llama al método register()
. Me preguntaba cómo esto mapea el espacio de nombres. Parece, al menos en parte, que el espacio de nombres Illuminate
se declara aquí en /vendor/composer/autoload_namespaces.php
:
'Illuminate' => array($vendorDir . '/laravel/framework/src'),
He creado una carpeta en /vendor
llamada
/vendor/mycompany
Y luego cree un archivo de clase llamado MyClass.php de la siguiente manera
<?php namespace MyCompany; #MyClass.php class MyClass{ ..etc.. }
Luego agrego la misma línea en /vendor/composer/autoload_namespaces.php
:
'MyCompany' => array($vendorDir . '/mycompany'),
Y llame a lo siguiente en rutas.php:
$test = new MyCompany\MyClass; //line 15 print_r(class_get_methods($test)); //line 16
PERO, me sale este error:
Fatal error: Class 'MyCompany\MyClass' not found in .. line 15
¿Cómo soluciono esto y registro y reconozco el espacio de nombres MyCompany
?