Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21352

Re: cookie in ambiente CLI

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: cookie in ambiente CLI
Date 2017-01-11 15:27 +0000
Message-ID <edn173Fc9ulU1@mid.individual.net> (permalink)
References <o50dqu$1oro$1@gioia.aioe.org> <edi4m3F66edU1@mid.individual.net> <o551tg$u3l$1@gioia.aioe.org>

Show all headers | View raw


On 11/01/2017 10:37, alex wrote:

> Il 09/01/2017 19:56, Alessandro Pellizzari ha scritto:

>> Siccome PHP inizializza le superglobal quando parte, non c'è modo di
>> metterci qualcosa (se non modificandole direttamente e manualmente) in
>> ambiente CLI: quando lo script viene eseguito sono già state
>> inizializzate.
>
> if (!isset($_COOKIE['abc'])) {
>    //manomissione...
>    $_COOKIE['abc'] = random();
> }
>
> però manomettere una variabile globale... è una pratica consigliabile?

No, non in codice normale come questo.

Ma se stai scrivendo un test che testi il caso specifico, può essere 
tollerato. In pratica costruisci l'ambiente prima del test.

Ma proprio per questo, di solito, si wrappa l'accesso all'ambiente in 
classi dedicate. A quel punto queste "porcherie" le farai solo nei test 
delle classi wrapper, mentre in tutto il resto del codice semplicemente 
usi la classe "Web" o quella "CLI", o fai un mock che presenti valori 
deterministici ai fini del test.

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

cookie in ambiente CLI alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-01-09 17:30 +0100
  Re: cookie in ambiente CLI fmassei@gmail.com - 2017-01-09 08:54 -0800
  Re: cookie in ambiente CLI Alessandro Pellizzari <shuriken@amiran.it> - 2017-01-09 18:56 +0000
    Re: cookie in ambiente CLI alex <1j9448a02@lnx159sneakemail.com.invalid> - 2017-01-11 11:37 +0100
      Re: cookie in ambiente CLI Alessandro Pellizzari <shuriken@amiran.it> - 2017-01-11 15:27 +0000

csiph-web