// это база это знать надо
<?php echo 'hello World'; ?>Переменные и значения
$x = 1;
$y = $x; // присвоили значение и забыли
$y = &$x; // присвоили по ссылке
$x = 3; // в таком случае и у = 3, ссылка же
$foo = 'bar';
$$foo = 'baz'; // создаст переменную $bar на основе значения переменной $foo
echo $foo, $bar; // barbaz
echo $foo, $$foo; // barbaz
echo "$foo, ${$foo}"; // barbazВывод переменных
$name = 'Alex';
echo 'Hi, $name'; // Hi, $name - в одинарных выводится только сам текст
echo "Hi, $name"; // Hi, Alex - в двойных уже как надо
echo "Hi, {$name}"; // Hi, Alex - так тоже можно
echo "Hi, " . $name; // Hi, Alex - ну или даже такКонстанта
define('STATUS_PAID','value');
echo STATUS_PAID; // да, без $
echo defined('STATUS_PAID'); // проверить есть ли константа, вернет true если да
const STATUS_PAID = value; // второй вариант определения константы
// динамическое определение константы
$name = 'NAME';
define('STATUS_' . $name, 'value');
echo STATUS_NAME; #будет корректно работатьПринципиальная разница в том что определение через const нельзя делать внутри циклов или if/else конструкций. define можно.
Магические штуки
| __LINE__ | Текущий номер строки файла. |
| __FILE__ | Полный путь и имя файла с учётом символических ссылок. Если используется внутри включения, возвращается имя включённого файла. |
| __DIR__ | Каталог файла. Если используется внутри включения, возвращается каталог включаемого файла. Это эквивалентно dirname(__FILE__). В названии этого каталога нет завершающей косой черты, если только это не корневой каталог. |
| __FUNCTION__ | Имя функции или {closure} для анонимных функций. |
| __CLASS__ | Имя класса. Имя класса включает пространство имён, в котором он был объявлен (например, Foo\Bar). При использовании внутри метода признака __CLASS__ — это имя класса, в котором используется признак. |
| __TRAIT__ | Имя признака. Имя признака включает пространство имён, в котором он был объявлен (например, Foo\Bar). |
| __METHOD__ | Имя метода класса. |
| __PROPERTY__ | Допустимо только внутри хука свойства. Он равен имени свойства. |
| __NAMESPACE__ | Имя текущего пространства имен. |
| ClassName::class | Полное имя класса. |