następujący problem: Mam zdefiniowano classmap w moim composer.json:Kompozytor classmap autoload nie załadować nowe pliki w folderze
"autoload": {
"classmap": [
"app/controllers",
"app/models",
"app/helper.php"
]
}
jednak, gdy tworzę nowy plik w „kontrolerów” lub " Modele ", nie załaduje ich i zawsze będę musiał wykonać zrzut autoodtwarzacza.
Czy to jest prawidłowe zachowanie? Myślałem, że autoloader od kompozytora monitoruje folder dla nowych plików?
Ok ... wielkie dzięki! – pyxl
"Zauważ, że automatyczne ładowanie mapy klas jest po prostu dostępne dla starych starszych baz kodów, które nie implementują przynajmniej PSR-0". Nie do końca prawda.Zobacz dokument dla dump-autoload: "--optimize (-o): Konwertuj automatyczne ładowanie PSR-0/4 na mapę klas, aby uzyskać szybszy autoloader. Jest to zalecane szczególnie w przypadku produkcji, ale może zająć trochę czasu więc obecnie nie jest to domyślnie wykonywane. " – spekary
Optymalizacja autoloadera nie jest tym samym, co zdefiniowanie schematu automatycznego ładowania. Jeśli przyszła wersja PHP oferuje wsparcie dla poziomu PSR-4 na poziomie silnika, prawdopodobnie Composer zrezygnuje z mapy klasy podczas optymalizacji pod kątem takiej wersji, ale musi zachować mapę klasy, jeśli ta klasa jest sposobem definiowania automatycznego ładowania. – Sven