Portál AbcLinuxu, 7. května 2025 14:42

Dotaz: PHP - Co použít v __autoload() v

10.1.2015 15:04 Marek
PHP - Co použít v __autoload() v
Přečteno: 287×
Odpovědět | Admin
Ahoj, co se má použít ve funkci __auotolad() a proč ? Děkuji za radu.
include();
require();
include_once();
require_once();
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.1.2015 15:14 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejčastěji se používá require (je to příkaz, tedy bez závorek) nebo můžeš použít include, pokud ti nevyhovuje zpracování chyb při require.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
kozzi avatar 10.1.2015 19:23 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Odpovědět | | Sbalit | Link | Blokovat | Admin

doporucuji pouzit require jinak spis bych misto __autoload pouzil http://php.net/manual/en/function.spl-autoload-register.php

Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
10.1.2015 19:54 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Pro jednodušší projekty do pár tisíc řádek původní __autoload() docela vyhovuje. Funkce spl_autoload_register() se přece jen používá trochu odlišně a podle mne má smysl až když je těch knihoven víc než jedna.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 11.1.2015 15:55 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Ono stačí ty knihovny mít dvě. Ale to už je lepší použít Composer a autoloader neřešit vůbec.
Hello world ! Segmentation fault (core dumped)
11.1.2015 16:15 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Ten Composer však nějaký autoload určitě obsahuje. A kromě toho spoustu kódu, který nepotřebuji a jen mi bude zavazet.

Pořizovat si Composer kvůli ušetřeným 5 řádkům kódu postrádá logiku.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 11.1.2015 16:18 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Composer je nástroj na instalaci knihoven včetně jejich zavislostí a autoloaderů. Sám ti přidá právě jen nakonfigurovaný autoloader. Zbytek je samostatný nástroj.
Hello world ! Segmentation fault (core dumped)
11.1.2015 16:38 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Má smysl používat Composer bez Nette?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 11.1.2015 17:20 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Composer nemá s Nette nic společného. Nette je jen jeden z cca 50 tisíc balíčků, které ho podporují.

Sám jsem Composerem nahradil git submoduly pro správu pluginů, neboť Composer řeší instalace 3rd-party knihoven z libovolných zdrojů a závislosti mezi knihovnami i pluginy (na plugin jsem si zavedl svůj typ balíčku, který se instaluje do jiného adresáře, aby ho aplikace snadno našla).
Hello world ! Segmentation fault (core dumped)
11.1.2015 17:28 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Už jsem si Composer vyzkoušel. Nevím, proč mi vygeneroval cca 500 řádek kódu v 7 souborech, které se vzájemně requirují, i když jsem mu nedal žádnou knihovnu. To se všechny ty require provádí při každém HTTP dotazu? To bych měl skoro dvojnásobek.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Josef Kufner avatar 11.1.2015 17:50 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP - Co použít v __autoload() v
Netvrdím, že ten autoloader je nějak krásný. Také mi celkem trvalo, než jsem ho skousnul. Ale nakonec to ušetří docela hodně práce a nezaznamenal jsem, že by si to vzalo větší než zanedbatelné množství výkonu.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.