Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Disable Namespacing
MESSIAH :)
post
Post #1





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Czy jest jakiś łatwy i szybki sposób aby wyłączyć Namespace i powrócić do tradycyjnego php include?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Programista tylko i wyłącznie za to odpowiada. Zmień reguły autoloadera.


--------------------
Go to the top of the page
+Quote Post
MESSIAH :)
post
Post #3





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Powiedzmy że mam pewien skrypt który używa Namespace i chciałbym go użyć w moim projekcie jako include. Niestety pewnie wiąże się to z długim czasem poprawiania kodu oraz wyszukiwania funkcji oraz klas. Czy mam racje?


--------------------
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Zależy jak wczytujesz klasy bo tylko to na znaczenie. Psr0 i 4. Zobacz choćby przykłady composera. Samo używanie to albo use na początku albo \klasy.


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





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Zamiast wyłączać namespaces to raczej polecam je zrozumieć i zacząć stosować na co dzień. Nie ma sensu uciekać od używania jednego z de facto podstawowych mechanizmów języka


--------------------
Go to the top of the page
+Quote Post
by_ikar
post
Post #6





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Include nie powinno się używać do ładowania klas, bo zamiast rzucać fatal error i przerwać działanie skryptu, to rzuca warning i sobie działa w najlepsze. Kolejną rzeczą jest to co napisali poprzednicy - uwstecznianie się.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Panowie, kolega @MESSIAH znowu próbuje realizować swoje dziwne marzenia wink.gif

Autorze, czy Ty na prawdę jesteś masochistą i tak bardzo lubisz sobie komplikować w życiu? Dzięki NS wrzucasz sobie autoloader z Composer i masz głęboko w ... co się robi. Dołączasz 1 plik z loaderem a cała reszta działa. Jak widzę potworne autoloadery które mają psiąt reguł jak i gdzie szukać klas to człowieka krew zalewa. Nie daj jak zamiast autoloadera wszystko jest przez include.

W tych czasach powinno się ręce ucinać, a w Google banować kursy PHP z czasów PHP4 których jest 79% w sieci.
Go to the top of the page
+Quote Post
redeemer
post
Post #8





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Możesz użyć parsera PHP (napisanego w PHP) i przerobić Jakas\Klasa\W\Namespace do Jakas_Klasa_W_Namespace. Nawet w dokumentacji jest przykład takiego konwertera: Example: Converting namespaced code to pseudo namespaces

Ten post edytował redeemer 20.08.2015, 08:16:37


--------------------
Go to the top of the page
+Quote Post
MESSIAH :)
post
Post #9





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Akurat tworzę swój własny autolader do którego chcę dołączyć skrypt obsługi błędów i który to jest napisany w Namespace. Ja natomiast nie chcę używać Namespace.
@by_ikar - namespace korzysta przecież z require smile.gif


--------------------
Go to the top of the page
+Quote Post
Comandeer
post
Post #10





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Jak tworzysz swój własny autoloader, to poczytaj o PSR-4. A jak chcesz poczytać o obsłudze błędów, to AFAIR PSR-3 jest standardem loggera wink.gif

Co do "nie chcę używać ns" - masz jakiś sensowny powód czy po prostu "nie, bo nie"?


--------------------
Go to the top of the page
+Quote Post
by_ikar
post
Post #11





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat(MESSIAH :) @ 20.08.2015, 19:05:16 ) *
@by_ikar - namespace korzysta przecież z require smile.gif


Namespace out of box nie korzysta z niczego, jedynie zwróciłem uwagę na to co napisałeś:

Cytat
Czy jest jakiś łatwy i szybki sposób aby wyłączyć Namespace i powrócić do tradycyjnego php include?


A pisanie własnego autoloadera od razu mi przypomina ten obrazek:



Więc pytanie, po co tworzysz swój własny autoloader? Jaki to ma mieć cel?
Go to the top of the page
+Quote Post
MESSIAH :)
post
Post #12





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Cytat(Comandeer @ 20.08.2015, 18:28:10 ) *
Jak tworzysz swój własny autoloader, to poczytaj o PSR-4. A jak chcesz poczytać o obsłudze błędów, to AFAIR PSR-3 jest standardem loggera wink.gif

Co do "nie chcę używać ns" - masz jakiś sensowny powód czy po prostu "nie, bo nie"?

Po prostu chcę mieć swój własny mini loader uniwersalny.



@by_ikar A to co robi w dokumentacji Namespace:
http://www.php-fig.org/psr/psr-4/examples/
  1. if (file_exists($file)) {
  2. require $file;
  3. }


Tylko siedząc bezczynnie i korzystać z gotowych rozwiązań nie przynosi korzyści.


--------------------
Go to the top of the page
+Quote Post
Comandeer
post
Post #13





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Cytat
Po prostu chcę mieć swój własny mini loader uniwersalny.

Loader uniwersalny = PSR-4. I to jest de facto wszystko, co trzeba i należy powiedzieć w temacie.

Jako programista głównie piszący w JS świętowałbym tydzień, gdyby powstał jeden spójny standard modułów dla frontu. Ty masz w PHP aż jeden standard, na który wszyscy się zgodzili, a i tak wypinasz się na niego i próbujesz tworzyć coś swojego. Po kiego grzyba? Jak chcesz napisać loader, oprzyj go na standardzie PSR-4.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #14





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


uniwersalny autoloader... to już jest i nazywa sie.... (tutaj werble...) COMPOSER
Go to the top of the page
+Quote Post
Damonsson
post
Post #15





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Napisałbyś swój autoloader, a nie korzystasz z gotowców leniu, pewnie nawet nie wiesz jak taki autoloader napisać, dlatego proponujesz mu COMPOSER sciana.gif
Go to the top of the page
+Quote Post
Xelah
post
Post #16





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

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


Composer to nie autoloader. Composer używa autoloader ale nim nie jest. I może używać dowolnego. Jak sobie dla swoich potrzeb napiszesz własny, to możesz go spokojnie w composerze używac.
Go to the top of the page
+Quote Post
Comandeer
post
Post #17





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


A niech se pisze - co mu szkodzi wink.gif jak chce się bawić w wymyślanie koła na nowo, niech to robi. IMO najlepszy sposób na naukę. Niech tylko nie wymyśla nowych standardów, a użyje istniejących.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #18





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Oh ja nie dobry. Jak ja mogłem proponować coś dobrego, coś co działa.. Tfuu tfuuu...
Zmieniam zdanie. Piszta własne autoloadery, niech Wam się linijki kodu mnożą, niech działają.

@Damonsson dzięki za otworzenie oczu exclamation.gif
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 Aktualny czas: 19.08.2025 - 14:59