Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [LARAVEL] Zewnętrzna paczka
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Zazwyczaj udaje się znaleźć paczkę dedykowaną do Laravela.
Tym razem próbuje sił z ogólną paczką:
https://github.com/t3ko/inpost-api-php-sdk

i niestety compser ładnie wszystko wrzuca do vendor ale Storm nie widzi tej paczki (nie podpowiada przy new czy use).
W pliku autoload_psr4 widzę:
  1. 'T3ko\\Inpost\\' => array($vendorDir . '/t3ko/inpost-api-php-sdk/src'),


Dwa pytanka:

1) Jest tam komenda:
composer config repositories.t3ko-inpost-api-php-sdk vcs https://github.com/t3ko/inpost-api-php-sdk.git
której nie wykonałem bo nie do końca jestem pewien czemu służy i czy jest potrzebna?
2) Jeżeli nie jest potrzebna i to nie przyczyna to jaka może być że nie widzi tej paczki?

Ten post edytował markonix 20.02.2017, 11:05:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
DarkAbso
post
Post #2





Grupa: Zarejestrowani
Postów: 60
Pomógł: 10
Dołączył: 17.11.2011

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


Mistrzem w temacie nie jestem, ale pewnie trzeba załadować bibliotekę do Laravel'a (IMG:style_emoticons/default/tongue.gif)
Zrób fork na repozytorium, a następnie dorób provider do Laravel. (https://laravel.com/docs/5.4/providers)
Jeżeli gadam jakieś herezje to proszę o poprawę. W każdym razie pewnie szukał bym rozwiązania w tym kierunku.
Go to the top of the page
+Quote Post
r4xz
post
Post #3





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


1. Skoro biblioteka jest na packagist.org to nie musisz używać tego polecania. Służy ono właśnie do dopisania do pliku composer.json nowego repozytorium (czyli miejsca w którym composer będzie szukał bibliotek).
2. Upewnij się, że ten katalog na pewno w folderze vendor istnieje i posiada wszystkie odpowiednie pliki. W PHPStormie polecam spróbować "File" -> "Invalidates Cache / Restart..." (usuwa zindeksowane pliki). Możesz także wejść w "File" -> "Settings" -> "Directories" i upewnić się, że nie masz przypadkiem folderu vendor na liście "Excluded Folders"
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Instalowałem już niejedną bibliotekę i nie było problemów.
Spróbowałem jeszcze raz update i bez skutku, pliki oczywiście są:
http://prntscr.com/eb3i7v

Akurat jeżeli chodzi o Excluded to akurat każdorazowo jak wgrywam bibliotekę to Storm wyświetla popup, że została wgrana nowa biblioteka i lista excluded została zaktualizowana.
http://prntscr.com/eb3kaa
Wszystkie vendors są wyłączone z projektu ale mimo to działają (w aplikacji jak i w storm przy podpowiadaniu - przynajmniej większość).

Oki, nie wiem czy był błąd w storm czy nazbyt zaufałem Stormowi ale udało się.
Ostateczny kod działa:

  1. use T3ko;
  2.  
  3.  
  4.  
  5. $api = new T3ko\Inpost\Api\Client(
  6. 'test@testowy.pl',
  7. 'WqJevQy*X7',
  8. T3ko\Inpost\Api\Client::SANDBOX_API_ENDPOINT);
  9.  
  10. $machinesList = $api->getMachinesList();
  11.  


Może po prostu za bardzo się rozpędziłem w ułatwianiu życia przez storm i liczyłem że przy wpisywaniu new podpowie gdy zacznę wpisywać T3ko lub inpost, ale podpowie tylko przy nazwie klasy (Client).
Przy use podpowiada właściwy namespace.

Ale w każdym razie dzięki za wyjaśnienie punktu pierwszego, coś wyniosłem (IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post
r4xz
post
Post #5





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Albo wpisywałeś namespace tak jak w przykładzie bez "\" na początku i wtedy PHPStorm szukał w aktualnym namespace:

  1. <?php
  2.  
  3. namespace Lorem\Lipsum\Dolor;
  4.  
  5. ...
  6.  
  7. $x = Lore // rozwija to jako Lorem\Lipsum\Lore


Jeśli podajesz pełną ścieżkę to polecam zawsze użyć "\" na początku, dzięki temu PHP (i przy okazji IDE) wie, że ma zacząć wyszukiwanie od korzenia (i jak zmieni się namespace danego pliku to nic Ci nie grozi):

  1. <?php
  2.  
  3. namespace Lorem\Lipsum\Dolor;
  4.  
  5. ...
  6.  
  7. $x = \Lore // tutaj już podpowie Lorem, potem Lipsum etc.
Go to the top of the page
+Quote Post
markonix
post
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Przyznaje, że NS'ami operuje tak troszkę na czuja (bez Storma byłoby to mega trudne) i po prostu szukam opcji przy której najmniej znaków jest i kod działa (IMG:style_emoticons/default/smile.gif)

Przy użyciu \ Storm wyświetla dymek "Unnecessary fully qualified name".
Go to the top of the page
+Quote Post
r4xz
post
Post #7





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Aaa, faktycznie, taki mały ten use w tym Twoim przykładzie, że go przeoczyłem (no i w sumie bardzo rzadko robię use który nie wskazuje bezpośrednio na daną klasę - to pewnie też swoje robi) (IMG:style_emoticons/default/biggrin.gif) To w takim razie nie mam pomysłu czemu Ci nie podpowiada, jak działasz na Windowsie to spróbuj go przeinstalować (oczywiście pół żartem, ale coś w tym zawsze jest) (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
markonix
post
Post #8





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Ale mi wszystko działa (IMG:style_emoticons/default/wink.gif) Podpowiada Namespace przy use i klasę przy new. Po prostu się zbytnio rozleniwiłem że liczyłem na zbyt dużo od IDE.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 22:19