Autor | Zpráva | ||
---|---|---|---|
iiic Profil |
#1 · Zasláno: 6. 7. 2015, 18:20:16 · Upravil/a: iiic
Ahoj, zkouším si nové PHP 7 a narazil jsem na problém s použitím některých knihoven, které mají konstruktory psány 'postaru' kdy je jméno konstruktoru stejné jako jméno třídy.
v takovém případě php7 oznámí třeba 'Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Min_SQL has a deprecated constructor in C:\server\www\tools\adminer\adminer.php on line 205' a je tam toho plno a je to ve více knihovnách, takže se mi moc nechce to všude opravovat přepisováním. Říkal jsem si, že by tohle oznámení mělo jít vypnout na úrovni error reportingu v php, ale nějak mi to ( error_reporting(0); ) nefunguje. Nemáte někdo se sedmičkou nějakou zkušenost? nevíte, jak se tohoto zbavit ? Zrovna u Admineru už se tím někdo zabýval a všechno opravil: https://github.com/vrana/adminer/pull/135 ale obecně by mě to stejně zajímalo, pokud někdo víte, budu moc rád. |
||
Keeehi Profil |
#2 · Zasláno: 6. 7. 2015, 18:26:32
iiic:
„takže se mi moc nechce“ Jenže to je správné řešení. Pokud ti nefunguje nastavování error reportingu za běhu tak to nastav php.ini. Tam už by to mělo zabrat určitě. |
||
Kubo2 Profil |
#3 · Zasláno: 6. 7. 2015, 19:27:42
iiic:
Z môjho personálneho postoja to vidím tak, že PHP je a zostane slabo typovaný jazyk a preto tzv. php4-style konštruktory mali byť v sedmičke už dávno odstránené (a v päťke označené za zastaralé). V PHP 8 bude táto „rozširujúca funkcionalita“ finálne odstránená. Viac informácií k procesu odstraňovania PHP 4 konštruktorov: https://wiki.php.net/rfc/remove_php4_constructors „takže se mi moc nechce to všude opravovat přepisováním.“ Použi knižnicu na statickú analýzu PHP kódu. |
||
Časová prodleva: 9 let
|
0