Actualmente estoy actualizando uno de nuestros proyectos a CakePHP 2.0. Lamentablemente, la "primera línea" de código crea problemas, y no puedo encontrar una solución a ese problema.Cargando archivos de proveedores en CakePHP 2.0
En CakePHP 1.3 tuve una declaración App::import("Vendor", "facebook");
justo antes de que se definiera la clase AppController
. El archivo al que se hace referencia se encuentra en /app/vendors/facebook/facebook.php
(y se incluye en el archivo base_facebook.php
).
He intentado muchas maneras diferentes para incluir el archivo ahora en CakePHP 2.0 de acuerdo con la nomenclatura de archivos y la clase de carga descritos aquí: File naming and class loading changes in CakePHP 2.0
Retitulé el camino a app/Vendor/Facebook/Facebook.php
, o app/Vendor/Facebook/facebook.php
, e intentaron siguientes métodos:
App::uses("Facebook", "Vendor/Facebook");
App::uses("Facebook", "Facebook");
App::uses("Facebook", "Vendor/Facebook/Facebook.php");
App::uses("Facebook", "Vendor");
¿Alguien ha encontrado una forma de referenciar un archivo de proveedor todavía? Debido a la carga diferida, los métodos anteriores no desencadenan un error/advertencia, por lo que es un poco molesto depurar esto ...
Hola José, THX por la rápida respuesta. require_once funciona bien, no había pensado en eso. Sin embargo, la antigua sintaxis App :: import ("Proveedor", ...) no funciona para mí. –
Por cierto, el antiguo uso de App :: import() como se muestra no funcionará, porque debe proporcionar la ruta relativa a la clase. import() ya no buscará en los directorios recursivamente por motivos de rendimiento. He oído informes al respecto, pero no se han abierto tickets en el rastreador de problemas. Sin embargo, las pruebas unitarias para esa característica están pasando como se esperaba. Trataré de escribir un ejemplo del mundo real para realmente validar que funciona como se espera. ¡Gracias! –
Así que App :: import ("Proveedor", "Facebook/Facebook") debería hacer el truco en su caso. – mark