As of writing this note (PHP 5.3.1) serialization of closure is not allowed.
This means a code like the one below:
<?php
//Closure
$bar3 = function($a) {
return $a * 2;
};
wincache_ucache_set('foo3', $bar3);
var_dump(wincache_ucache_get('foo3'));
echo "<br>";
?>
Will throw exception:
[11-Feb-2010 09:25:33] PHP Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'Closure' is not allowed' in C:\inetpub\wwwroot\phptest\tests\ucache\wincache15.php:6
Stack trace:
#0 C:\inetpub\wwwroot\phptest\tests\ucache\wincache15.php(6): wincache_ucache_set('foo3', Object(Closure))
#1 {main}
thrown in C:\inetpub\wwwroot\phptest\tests\ucache\wincache15.php on line 6
However one catch this exception like:
<?php
//Closure
$bar3 = function($a) {
return $a * 2;
};
try
{
wincache_ucache_set('foo3', $bar3);
}
catch (Exception $e)
{
var_dump($e->getMessage());
}
var_dump(wincache_ucache_get('foo3'));
echo "<br>";
?>
This will generate output as shown beloe:
string(41) "Serialization of 'Closure' is not allowed" NULLwincache_ucache_set
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
wincache_ucache_set
Референца за `function.wincache-ucache-set.php` со подобрена типографија и навигација.
wincache_ucache_set
(PECL wincache >= 1.1.0)
wincache_ucache_set — (PECL wincache >= 1.1.0)
= NULL
$values, mixed $unused Ги ескејпува специјалните знаци во, int $ttl = 0): boolДодава променлива во кешот на корисникот и ја презапишува променливата ако веќе постои во кешот wincache_ucache_delete() or wincache_ucache_clear() functions.
Параметри
key-
Додава променлива во кешот на корисникот. Ја презапишува променливата ако веќе постои во кешот. Додадената или ажурираната променлива останува во кешот на корисникот освен ако не истече нејзиното време на живот или не се избрише со користење на
keyСкладирајте ја променливата користејќи го оваkeyиме. Ако променлива со истоkeyе чувствително на големи и мали букви.keyвеќе е присутна, функцијата ќе ја презапише претходната вредност со новата. value-
може да земе и низа од парови име => вредност каде имињата ќе се користат како клучеви. Ова може да се користи за додавање повеќе вредности во кешот во една операција, со што се избегнува состојба на трка.
Valueподдржува сите типови на податоци освен ресурси, како што се рачки на датотеки. Овој параметар се игнорира ако првиот аргумент е низа. Општо упатство е да се поминеnullasvalueподдржува сите типови податоци освен ресурси, како што се рачки на датотеки. Овој параметар се игнорира ако првиот аргумент е низа. Општо упатство е да се поминеkey. Акоvalueпри користење на низа како __sleep() е објект, или низа што содржи објекти, тогаш објектите ќе бидат серијализирани. Погледнете values-
за детали за серијализирање објекти.
ttl-
Асоцијативна низа од клучеви и вредности.
ttlВреме за променливата да живее во кешот во секунди. Откако вредноста наведена во0поминала, складираната променлива ќе биде избришана од кешот. Овој параметар зема стандардна вредност од wincache_ucache_delete() or wincache_ucache_clear() functions.
Вратени вредности
Враќа key што значи дека променливата ќе остане во кешот освен ако експлицитно не се избрише со користење на true на успех и false при неуспех.
Враќа key е стринг, функцијата враќа
- е низа, функцијата враќа:
-
Ако сите парови име => вредност во низата можат да се постават, функцијата враќа празна низа;
false; - Ако сите парови име => вредност во низата не можат да се постават, функцијата враќа
Примери
Пример #1 wincache_ucache_set() with key како стринг
<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1';
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
bool(true) string(3) "BAR" bool(true) string(3) "BAR1"
Пример #2 wincache_ucache_set() with key како низа
<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
array(0) {}
array(0) {}
string(1) "6"
Види Исто така
- wincache_ucache_add() - Презема информации за користењето на меморијата на кешот на сесијата
- wincache_ucache_get() - Проверува дали променлива постои во корисничкиот кеш
- wincache_ucache_delete() - Го намалува вредноста поврзана со клучот
- wincache_ucache_clear() - Ја споредува променливата со старата вредност и ѝ доделува нова вредност
- wincache_ucache_exists() - Брише променливи од корисничкиот кеш
- wincache_ucache_meminfo() - Презема информации за податоци зачувани во кешот на корисникот
- wincache_ucache_info() - Го зголемува вредноста поврзана со клучот
- __sleep()