Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z namespace i USE
busterek
post 17.08.2018, 15:02:30
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 30.07.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witajcie,
Nie wiem, czy to nie przedszkole, ale już po prostu jestem głupi.
Mam taki kawałek kodu:

  1. namespace DreamCommerce;
  2.  
  3. use DreamCommerce\ShopAppstoreLib\Client;
  4.  
  5. try
  6. {
  7. $client = \DreamCommerce\ShopAppstoreLib\Client::factory(
  8. Client::ADAPTER_BASIC_AUTH,
  9. 'entrypoint'=>'https://adres',
  10. 'username' => '...',
  11. 'password' => '...'
  12. )
  13. );
  14.  
  15. $resource = new \DreamCommerce\ShopAppstoreLib\Resource\Producer($client);
  16. var_dump($resource->get());
  17. }
  18. catch(DreamCommerce\ShopAppstoreLib\Exception\Exception $ex)
  19. {
  20. die($ex->getMessage());
  21. }
  22.  


Po wywołaniu dostaję komunikat błędu: Fatal error: Class 'DreamCommerce\ShopAppstoreLib\Client' not found in /srv/worek/shoper/DreamCommerce/index.php on line 7.

O co chodzi, i jak to poprawićquestionmark.gif

Ten post edytował busterek 17.08.2018, 15:06:00
Go to the top of the page
+Quote Post
viking
post 17.08.2018, 15:47:04
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Skoro dałeś use to po co wszędzie powtarzasz cały namespace? Client::factory.


--------------------
Go to the top of the page
+Quote Post
busterek
post 17.08.2018, 16:12:25
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 30.07.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


I tak nie działa.
Go to the top of the page
+Quote Post
nospor
post 17.08.2018, 16:22:19
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




To podaj strukture plikow i katalogow. Skad mamy wiedziec czy stworzyles dobre sciezki itp. O autoloader juz niewspominajac


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
busterek
post 17.08.2018, 16:28:18
Post #5





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 30.07.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Hmmmm. Tak właśnie myślałem, że bez autoloadera się nie obejdzie. Czyli generalnie przedszkole, bo za bardzo nie wiem jak to zgrać ze sobą. Mam katalog DreamCommerce/ShopAppstoreLib i tam są pliki php z klasami do skorzystania z API sklepu Shoper. To teraz pytanie. Czy muszę budować całą aplikację w modelu MVC, żeby móc skorzystać z jednej metody API? Minimalistyczne podejście do problemu.
Go to the top of the page
+Quote Post
viking
post 17.08.2018, 16:38:29
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Nie musisz ale możesz wykorzystać composer tak czy siak i dodać swoje własne klasy do ścieżki ładowania.


--------------------
Go to the top of the page
+Quote Post
busterek
post 17.08.2018, 16:55:39
Post #7





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 30.07.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Zainstalowałem composera

Plik: composer.json
  1. {
  2. "autoload": {
  3. "PSR-4": {"DreamCommerce\\:": "DreamCommerce/"}
  4. }
  5. }


Struktura katalogów:
DreamCommerce
--ShopAppstoreLib
----Struktura katalogów i plików
vendor
--composer
--autoload.php
index.php

Plik: index.php
  1. namespace DreamCommerce\ShopAppstoreLib;
  2.  
  3. require __DIR__ .'/vendor/autoload.php';
  4.  
  5. use DreamCommerce\ShopAppstoreLib\Client;
  6. use DreamCommerce\ShopAppstoreLib\Exception\ClientException;
  7. use DreamCommerce\ShopAppstoreLib\Exception\ResourceException;
  8.  
  9. try
  10. {
  11. $client = Client::factory(
  12. Client::ADAPTER_BASIC_AUTH,
  13. 'entrypoint'=>'adres,
  14. 'username' => '..',
  15. 'password' => '...'
  16. )
  17. );
  18.  
  19. $resource = new \DreamCommerce\ShopAppstoreLib\Resource\Producer($client);
  20. var_dump($resource->get());
  21. }
  22. catch(DreamCommerce\ShopAppstoreLib\Exception\Exception $ex)
  23. {
  24. die($ex->getMessage());
  25. }
  26.  


I nadal jest błąd. Co może być nie tak?
Go to the top of the page
+Quote Post
viking
post 17.08.2018, 18:55:28
Post #8





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Usuń namespace z tego pliku. Odświeżyles composera?


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 01:40