Problem z autoloader PHPExcel |
Problem z autoloader PHPExcel |
5.09.2013, 13:56:17
Post
#1
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
Witam. Korzystam z tego https://github.com/aras123/MiniFramework i w jednym kontrolerze chciałem użyć biblioteki phpexcel: http://msdn.microsoft.com/pl-pl/library/od...i-phpexcel.aspx
W akcji normalnie sobie includuje a następnie chce wywołać to wywala błąd ze nie znaleziono klasy: Application/Controller/PHPExcel_IOFactory Biblioteka phpexcel posiada własny autoloader i on niestety nie działa kiedy wrzucę go do w/w kodu. Trzymam bibliotekę w głównym folderze w Excel/... Proszę o pomoc |
|
|
5.09.2013, 14:00:32
Post
#2
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) |
includuj główny plik PHPExcel a następnie z IOFactory
-------------------- |
|
|
5.09.2013, 14:09:11
Post
#3
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
tak też robię:
I dzieje się co wyżej napisałem Dokładny komunikat: Kod Fatal error: Class 'Application\Controller\PHPExcel_IOFactory' not found in /Application/Controller/TestController.php on line 36
Ten post edytował aras785 5.09.2013, 14:20:39 |
|
|
5.09.2013, 14:23:55
Post
#4
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) |
na odwrót! najpierw PHPExcel
-------------------- |
|
|
5.09.2013, 14:31:54
Post
#5
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
To samo...
|
|
|
5.09.2013, 14:36:23
Post
#6
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) |
odpal realpath('Lib/Excel/PHPExcel/IOFactory.php')
a najlepiej glob(''*', GLOB_ONLYDIR ); Ten post edytował buliq 5.09.2013, 14:37:33 -------------------- |
|
|
5.09.2013, 14:48:01
Post
#7
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
ścieżka się zgadza:
Chodzi o to, autoloader z phpexcel nie rusza. Kod realpath('Lib/Excel/PHPExcel/IOFactory.php') - Lib/Excel/PHPExcel/IOFactory.php // ... Dla testu stworzyłem plik w folderze Excel o nazwie: test.php i w nim klasę Cos Następnie include do kontrolera i błąd jest taki sam: Kod Fatal error: Class 'Application\Controller\Cos' not found in /Application/Controller/TestController.php on line 25
Ten post edytował aras785 5.09.2013, 14:48:16 |
|
|
5.09.2013, 14:48:55
Post
#8
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) |
W autoloaderze PHPExcel masz metodę register, zobacz czy się uruchamia.
Jaka wersja PHP? -------------------- |
|
|
5.09.2013, 14:51:40
Post
#9
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
Wolałbym się skupić na tym plik test.php i klasie Cos bo błąd jest taki sam. Wersja php 5.4
Może to wina namespace i moge autoloader w index.php?? może namespace? Ten post edytował aras785 5.09.2013, 14:54:39 |
|
|
5.09.2013, 15:03:37
Post
#10
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) |
Jasne ... namespace jest inne niż \ ? to dodaj do wywołania \ żeby powiedzieć że to jest w głównym namespace.
-------------------- |
|
|
5.09.2013, 21:23:34
Post
#11
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
Miałem namespace Application\Controller
Zmieniłem na \Application\Controller i wywaliło błąd: Kod Fatal error: Undefined constant 'Application\Controller' in /Application/Controller/ToolsController.php on line 2 Mistrzowie ktoś pomoże? ? dodam jeszcze że zamiast __autoload wykorzystałem spl_autoload_register('moj_autoloader') i później w funkcji przed include biblioteki PHPExcel użyłem: spl_autoload_unregister('moj_autoloader') ale i to nic nie dało... |
|
|
5.09.2013, 22:09:19
Post
#12
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Jeśli tworzysz obiekt w namespace controller to z automatu uznaje że klasa też jest w tej przestrzeni, czyli próbuje załadować
Application\Controller\PHPExcel_IOFactory Unikniesz tego dając: \PHPExcel_IOFactory::identify($fileName_raport); |
|
|
5.09.2013, 22:51:02
Post
#13
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
Dziękuję bardzo!! Pozdrawiam serdecznie
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 07:01 |