Miks kirjutatakse halba PHP koodi?

Kuidas tekivad sellised nn šedöövrid, kus õpetatakse sellist programmeerimis-stiili, mida enamus algajate PHP skriptid sisaldavad? Ehk siis:

1) miks pannakse iga tegevus omaette include faili?
2) PHP ja HTML kood on absoluutselt läbisegi
3) kood absoluutselt treppimata
4) ei kasutata funktsioone või kasutatakse neid minimaalselt
5) ei mingit kontrolli SQL Injection-i ja muu taolise vastu
6) miks sisestatakse sessioonimuutujatesse paroole?

Ja veel palju teisi

3 Responses to “Miks kirjutatakse halba PHP koodi?”

  1. sigmar Says:

    PHP kood ja HTML võivad segi olla. Pigem asi selles, et kontroller ja view on läbisegi pudrukapsaks keeratud:)

    Ka Railsis on view-failis Ruby ja HTML segiläbi:)

  2. muidumeez Says:

    Esiteks. HTML ja PHP kasutamine segamini ei ole kuritegu. Isegi kasutan. Probleem on selles, et kui kasutada nn lõpp-kasutaja lahendusi, siis sellistes kohtades muutub selline segapuder täiesti lubamatuks.
    Ma ei taipa seda, miks tuuaks paralleele Ruby-ga ja selle fw Rails-iga. Olles kuulnud RoR-i kohta igasuguseid jutte, pole ma näinud veel ÜHTEGI normaalset lahendust, mis oleks ka üldiselt TUNUTUD.

  3. sigmar Says:

    nojah, lihtsalt see PHP / HTML segamini olek pani mõtlema vägevalt levinud templiidimaania üle, et vahel kiputakse välja mõtlema enda jaoks mingit X-süntaksiga templiidimootorit, kus siis HTML sisaldab dokumenteerimata templiitimiskeele sõnu/lauseid, mis on veel hullem kui HTML/PHP segiläbi.
    Smarty poolelt on asi jälle aetud selliseks, et seal võib juba progeda peaaegu et PHP-keelt Smarty keeles ja see on juba suht mõttetu:).

    Samas on mind aegajalt mõtlema ajanud see, et kui õige üldse on kasutada selliseid templiite, kus siis muutujad sees oma X-template keeles, kus template võetakse ja parsetakse ja visatakse kasutajale ette nii, kuidas ta õnnestus kompileerida. Üldjuhul tag-idega muutujaid kasutades saab E_NOTICE -enabled modes kergemini kinni püütud igasugu defineerimata muutujad, mis üldjuhul risustavad rämedalt koodi ja teevad selle vahel raskesti loetavaks:)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.