Īsa pamācība PHP koderiem kā taisnot rokas

Apnika cilvēkiem skatīties uz līki uzkodētiem saitiem, kas met nesmukus kļūdu paziņojumus. Tā nu ir tapis viens padoms visiem, kas uzskata sevi par PHP programmētājiem, bet nevisai labi pārzin pašus pamatus.
Ar padomu padalījās Zive.

rakstu, iespaidojoties uz rakstiem “gamez.lv atkal atliecies jeb turpinās izstrāde?” (29.07.2002) un “Prorietumos jau sisadminu svinības pilnā sparā”
(26.07.2002).

Varu ieteikt visiem web adminiem nedaudz piestrādāt pie PHP nokonfigurēšanas.
To veikt vai nu INI failā, vai vismaz, izmantojot tādu komandu kā error_reporting(). Piemeers:

<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting (E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting (E_ALL ^ E_NOTICE);

// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting (E_ALL);

// Same as error_reporting(E_ALL);
ini_set ('error_reporting', E_ALL);

?>

Tāpat vērts pačolēt parametru “display_errors”. Skatīt teoriju (INI faila parametros):
“display_errors (boolean) – This determines whether errors should be printed to the screen as part of the HTML output or not.”

Ar laba vēlējumiem – Zive

15 thoughts on “Īsa pamācība PHP koderiem kā taisnot rokas

  1. Kaklz

    nu es buutu teicis, ka tipo kameer kodee, tikmeer raadam tos errorus, bet ka laizham gaisaa cilveekiem, ta gan metam jamos nost .. 😉

    Atbildēt
  2. Jim

    No tā, ka vienkārši netiks izdrukāti kļūdu paziņojumi, saits jau nebūs daudz taisnāk uzkodēts. Skats, jau ar nebūs nekāds labais, ja nebūs ne kļūdas paziņojuma, ne arī paredzēto objektu/darbības.
    Nu vai tad ir dikti grūti uzrakstīt: ja pieslēdzamies db – ok, ejam tālāk; ja netiekam klāt, drukājam “Piedod vecīt, piekāp vēlāk, mums ir problēma” un exit???

    Atbildēt
  3. Andrew

    Nja, vesela maaksla, ka speept klludas, peec pieredzes, error_reporting(E_ALL) ir baiggi laba lieta iesaku visie to piesleegt, ta liks Tev daudz ciitigak parluukot savu kodu, nepamanisi ka tavas rokas saks daudz maz iztaisnoties, kad lieta iet par pumlisko lapu, tad te pat runa nevar iet par klludas izvadissanu uz ekrana:)), kam tad patik skatities tos murgojumus ko izspllauj PHP:))

    Atbildēt
  4. koders

    ta nu ne pats galiigaakais tachu tomeer sviests.
    tika teikts ka paraadiis kaa jaataisno rokas tachu tas ka tu zini kljuudas veel nenoziimee, ka kluuda taps izlabota, jo tas ir jaamaak.
    un veidojot kaadu nopietnu kodu taa kaa dereetu zinaat kuras buutu taas koda vaajaakaas vietas un pie taam attieciigi piestraadaajot.
    tachu sava taisniiba ir ka errorus vajadzeetu logot

    Atbildēt
  5. karamba2002

    Iesaku veel lapaas, kur izmanto db, likt kaut ko ~ shaadu:
    if (!$db) $out .= “Lappppa ir downaa. Atnaaciet luudzu veelaak.”; //vai redirekts uz down.html
    Gadiijumam, ja db atnjirdzas.

    Atbildēt
  6. BigUgga

    JiM: runa tachu bija par running web. developeejot tachu PROTAMS error_reporting=on un var arii nelogot. manupraat tam nu buutu jaabuut skaidraak par skaidru.

    Atbildēt
  7. Jim

    BigUgga: nu, bet to jau neviens neapšauba. Bet iesaka izmantot arī paštaisītus kļūdas paziņojumus, kā arī neizpildīt to koda daļu, kas nav sakarīgi izpildāma pie dotās kļūdas.

    Atbildēt
  8. Valts

    hrm… tas ir stridings jautajums, pienjemsim ja man nokritiis mysql un attiecigi visas lapas raadis erroru kaudzes sakaraa ar to, sekojot padomam es noglushiishu visas shitaas lietas. A jeega no taa taapat taas labas ir unusable.

    Atbildēt
  9. Andrew

    Apkopojot visu, gribas pateikt tikai vienu, ists programmejas nekad nemekle attaisnojumus, un galvena laba programmeetaja ipassiba ir maacities, maacities un vel reiz maacities. Ko arii visiem noveelu!!! Cyberspace

    Atbildēt
  10. PheliX

    Diez ko taisnaakas man rokas nepalika… :)) Man ir visi errori atstaati gadiijumam, ja kaads ierauga tad vismaz par man patekt kas pa erroru tur bija 🙂 Pac jau visu notesteet nevar iedomaaties.

    Atbildēt

Atbildēt uz komentāru Andrew Atcelt atbildi

Tava e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *