![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 23.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Jak w tytule. Zarówno w symfony jak i laravel często widzę taki zapis (przeważnie w serviceContainer ale nie tylko). Chciałbym się w końcu dowiedzieć jak się taki zapis nazywa i co to robi. Dziękuję. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Miłej lektury
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 23.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
A coś po polsku? Jeszcze mój angielski nie jest na takim poziomie abym sobie swobodnie czytał takie skomplikowane zagadnienia.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 23.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mało śmieszne :/ Jak zwykle wychodzi masło maślane. Ten post edytował piekarz 7.12.2018, 20:06:51 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Stała specjalna ::class jest dostępna od wersji PHP 5.5.0 i pozwala na w pełni kwalifikowane rozwiązywanie nazw klas podczas kompilacji, jest to przydatne w przypadku klas z przypisanymi nazwami: Przykład # 3 Przykład klasy Namespaced :: class <?php namespace foo { class bar { } echo bar ::class; // foo\bar } ?> Akurat bardzo czytelnie przetłumaczone. Zresztą naprawdę tych 5 linii kodu nie rozumiesz? -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 23.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kod rozumiem, ale tego nie rozumiem:
Cytat pozwala na w pełni kwalifikowane rozwiązywanie nazw klas podczas kompilacji, jest to przydatne w przypadku klas z przypisanymi nazwami: I tak samo w symfony nie rozumiem po co w pliku "config/bundle.php" mam zapisy typu:
Co mi to daje? Jak ja gdybym chciał coś własnego napisać mogę to wykorzystać. Czy to jest takie proste i oczywiste że nigdzie u polskich blogerów php czy kursach nie widziałem wpisów na ten temat, tylko ja w zły sposób o tym myślę i dlatego nie mogę zaskoczyć. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Za czasów prehistorycznych żeby wyciągnąć coś z kontenerów posługiwano się prostymi nazwami typu aaa lub ręcznie pisało \A\B\C jako string. Powodowało to możliwość wystąpienia błędu i eliminowało podpowiadanie kodu w edytorach. Dzięki ::class masz zwróconą pełną nazwę klasy która niezależnie jak ją podstawisz np przez różnorakie łączenie definicji NS, zawsze będzie na to samo wskazywało.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 23.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jeśli dobrze rozumiem można w łatwy sposób później stworzyć instancje danej klasy na podstawie zwróconego tego stringa czy tak?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Na symfony tak tego nie widać. Zobacz zenda
https://docs.zendframework.com/zend-service...er/quick-start/ -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 23.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Chyba rozumiem, chyba. Dzięki za pomoc.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 13:30 |