• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Auto wczytywani kodu psr-4

VPS Starter Arubacloud
0 głosów
353 wizyt
pytanie zadane 22 marca 2018 w PHP przez Mebya Użytkownik (700 p.)

Witam,
Próbowałem pobawić się auto wczytywaniem kodu, coś mi nie chce to działać, nie mam pojęcia co źle robię

próbowałem na wiele sposobów i się poddaje, może ktoś tutaj mi pomoże :(
na początku próbowałem samemu zrobić jakiś system katalogów dostosowanego do MVC ale coś mi nie działało

stwierdziłem że pewnie tego dobrze nie zrozumiałem więc przepisze wszystko prawie żywcem z książki i protestuje posprawdzam parę rzeczy na przykładzie...

... i dalej nic nie działa.

Przestrzeń nazw wydaje mi się że jest dobrze powiązana z katalogami bo w innym przypadku nie działala by funkcja ctrl + lpm ( go to declaration)

Plik composer.json 
 

{
    "autoload":{
        "psr-4":{
            "poop\\library\\": "mylib"
        }
    
    }
}

Plik index.php

 

<?php

require('vendor/autoload.php');

use popp\library\mylibczesc;

$elo = new mylibczesc();
$elo->czesc();

Plik mylibczesc.php


namespace popp\library;


class mylibczesc 
{
    public function czesc()
    {
    print "czesc, tutaj mylib";
    }
}

wchodze X:\xampp\htdocs\composer_test i uzywam polecenia composer dump-autoload

Co robię nie tak?

komentarz 23 marca 2018 przez Assasz Nałogowiec (30,460 p.)
Jakiś konkretny błąd wyrzuca? Jaką masz strukturę katalogów?

4 odpowiedzi

+1 głos
odpowiedź 23 marca 2018 przez HaKIM Szeryf (87,590 p.)
edycja 23 marca 2018 przez HaKIM
Spróbuj zamienić pop\\library na Popp\\Library i nazwy klas z dużych. Jakby to nie pomogło to spróbuj zamienić mylib na „mylib/„ i na taki composer.json lecisz z composer update.

Tutaj możesz wyczytać więcej: https://getcomposer.org/doc/01-basic-usage.md

https://www.php-fig.org/psr/psr-4/
0 głosów
odpowiedź 23 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)

Tutaj jest błąd:

{
    "autoload":{
        "psr-4":{
            "poop\\library\\": "mylib/"
        }
     
    }
}

Oczywiście wszystkie pliki zaczytywane autoloaderem, musisz trzymać w folderze mylib.

0 głosów
odpowiedź 23 marca 2018 przez Mebya Użytkownik (700 p.)
zrobilem wszystko co napisaliscie, dalej nie dziala.
0 głosów
odpowiedź 23 marca 2018 przez Mebya Użytkownik (700 p.)
Już działa, nawet nie powiem jaki był powód błędu bo znowu tak namieszałem, że bardziej opłacało się to napisać od nowa.
Tak jeszcze co do tematu, mapowanie klas wydaje mi się bardziej wygodne, czego powinno się używać, mapowania czy auto ładowania psr-4? Czy może obojętnie czego lub można to i to jednocześnie?

A no i jeszcze jak to jest z nazywaniem tych klas, jest od tego jakiś standard?
Ja jakoś jestem nauczony, że nazwe klasy czy funkcji zaczynam od malych liter i dopiero gdy występuje drugie słowo to daje wielką litere. np: przykladowaNazwaKlasy.
komentarz 23 marca 2018 przez Marchiew Dyskutant (7,730 p.)
Nazwy klas z wielkiej litery, nazwy metod z małej.
https://www.php-fig.org/psr/psr-1/
https://www.php-fig.org/psr/psr-2/
... generalnie tu masz wszystko opisane: https://www.php-fig.org/psr/
komentarz 23 marca 2018 przez Assasz Nałogowiec (30,460 p.)
PSR-4 jest właśnie standardem autoloadingu ;)

Podobne pytania

0 głosów
1 odpowiedź 1,627 wizyt
pytanie zadane 14 maja 2017 w PHP przez Benek Szeryf (92,390 p.)
0 głosów
1 odpowiedź 229 wizyt
pytanie zadane 20 listopada 2016 w PHP przez Karol Wiczling Początkujący (430 p.)
+1 głos
0 odpowiedzi 120 wizyt
pytanie zadane 6 sierpnia 2016 w PHP przez xandros Nałogowiec (29,450 p.)

92,957 zapytań

141,916 odpowiedzi

321,148 komentarzy

62,287 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...