Понимаю что рано спохватился..... но, лучше уж что-то, чем ничего.
--------------------
--- Копипаста с http://www.instanceof.ru/рограммирование/новости.php-5.3
--------------------
Итак, посмототрим – готовы ли вы к PHP-5.3.
- Появились новые ключевые слова: namespace , goto , Closure.
- Функции natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip() и array_unique() больше не поддерживают объекты в качестве аргументов. Если вам нужно работать с объектами – вам придется перевести их в массивы.
- Вывод var_dump теперь включает приватные члены.
- session_start возвращает false, если старт сессии потерпел неудачу.
- clearstatcache не очищает realpath cache по умолчанию
- call_user_func() теперь передает $this, даже если вызывающий – есть родительский класс
- opendir(), scandir() и dir() теперь использую умолчательный контекст, если контекст не передан им в качестве аргумента
- Добавлена нативная поддержка функций asinh(), acosh(), atanh(), log1p() и expm1().
- Stream wrappers теперь могут быть использованы как include_path()
- Магические методы get(), set(), isset(), unset() и call() теперь всегда должны быть public и больше не могут быть static; toString() больше не может принимать аргументы
- Введен новый магический метод callStatic()
- Новый параметр previous в Exception::construct()
- SplObjectStorage теперь имеет поддержку ArrayAccess. Это так же позволяет хранить ассоциативную информацию с объектами в SplObjectStorage.
- ereg-функции вызывают E_DEPRECATED , пользуйтесь PCRE
- Следующие ini-директивы вызывают E_DEPRECATED при старте
- – define_syslog_variables
- – register_globals
- – register_long_arrays
- – safe_mode
- – magic_quotes_gpc
- – magic_quotes_runtime
- – magic_quotes_sybase
- is_a() – больше не является DEPRECATED (устаревшей)
- PHP не может быть собран без PCRE, Reflection, SPL
- PHP не может быть собран без поддержки FastCGI CGI/FastCGI поддерживают php.ini-файлы в стиле .htaccess ( т.е. per-dir )
- Директивы ini-файла zend_extension_debug и zend_extension_ts заменены на zend_extension
- zend.ze1_compatibility_mode удалено и вызывает E_ERROR
- Добавлен новый пользовательский механизм инициализации и конфигурационные переменные user_ini.filename и user_ini.cache_ttl
- Специальные секции в ини-файлах
[PATH=/opt/httpd/www.example.com/] и [HOST=www.example.com].
Директивы определенные в этих секциях не могут быть переписаны пользовательскими ini-файлами
- Директива ini-файла extension теперь может принимать полные пути
- Умолчательное значение session.use_only_cookies изменено на 1
- NOWDOC – то же, что и HEREDOC, но с одинарными кавычками вокруг метки <<<'LABEL'
Статические HEREDOC-и могут быть использованы для инициализации статических переменных, членов класса или констант:
static $foo = <<<LABEL
Здесь не должно быть переменных..
LABEL;
- Долгожданный оператор ?: Запись $c= $_GET['c']?:'not set'; эквивалентна записи $c= isset($_GET['c'])?$_GET['c']:'not set';
- Долгожданные пространства имен:
namespace my\name;
$obj = new \my\name\MyClass;
- Лямбда-функции, т.е. функции, не привязанные к имени
$somefunct = function ($input) {return strtoupper($input);}
$array = array_map($somefunct, array('apple', 'lemon', 'banana'));
Новые расширения
fileinfo
intl
Phar
SQLite3
Новые Stream Wrappers
glob: * - phar:
Новые функции
Ядро:
gc_collect_cycles()
gc_enabled()
gc_enable()
gc_disable()
class_alias()
get_called_class()
forward_static_call()
forward_static_call_array()
str_getcsv()
quoted_printable_encode()
lcfirst()
Массивы:
array_replace()
array_replace_recursive()
Дата:
date_add()
date_sub()
date_diff()
date_parse_from_format()
date_create_from_format()
date_get_last_errors()
timezone_version_get()
INI:
parse_ini_string()
GMP:
gmp_testbit()
Hash:
hash_copy()
JSON:
json_last_error()
MySQLi:
mysqli_fetch_all()
mysqli_get_connection_stats()
mysqli_poll()
mysqli_reap_async_query()
Сеть:
gethostname()
header_remove()
OpenSSL:
openssl_random_pseudo_bytes()
PCNTL:
pcntl_signal_dispatch()
pcntl_sigprocmask()
pcntl_sigwaitinfo()
pcntl_sigtimedwait()
PCRE:
preg_filter()
SHM:
msg_queue_exists()
Streams:
stream_supports_lock()
stream_context_set_default()
Новые глобальные константы
Ядро:
E_DEPRECATED
E_USER_DEPRECATED
__DIR__
__NAMESPACE__
PHP_WINDOWS_VERSION_MAJOR
PHP_WINDOWS_VERSION_MINOR
PHP_WINDOWS_VERSION_BUILD
PHP_WINDOWS_VERSION_PLATFORM
PHP_WINDOWS_VERSION_SP_MAJOR
PHP_WINDOWS_VERSION_SP_MINOR
PHP_WINDOWS_VERSION_SUITEMASK
PHP_WINDOWS_VERSION_PRODUCTTYPE
PHP_WINDOWS_NT_DOMAIN_CONTROLLER
PHP_WINDOWS_NT_SERVER
PHP_WINDOWS_NT_WORKSTATION
INI:
INI_SCANNER_NORMAL
INI_SCANNER_RAW
GD:
IMG_FILTER_PIXELATE
JSON:
JSON_ERROR_NONE
JSON_ERROR_DEPTH
JSON_ERROR_STATE_MISMATCH
JSON_ERROR_CTRL_CHAR
JSON_ERROR_SYNTAX
JSON_FORCE_OBJECT
JSON_HEX_TAG
JSON_HEX_AMP
JSON_HEX_APOS
JSON_HEX_QUOT
LDAP:
LDAP_OPT_NETWORK_TIMEOUT
PCRE:
PREG_BAD_UTF8_OFFSET_ERROR
PCNTL:
SIG_BLOCK
SIG_UNBLOCK
SIG_SETMASK
SI_USER
SI_NOINFO
SI_KERNEL
SI_QUEUE
SI_TIMER
SI_MESGQ
SI_ASYNCIO
SI_SIGIO
SI_TKILL
CLD_EXITED
CLD_KILLED
CLD_DUMPED
CLD_TRAPPED
CLD_STOPPED
CLD_CONTINUED
TRAP_BRKPT
TRAP_TRACE
POLL_IN
POLL_OUT
POLL_MSG
POLL_ERR
POLL_PRI
POLL_HUP
ILL_ILLOPC
ILL_ILLOPN
ILL_ILLADR
ILL_ILLTRP
ILL_PRVOPC
ILL_PRVREG
ILL_COPROC
ILL_BADSTK
FPE_INTDIV
FPE_INTOVF
FPE_FLTDIV
FPE_FLTOVF
FPE_FLTUND
FPE_FLTRES
FPE_FLTINV
FPE_FLTSUB
SEGV_MAPERR
SEGV_ACCERR
BUS_ADRALN
BUS_ADRERR
BUS_OBJERR
Новые классы
Date:
DateInterval
DatePeriod
Phar:
Phar
PharData
PharFileInfo
PharException
SPL
SplDoublyLinkedList
SplStack
SplQueue
SplHeap
SplMinHeap
SplMaxHeap
SplPriorityQueue
SplFixedArray
FilesystemIterator
GlobIterator
RecursiveTreeIterator
MultipleIterator
Новые методы
Date:
DateTime::diff()
DateTime::add()
DateTime::sub()
DateTime::createFromFormat()
DateTime::getLastErrors()
PDO_Firebird:
PDO::setAttribute()
Reflection:
ReflectionProperty::setAccessible()
ReflectionFunction::inNamespace()
ReflectionFunction::getNamespaceName()
ReflectionFunction::getShortName()
ReflectionClass::inNamespace()
ReflectionClass::getNamespaceName()
ReflectionClass::getShortName()
XSL:
XSLTProcessor::setProfiling()
Новые константы классов
PDO_Firebird:
PDO::FB_ATTR_DATE_FORMAT
PDO::FB_ATTR_TIME_FORMAT
PDO::FB_ATTR_TIMESTAMP_FORMAT
про анонимные функции вроде ничего не сказано...
$f = function($x) {
return pow($x, 2);
};
$f(2); // 4
либо:
в php < 5.3 было function somefunc(...) {
// ...
}
set_error_handler('somefunc');
теперь можно
set_error_handler(function(... параметры ...) {
});