Domanda

Esiste un modo integrato per sapere se una determinata variabile di sessione è un oggetto serializzato? Supponiamo di recuperare un valore come $ _SESSION ['pippo'], ma non so se fosse originariamente una stringa o se fosse un oggetto serializzato. C'è un modo per verificare, o una volta serializzato PHP vede una stringa come una stringa come una stringa?

È stato utile?

Soluzione

È un malinteso abbastanza comune che devi serializzare manualmente gli oggetti prima di metterli in sessione. Questo non è il caso. Puoi semplicemente assegnare un'istanza di oggetto a uno slot in $ _SESSION , e PHP serializzerà e serializzerà automagicamente per te, tra le richieste.

Altri suggerimenti

Una stringa è una stringa è una stringa. Penso che il meglio che sarai in grado di fare è solo provare a annullare la serializzazione e, se funziona, funziona. In caso contrario, non lo è.

L'unica altra opzione sarebbe quella di usare una regex per vedere se "guarda" come un oggetto serializzato. Tuttavia, eseguire unserialize () potrebbe essere più semplice.

Potresti usare is_a ... Tiralo fuori dalla sessione e vedi, devi solo conoscere il nome della classe da controllare.

if (is_a(

Potresti usare is_a ... Tiralo fuori dalla sessione e vedi, devi solo conoscere il nome della classe da controllare.

if (

Potresti usare is_a ... Tiralo fuori dalla sessione e vedi, devi solo conoscere il nome della classe da controllare.

if (is_a(

Potresti usare is_a ... Tiralo fuori dalla sessione e vedi, devi solo conoscere il nome della classe da controllare.

<*>

Sembra che PHP5 abbia un metodo più semplice:

<*>

http://www.php.net/manual/en /function.is-a.php

SESSION['foo'], 'UserInfoObject')) { // We have one }

Sembra che PHP5 abbia un metodo più semplice:

<*>

http://www.php.net/manual/en /function.is-a.php

SESSION['foo'] instanceof UserInfoObject) { // We have one }

Sembra che PHP5 abbia un metodo più semplice:

<*>

http://www.php.net/manual/en /function.is-a.php

SESSION['foo'], 'UserInfoObject')) { // We have one }

Sembra che PHP5 abbia un metodo più semplice:

<*>

http://www.php.net/manual/en /function.is-a.php

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top