[Шпаргалка] История версий PHP
Периодически приходится работать с различными версиями PHP. И я постоянно забываю, что и когда можно использовать. Конечно, современные IDE подсказывают что нельзя использовать, но они не подсказывают что можно. Поэтому приходится постоянно лезть сначала в один changelog, потом в другой. В этой шпаргалке собраны воедино все фичи актуальных версий. Когда я говорю актуальных, то ссылаюсь на статистику Packagist.
5.3
- Closures
- Namespaces
- Short ternary
- Labels:
- Garbage Collector
__callStatic
- Public Magic functions __get(), __set(), __isset(), __unset(), __call()
5.4
- Traits
- Short array syntax
- Array returned by function dereferencing
- Closures $this
- Class access on creation
- Static call syntax with expressions
- Binary integers
0b0001
- Build-in WEB server
5.5
- Generators
finally
- list in foreach
- Array and string dereferencing
- Class fullname with
::class
5.6
- Constant expressions
- Constant array
- Variadic function with argument unpacking
- Exponential
**
use function
anduse const
__debugInfo
magic function
7.0
- Scalar types argument
- Return types
:type
- Null coalescing
- Spaceship operator
- Constant array using define
- Anonymous classes
- Unicode escape symbols
Closure::call($newthis)
- Grouped
use
- Generator return
yield from
intdiv
function- Throwable interface
- Variables of variables
- foreach does not change internal array point
7.1
- Nullable types
?int
void
return typeiterable
pseudo-type- Constant visibility modifiers
- List short syntax
- List key bindings
- Catching multiple exceptions types
Closure::fromCallable
7.2
- Abstract functions overloading
- Argument type extending
- Trailing commas in namespaces
object
type hint
7.3
- Flexible Heredoc
- Trailing commas in function call
JSON_THROW_ON_ERROR
is_countable
- Multibyte string improvements
7.4
- Typed properties
- Arrow functions
- Null coalescing assignment
- Scodead operator for array
- FFI
- Preloading
- Covariant returns and contravariant parameters
__serialize
,__unserialize
mb_str_split
- WeakRef
- Numeric literal separator
- Deprecate left-associative ternary operator