>20 éves PHP kód életre keltése

-

-

Hozzászólások

"Akarsz róla beszélni.?"
--
God bless you, Captain Hindsight..

Valassz egy olyan nyelvet amiben van kihivas:
Irj valamit javascriptben valamelyik mostani framework alatt.
Es nem kell 16 evet varnod, csak vedd elo ket ev mulva. Sanszos, hogy a framework sincs mar meg, vagy ujrairtak from scratch v2-nek csufolva.

De ha nem a framework, akkor valamelyik egyeb fuggosegbe torik bele a bicskad.
Pl:
https://npm.anvaka.com/#/view/2d/react-native

En mostanaban, ha idom engedi, akkor Rust-ot olvasgatok. Csak sajnos nem engedi.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

A probléma ismerős. Ha csak pár ficsőr kell akkor inkább lekódolom, minthogy behúzzak egy újabb függőséget. Volt idő amikor alapszinten megtanultam kb 10 programozási nyelvet. Egy hete néztem újra át Java-t középhaladói szintig. Sohasem írtam semmi használhatót benne és motiválva sem vagyok a migrálásra. Persze unalomból néha lecserélném a PHP-t, de hamar rájövök, hogy amire nekem kell nincs jobb, legalábbis nekem.

Amikor azt írod, nincs vele célod: nem igaz. Magad közlöd később, hogy látod mennyit fejlődtél. Ez 1-2 hétig még tartani fog, majd rájössz: igazolva. Keress a hype cycle környékén dolgokat. A PHP 3 -> 7 portolás nem biztos hogy az. :-)

Amúgy respect, a retrospektív dolgok hasznosak. Egy common mistakes vagy egy porting guide blog lehet hasonló örömmel töltene el. Secu leak memoár lesz? Az is tetszene;-)

go, rust, Ruby, esetleg ccc?:-)

Maga az alkalmazás számomra egy eszköz amit én magam fejlesztek, ennek mellékterméke, hogy a dolog engem is fejleszt, aminek kifejezetten örülök. Nem igazán készülök programozónak, noha jelenleg is ezt tanulom. A programozói tudást, mint eszközt használom a céljaimhoz. Röviden: magamnak fejlesztek egy ERP-t ami helyettem dolgozik. Egy belső igény miatt szeretném ezt jól csinálni, ezért is tanulom.

Secu leak van benne gazdagon. Illetve kb csak az van. Botrányos. :)

Szia, pár gyors komment:

Egyrészt jó sok időd van, de megértelek, hogy ezt csinálod, tényleg jó gyakorlat.
Én már akkor PHP 7.3.9-re írnám, nem 7.2-re.
A másik, hogy van a php.net-en egy változások listája és mi az, amit változtattak.

Egyik út az lenne, hogy PHP3-ról PHP4 kompatibilisre javítod a kódot, majd:

https://www.php.net/manual/php4.php

Migrating from PHP 4 to PHP 5.0.x
https://www.php.net/manual/en/migration5.php

Majd:

Migrating from PHP 5.0.x to PHP 5.1.x
Migrating from PHP 5.1.x to PHP 5.2.x
Migrating from PHP 5.2.x to PHP 5.3.x
Migrating from PHP 5.3.x to PHP 5.4.x
Migrating from PHP 5.4.x to PHP 5.5.x
Migrating from PHP 5.5.x to PHP 5.6.x
Migrating from PHP 5.6.x to PHP 7.0.x
Migrating from PHP 7.0.x to PHP 7.1.x
Migrating from PHP 7.1.x to PHP 7.2.x
Migrating from PHP 7.2.x to PHP 7.3.x

Ha igazán kemény vagy, PHP 5.3-tól csinálsz PHPUnit tesztet is hozzá, és úgy migrálod, hogy az összes teszt lefusson :)
Bónuszként írsz valami CMS benchmark-ot, és az összes verzión futtatod, és látni fogod, hogy gyorsul... :)

Sakk-matt,
KaTT :)

Na ennyi időm nincs.

Ezek a lépések vannak első körben, amelyek szükséges és elégséges feltételei a működésnek:
1. Kivezetett függvények helyettesítése.
2. Átállás mysql_*-ről, mysqli_*-re (később PDO)
3. Hozzáadnia szükséges $_GET, $_POST, $_REQUEST, $_SERVER, $GLOBALS, $_SESSION változókat

Ezzel a három lépéssel már működik minden. Azután jöhet/jöhetne egy refaktor, de csak akkor, ha minden megy már:
1. Átállás PDO-ra (ezért nem egyből ezzel kezdem, mert akkor sokáig nem látok output-ot)
2. OOP: létrehozni a szükséges objektumokat, csökkenteni több lépésben a kódismétlést.
3. Átépíteni a Controll részt, mert az nagyon elavult/kezdetleges
4. A template rendszert jobban szétkapni objektumokra, mert most kb minden oldalnak van saját leírása, ezzel csökkene a kód és gyorsulhatna az új oldalak elkészítésének ideje
5. Biztonságosabbá tenni a rendszert több ellenőrzéssel, adatvalidálással
...
n

Refaktorálni a végtelenségig...

És legvégül ezért php 7.2:


oregon@zenbook:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
oregon@zenbook:~$ php -v
PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS )

mysql-t tudsz telepíteni php7 alá is. Ha csak a felélesztés a cél. Ha a cél az átírás, akkor persze ok, bár nem nagy kihívás replacelni a mysql_-t mysqli_-re.

A többire pedig túlparázod. Legyen belőve a hibakiírás noreice és warning nélkül. Kezdd el futtatni és javítsad a megjelenő hibákat.

Aztán ha nagyon nem menne meg fehér oldalak jönnek fel, akkor engedélyezzed a warningokat is és azt is csekkold.
Ennyi...

azért érdemes a 7.3-at választani mert abban már alapból támogatott a sodium és ez sokat segíthet a crp részen.
[új] - No rainbow, no sugar - [új]

a 15 éves könyv helyett lehet érdemes lenne valami aktuálisat olvasni:) ez pl ad egy egész jó irányt, hogy miként lenne érdemes manapság: https://phptherightway.com

Untakozol ?
Amint olvastam az ugrott be, smarty aztan irtad is kesobb,
BTW reszt en sem irhattam volna szebben, beteszem ezt legkozelebb motivacios levelnek :D

Esetleges kód nyitáson nem gondolkodtál?

Főleg PHP vonalon szeretek ilyesmivel foglalkozni. Nem csak abból lehetne tanulni, hogy te nekiállsz az egésznek és migrálod, hanem ha más is segít, akkor azt is látod más miképpen csinálná a dolgokat, ami szerintem hasznos tud lenni.

---
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"