Obecnie aktualizuję jeden z naszych projektów do CakePHP 2.0. Niestety "pierwsza linia" kodu sprawia problemy i nie mogę znaleźć rozwiązania tego problemu.Ładowanie plików dostawców w CakePHP 2.0
W CakePHP 1.3 Miałem oświadczenie App::import("Vendor", "facebook");
tuż przed zdefiniowaniem klasy AppController
. Plik referencyjny znajduje się pod /app/vendors/facebook/facebook.php
(i zawiera plik base_facebook.php
).
Próbowałem wiele różnych sposobów, aby dołączyć plik teraz w CakePHP 2.0 według nazewnictwa plików i klasy załadunku opisane tutaj: File naming and class loading changes in CakePHP 2.0
I przemianowany na ścieżkę app/Vendor/Facebook/Facebook.php
lub app/Vendor/Facebook/facebook.php
i spróbował następujące metody:
App::uses("Facebook", "Vendor/Facebook");
App::uses("Facebook", "Facebook");
App::uses("Facebook", "Vendor/Facebook/Facebook.php");
App::uses("Facebook", "Vendor");
Czy ktoś może znaleźć sposób na odniesienie się do pliku dostawcy? Z powodu leniwego ładowania powyższe metody nie wywołują błędu/ostrzeżenia, więc denerwujące jest debugowanie tego ...
Hi Jose, thx za szybką odpowiedź. require_once działa dobrze - nie myślałem o tym. Niemniej jednak stara składnia App :: import ("Vendor", ...) nie działa dla mnie. –
Btw, stare użycie App :: import() podczas wyświetlania go nie będzie działać, ponieważ musisz podać względną ścieżkę do klasy. Funkcja import() nie będzie już więcej zaglądała do katalogów ze względu na wydajność. Słyszałem o tym raporty, ale w narzędziu do śledzenia zdarzeń nie zostały otwarte żadne bilety. Testy jednostki dla tej funkcji przebiegają jednak zgodnie z oczekiwaniami. Postaram się napisać przykład z prawdziwego świata, aby potwierdzić, że działa zgodnie z oczekiwaniami. Dzięki! –
Więc App :: import ("Vendor", "Facebook/Facebook") powinien załatwić sprawę w twoim przypadku. – mark