---

name: Что такое переменная
theory: |

  Представьте себе задачу: нам нужно напечатать на экран фразу _Father!_ два раза или даже пять раз. Эту задачу можно решить в лоб:

  ```php
  <?php

  print_r('Father!');
  print_r('Father!');
  ```

  В простейшем случае так и стоит поступить, но если фраза _Father!_ начнет использоваться чаще, да ещё и в разных частях программы, то придётся её везде повторять. Проблемы с таким подходом начнутся тогда, когда понадобится изменить нашу фразу, а такое происходит довольно часто. Нам придётся найти все места, где использовалась фраза _Father!_ и выполнить необходимую замену. А можно поступить по-другому. Вместо копирования нашего выражения достаточно создать переменную с этой фразой.

  ```php
  <?php

  // greeting - переводится как приветствие
  $greeting = 'Father!';
  print_r($greeting);
  print_r("\n");
  print_r($greeting);
  ```

  В строчке `$greeting = 'Father!'` - происходит присваивание значения `'Father!'` переменной с именем `$greeting`. В PHP имена переменных начинаются со знака *$*. В итоге переменная указывает на данные, которые были в неё записаны.

  Когда переменная создана, можно начать её использовать. Она подставляется в те места, где раньше стояла наша фраза. Во время выполнения интерпретатор (программа, которая выполняет код на PHP), доходит до строчки `print_r($greeting);` и подставляет вместо переменной её содержимое, а затем выполняет код. В результате вывод нашей программы будет таким:

  <pre class='hexlet-basics-output'>
    Father!
    Father!
  </pre>

  Для имени переменной используется любой набор допустимых символов, к которым относятся буквы английского алфавита, цифры, знак `_`. При этом цифру нельзя ставить в начале. Имена переменных регистрозависимы, то есть имя `hello` и имя `heLLo` - это два разных имени, а значит и две переменные. Регистр в PHP имеет важное значение, никогда не забывайте про него.

  Количество создаваемых переменных никак не ограничено, большие программы содержат десятки и сотни тысяч имен переменных:

  ```php
  <?php

  $greeting1 = 'Father!';
  print_r($greeting1);
  print_r($greeting1);

  $greeting2 = 'Mother!';
  print_r($greeting2);
  print_r($greeting2);
  ```

  Для удобства анализа программы переменные принято создавать как можно ближе к тому месту, где они используются.

instructions: |

  Создайте переменную с именем `$motto` и содержимым `What Is Dead May Never Die!`. Распечатайте содержимое переменной.

tips: []

definitions:
  - name: Переменная
    description: способ сохранить информацию и дать ей имя для последующего использования в коде.
