Portal > Foren > PHP > PHP-Programmierung > date_default_timezone_set(), ab PHP 5.1.0 von Nöten
Antwort
 
Themen-Optionen
Alt 07.01.2007, 14:59 Nach oben    #1
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard date_default_timezone_set(), ab PHP 5.1.0 von Nöten

Hallo,
ich bin soeben über folgenden Code am Anfang einer PHP-Datei gestoßen.
PHP-Code:
if(defined('E_STRICT') && function_exists('date_default_timezone_set')) {
    
error_reporting(E_ALL E_STRICT);
    
date_default_timezone_set("Europe/Berlin");
}
else {
    
error_reporting(E_ALL);

Was genau hast es damit auf sich?

Im Manual steht dazu
Zitat:
Note: Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_STRICT message if using the system settings or the TZ environment variable.
Das TZ heißt time zone?

Warum genau wird
PHP-Code:
defined('E_STRICT'
verwendet?

Also neu war mir das auf jeden Fall. Habe also schon alleine durch die Frage was gelernt, allerdings würde ich gerne noch wissen, was es mit der Konstanten auf sich hat und was somit diese "Note" da genau aussagt.

Danke.
Grüße, Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.01.2007, 15:28 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
Standard

mittels defined('E_STRICT') denke ich kann man rausfinden ob php5 zugangen ist, weil es die konstante erst seit dem gibt und um die notice zu verhinden (weil jemand den wert in der php.ini z.b. nicht gesetzt hat).
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.01.2007, 16:22 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Ah, klingt logisch. Hätte man ja auch selbst drauf kommen können.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.01.2007, 22:17 Nach oben    #4
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 86
Standard

Mh wäre es nicht einfacher eine Mögliche NOTICE mit @ zu unterbinden?

Ansich ja unsauber aber wenn man einen Fehler erwartet finde ich legitimiert es das @ vorallem bevor ich so ne Menge Code drumrum schreibe ... bringt ja eigentlich nichts.
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.01.2007, 22:37 Nach oben    #5
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Im Prinzip schon, nur geht es hier ja nicht darum, Fehler zu unterdrücken.

In dem Code-Schnipsel werden einfach auf merkwürdige Art und Weise zwei Aufgaben miteinander verknüpft:

* Wenn die Funktion date_default...() vorhanden ist, dann benutze sie und
* wenn E_STRICT definiert ist, dann zeig mir die entsprechenden Meldungen an, andernfalls nur E_ALL.

Das merkwürdige ist hier eben, dass die beiden - an sich völlig unabhängigen - Bedingungen hier derart verknüpft werden, dass auf PHP-Versionen 5.0.* keine E_STRICT-Meldungen angezeigt werden, obwohl die Möglichkeit da wäre und diese Auskünfte vom Autor ja offensichtlich gewollt sind.

Einzig sinnige Erklärung ist für mich, dass es bis PHP 5.1 einen Bug um E_STRICT gab und der Autor somit zwei Fliegen mit einer Klappe schägt. Allerdings ist mir nichts davon bekannt.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP 5.2 Kompilierung schlägt fehl Byrel Tools, Server, Betriebssysteme 0 03.11.2006 21:09
[Rezension] PHP 5 Kochbuch Artemis Literatur 2 07.09.2006 19:15
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
PHP 5.1 ist drausen robo47 Nachrichten 5 28.11.2005 20:30
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:47 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44