Объектный оператор
->
При помощи объектного оператора можно получить доступ к его нестатическим свойствам, например:
$this -> свойство
Используя объектный оператор, можно как получать данные, так и вводить их:
1 class Product {
2 private $kind;
3 private $cost;
4 public function construct ($kind = ' ', $cost = 0) {
5 $this -> kind = $kind;
6 $this -> cost = $cost;
7 }
8 }
9 $a1 = new Product ('Meet', 400);
10 $b1 = $a1 -> kind;
11 $b2 = $a1 -> cost;
В приведённом примере в строках 5 и 6 свойства kind и cost получают значения, а в строках 10 и 11 переменные $b1 и $b2 получают значения этих свойств.
Подробно о псевдопеременной $this читайте в статье "Переменная $this".
Оператор управления ошибками
@
Оператор управления ошибками, установленный в начале какого либо кода, будет отключать вывод сообщений об ошибках.
Если установлена функция обработки ошибок set_error_handler(), то данный оператор не работает!
Оператор проверки типа
instanceof
Оператор проверки типа устанавливает, относится ли объект в переменной к указанному классу или наследуемому классу и возвращает либо true, либо false:
$b = $a instanceof MyClass;
Тернарный оператор
(выражение 1) ? (выражение 2) : (выражение 3)
В данном операторе если выражение 1 является true, то выполняется выражение 2, если false - выражение 3. Пример:
$a = (isset($_POST['value'])) ? $_POST['value'] : 'нет данных';
В данном выражении если значение переменной $_POST['value'] не null, переменной $a будет присвоено значение $_POST['value']; если значение переменной $_POST['value'] является null, то переменной $a будет присвоена строка 'нет данных'.
Данное выражение можно сократить:
$a = (isset($_POST['value'])) ?: 'нет данных';
Оператор объединения с null
(выражение 1) ?? (выражение 2)
Этот оператор похож на сокращённый тернарный оператор (см. выше):
$a = (isset($_POST['value'])) ?? 'нет данных';
В этом случае переменная $a точно так же получит значение $_POST['value'] если оно не null, или строку "нет данных".
Источник: официальный сайт php.net
