Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [E_STRICT] date & don't rely on date

    qualcuno ha idea del perchè PHP5 in E_STRICT (oltre l' E_ALL) sconsiglia di utilizzare una funzione date ?

    ... con gmdate è tutto a posto, con date dice di dover settare tutto a livello locale del server prima di affidarsi al date ... ma i cavoli suoi non se li fa ?

    date non è una funzione che restituisce una data formattata secondo un opzionale timestamp che se non fornito prende in auto quella disponibile di default ?

    che è "sta porcheria" ?



    illuminatemi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #2
    c'e' poco da illuminare... il problema e' il default.... non e' mica detto sia settato.

    se prende il default significa la data ora del server. gmdate (gmmktime) prende sempre il Greenwich Mean Time. Quindi data ora certa.

    Poresti spostare il tuo sito in CINA perche' costa meno... e la dataora???? E' una segnalazione, mica un obbligo. Ti fa presente che potrebbe esserci un buco usando date(). E' un avviso allo sviluppatore.... come dire .. se vuoi fare software con la massima portabilta' occhio a queste funzioni.

    prova a mettere il setlocale()

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    e fin qui ok ... ma il gmdate non è il default del date ?

    e perchè se date non è affidabile, quando uso il time() non mi dice niente ?

    mentre date("Y", time()); da il notice ?

    mktime, strftime ... insomma, anche se sei tu ad impostare quale ora deve usare date il notice parte lostesso, "obbliga" a settare il setlocale ... che è sta porcheria ?


    illuminatemi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    direi che gmdate() rende l'ora GMT che non e' detto sia quella del server.

    date() e' scritto chiaramente che formatta una "data locale". il notice ti avvisa che non hai settato una data locale. tutto qui.

    time() rende lo unix timestamp del server che sarebbe il default perche' dovrebbe dare un NOTICE?. date() credo usi la funzione time() per prendere il default. Sarebbe interessante verificare nel caso di un setlocale con LC_TIME diverso dall'ora locale del server, se time() e date() continuano a prelevare lo stesso timestamp.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Originariamente inviato da piero.mac
    time() rende lo unix timestamp del server che sarebbe il default perche' dovrebbe dare un NOTICE?. date() credo usi la funzione time() per prendere il default
    appunto, ma se io cambio il default non deve rompere le scatole, cioè se io gli dico quale time mostrare perchè mi da il notice a oltranza ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Originariamente inviato da andr3a
    appunto, ma se io cambio il default non deve rompere le scatole, cioè se io gli dico quale time mostrare perchè mi da il notice a oltranza ?
    sara' come con le donne... ti dicono no e poi ci stanno.... e' ancestrale.

    ma se usi E_STRICT di cose "strane" ne vedrai a iosa. In molti casi sono risposte standard a prescindere dalla configurazione, cioe' risposte di default in attesa "forse" di qualcosa di piu' interattivo. Difatti personalmente sono tornato al solito "e_all & notice".

    Vado a dar la pappa alle tartarughe...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.