Autor Zpráva
Martin Adámek
Profil
Byl jsem postaven před úkol upravit několik starších PHP projektů tak, aby fungovaly pod PHP7.
Pod PHP7 nechtěly fungovat kvůli použití zastaralé knihovny mysql pro práci s SQL databází.

Abych ty projekty nemusel celé přepisovat, vyrobil jsem si jednoduchou knihovničku pro převod starých funkcí na nové.
Třeba se někomu bude hodit a ušetří mu čas:

Funkce MySQL pod PHP7 – Malá knihovna pro modernizaci PHP projektu

(Převodník ze staré syntaxe na novou jsem nepsal na všechno, ale jen na ty funkce, které jsem potřeboval.
Pro většinu projektů to ale asi bude stačit, a zbytek si každý může dopsat, když se inspiruje tím základním přístupem.)
Keeehi
Profil
No, dělal jsi trochu zbytečnou práci. To co jsi vytvořil tvořili už jiní. Například github.com/dshafik/php7-mysql-shim
Je moc pěkné, že se chceš podělit s ostatními o výsledky své práce a někomu ulehčit život. Zatím to bohužel není produkční kvalita ale pokud budeš chtít, určitě se tam za pár let dostaneš.
Pár dobrých rad pro zlepšení
- Jestli je načtené mysql rozšíření se dá detekovat, případně se dá detekovat existence mysql_* funkcí. Knihovna by takovou detekci měla obsahovat a v případě úspěšné detekce "nové" funkce nepřidávat.
- Když už budeš u toho, můžeš detekovat i přítomnost mysqli, protože tvá knihovna na ni závisí. A v případě neexistence vyhodit nějakou pěknou chybovou hlášku. *
- Pokud chceš, aby tvůj kód někdo používal, měl bys ho umístit někam, kde je to více standardní. Dnes asi málokdo hledá zdrojové kódy na osobních stránkách programátorů. Majorita dnes bude pravděpodobně na Githubu.
- A pokud chceš, ostatním usnadnit přidání knihovny do jejich projektů, měl bys umožnit to dělat automaticky. Ne aby museli ručně kopírovat tvůj kód, ale aby mohli zadat příkaz a tvoje knihovna by se jim automaticky stáhla a přidala do projektu. Pro PHP se dnes standardně používá Composer.

* Pokud použiješ Composer, dá se určité rozšíření definovat jako závislost a detekci provede už sám Composer. Vývojář se o nekompatibilitě dozví už při instalaci knihovny a ne až při prvním spuštění v projektu.
Methez
Profil *
Kámo. Shrnu to jedním slovem. PDO. Pak už nebudeš muset dělat tuhle špinavou práci :)
RastyAmateur
Profil
Methez:
Jak ti pomůže PDO s přepisem deprecated funkcí?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: