Webcity.pl


  Korzystanie i tworze...

  Wbrew regułom

  Kontrola danych wejś...

  Singleton w PHP

  Programowanie obiekt...

 

 02.02.06 - [new] E-video - artykuł

 30.01.06 - [update] Artykuł o sesjach

 18.12.05 - [update] PDO - artykuł

 19.08.05 - [new+upd] Aktualizacja materia...

 26.04.05 - [update] Nowy artykuł



  Pomocy WML
[php]Sesje nie działają, ...
[actionscript 2.0] [flash...
Problem z talicami w php
[ocena] llll.pl darmowe a...
Kamera na stronie interne...
Kamera na stronie interne...
[xml] Jak wyciągnąć dane
Wizualizacja w JS - POMOC
Web Developer - stała / f...

... i wiele innych wątków na forum ›

Partnerzy
› allRSS.info - katalog zasobów RSS
› iloveflyer.org - webdesign
› webserv.pl - serverpack
› skryptoteka.pl - mnóstwo skryptów
› vel.pl - hosting
› TelePraca.net - pracuj swobodnie
› PHP Solutions - magazyn PHP
› HELION - wydawnictwo informatyczne

Ksišżka dnia

CityMag
Wpisz swój e-mail, aby zaprenumerować nasz Magazyn, który zawiera najnowsze informacje ze świata i najciekawsze teksty.
 

Szukasz czegoś?
Nasza wyszukiwarka znajdzie wszystko, czego szukasz.
 

Szukanie zawansowane


  Reklama
  Redakcja
  Hosting
  Kanał

© WebCity.pl Team
 
 
  Forum Forum
Kursy Kursy
Porady Porady
Recenzje Recenzje
Newsy Newsy
Katalog stron WWW Katalog
Skrypty PHP Skrypty
Download Oferty i praca
Artykuły:
 Teoria
 Praktyka
 Promocja
 Inne
 

 Webcity.pl |

Jak wyeliminować komunikaty spowodowane działaniem E_NOTICE?
Autor: Zyx
Poziom raportowania błędów E_NOTICE został stworzony, aby pomóc programiście w wyszukiwaniu literówek i innych niedogodności spowodowanych elastycznym systemem zmiennych/tablic. Niestety moim zdaniem nie został on przyzwoicie zaprojektowany, przez co dość często zwyczajnie tylko utrudnia od zaprojektowanie skryptu. Za przykład mogą posłużyć tablice, gdzie bardzo pomogłaby nam niekonieczność definiowania indeksów, albo warunek

if($tablica[$i+1] == '('){
// obsluz sytuacje, gdy nastepnym elementem jest nawias
}

Typowy programista zauważy od razu, że fakt, iż pole $i+1 może być niezdefiniowane, nie gra tu żadnej roli. Niestety PHP z ustawionym E_NOTICE może wygenerować wtedy błąd. Są dwa możliwe warianty rozwiązań: albo wywołanie

error_reporting(E_ALL ^ E_NOTICE);

Na początku skryptu, albo użycie operatora @:

if(@($tablica[$i+1] == '(')){
// obsluz sytuacje, gdy nastepnym elementem jest nawias
}

Pamiętaj jednak, by nie przesadzić z jego użyciem! Postawiony przed funkcjami spowoduje, że nie będą one generowały ŻADNYCH komunikatów prawdziwych już błędów (np. że nie można połączyć się z bazą danych), co utrudni sprawdzenie, dlaczego skrypt nie działa.

Powrót

 
 
Twój domowy serwer!