Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6787666
feat(10-basics): полный перенос теории из Python и адаптация под PHP
fey Jun 5, 2026
e1258b2
feat(20-arithmetics): полный перенос теории из Python и адаптация под…
fey Jun 5, 2026
4070331
feat(30-variables): полный перенос теории из Python и адаптация под PHP
fey Jun 5, 2026
9c8ec61
feat(25-strings): полный перенос теории из Python и адаптация под PHP
fey Jun 5, 2026
7dda441
feat(25-strings): выровнять задания уроков под сюжеты Python
fey Jun 5, 2026
df9e8bf
feat(31-advanced-strings): создание модуля, перенос теории из Python …
fey Jun 5, 2026
491a343
feat(35-calling-functions): полный перенос теории из Python и адаптац…
fey Jun 5, 2026
ecb8e21
feat(40-define-functions): полный перенос теории из Python и адаптаци…
fey Jun 5, 2026
5471cbc
feat(48-conditionals): полный перенос теории из Python и адаптация по…
fey Jun 5, 2026
b35ae41
feat(50-loops): полный перенос теории из Python и адаптация под PHP
fey Jun 5, 2026
3f90c9e
feat(33-data-types): полный перенос теории из Python и адаптация под PHP
fey Jun 5, 2026
59af4e4
feat(45-logic): полный перенос теории из Python и адаптация под PHP
fey Jun 5, 2026
92d84e7
feat(33-data-types): перенос иллюстрации number-as-string из Python в…
fey Jun 11, 2026
1cf5d51
feat(30-variables): выравнивание с Python — удаление 24-magic-constan…
fey Jun 11, 2026
669bf85
feat(20-arithmetics): выравнивание с Python — задание 45-linting и in…
fey Jun 11, 2026
ee05e47
feat(35-calling-functions): выравнивание с Python — удаление 900-stdl…
fey Jun 11, 2026
75062bd
feat(10-basics): перенумерация уроков по Python и TODO-сюжет в задани…
fey Jun 11, 2026
980ee7f
feat(48-conditionals): порядок match/switch по Python и доводка 60-te…
fey Jun 11, 2026
3dbf43b
feat(40-define-functions): порядок и префиксы уроков по Python, удале…
fey Jun 11, 2026
3951a42
feat(31-advanced-strings): перенос уроков из 60-deep-into-strings в х…
fey Jun 11, 2026
6ef98a3
feat(50-loops): порядок и задания по Python — условия в циклах до агр…
fey Jun 11, 2026
731b6dc
upd
fey Jun 17, 2026
b72ac63
upd
fey Jun 17, 2026
b2ea0bd
remove dates module
fey Jun 17, 2026
8c8a689
add hint
fey Jun 17, 2026
579a96f
update match lesson
fey Jun 17, 2026
0e9d0eb
Rename PHP solution file index.php to Solution.php
fey Jun 17, 2026
ab901b7
Добавить аннотации типов в решения и примеры после урока type-annotat…
fey Jun 17, 2026
78dec58
Подключать решение автоматически через базовый TestCase
fey Jun 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM hexletbasics/base-image

ARG PHP_VERSION=8.4
ARG PHP_VERSION=8.5

WORKDIR /exercises-php

Expand Down
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
}
],
"autoload": {
"files": [
"src/Functions.php"
]
"psr-4": {
"HexletBasics\\Exercise\\": "src/"
}
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.0",
Expand Down
5 changes: 1 addition & 4 deletions modules/10-basics/10-hello-world/SolutionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@

namespace HexletBasics\Basics\HelloWorld;

use PHPUnit\Framework\TestCase;

\HexletBasics\Functions\runScript();
use HexletBasics\Exercise\TestCase;

class SolutionTest extends TestCase
{
public function test()
{
$expected = 'Hello, World!';
$this->expectOutputString($expected);
require 'index.php';
}
}
77 changes: 60 additions & 17 deletions modules/10-basics/10-hello-world/ru/README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,85 @@
В этом уроке мы сразу напишем первую программу. Мы узнаем, какие команды понадобятся для этого и какие теги нужно использовать, чтобы программа, которая выполняет код, восприняла его. Также узнаем, зачем в коде нужны комментарии.
Изучение нового языка программирования традиционно начинается с программы 'Hello, World!'. Это простая программа, которая выводит приветствие на экран и знакомит с синтаксисом и структурой нового языка.

## Как написать простую программу
```text
Hello, World!
```

![Hello World](./assets/hello-world.png)

Check notice on line 7 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L7

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/10-hello-world/ru/README.md:7:35: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

Чтобы написать программу и вывести результат на экран, используют два способа:
Этой традиции уже больше сорока лет, и мы тоже начнем с нее. В первом уроке мы напишем программу `Hello, World!`. На PHP эта программа выглядит так:

* Через команду `echo`
* Через команду `print_r()`
```php
<?php

Разберем каждую подробнее.
print_r('Hello, World!');
```

### Пишем программу через `echo`
Строка `<?php` в начале — специальный тег, который сообщает, что дальше идет код на PHP. Подробнее о нем мы поговорим в следующем уроке.

Check notice on line 17 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L17

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/10-hello-world/ru/README.md:17:72: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

Напишем программу «Hello, World!». Она будет выводить на экран текст:
Команда `print_r()` выводит на экран текст, указанный в скобках. В конце ставится точка с запятой `;` — так в PHP завершается каждая команда. Вместо примера можно написать любой другой текст.

Check notice on line 19 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L19

Unpaired symbol: ‘'’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
modules/10-basics/10-hello-world/ru/README.md:19:58: Unpaired symbol: ‘'’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION

Check notice on line 19 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L19

Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
modules/10-basics/10-hello-world/ru/README.md:19:78: Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION

Check notice on line 19 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L19

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/10-hello-world/ru/README.md:19:145: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

```php
<?php

echo 'Hello, World!';
// => Hello, World!
print_r('Хекслет - школа программирования');

Check notice on line 24 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L24

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/10-hello-world/ru/README.md:24:32: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING
```

Команда остается той же, меняется только содержимое скобок. Чтобы программа понимала, что это именно текст, он заключается в кавычки. Можно использовать одинарные `'...'` или двойные `"..."`, но открывающая и закрывающая кавычки должны совпадать.

Check notice on line 27 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L27

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/10-hello-world/ru/README.md:27:131: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

Вывод на экран выполняется с помощью специальной команды `echo`. После нее в одиночных кавычках указывается строка для вывода. В конце обязательно ставим точку с запятой.
```php
<?php

print_r("Хекслет - школа программирования");
```

Для удобства мы будем показывать результат запуска строк кода так: `=> РЕЗУЛЬТАТ`.
В PHP принято использовать одинарные кавычки для строк. Если внутри строки есть апостроф, одинарные кавычки сломают синтаксис, поэтому в таких случаях используют двойные.

Check notice on line 35 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L35

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/10-hello-world/ru/README.md:35:312: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

### Пишем программу через `print_r()`
```php
<?php

print_r("it's PHP"); // апостроф внутри, поэтому двойные кавычки

Check notice on line 40 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L40

Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
modules/10-basics/10-hello-world/ru/README.md:40:31: Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION

Check notice on line 40 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L40

Unpaired symbol: ‘'’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
modules/10-basics/10-hello-world/ru/README.md:40:61: Unpaired symbol: ‘'’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION

Check notice on line 40 in modules/10-basics/10-hello-world/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/10-hello-world/ru/README.md#L40

Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES) URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US Category: PUNCTUATION
Raw output
modules/10-basics/10-hello-world/ru/README.md:40:70: Unpaired symbol: ‘"’ seems to be missing (EN_UNPAIRED_QUOTES)
 URL: https://languagetool.org/insights/post/punctuation-guide/#what-are-parentheses 
 Rule: https://community.languagetool.org/rule/show/EN_UNPAIRED_QUOTES?lang=en-US
 Category: PUNCTUATION
```

Другой способ вывести строку на экран — функция `print_r()`:
## Способы вывода на экран

Кроме `print_r()`, в PHP есть еще одна команда вывода — `echo`:

```php
<?php

print_r('Hello, World!');
echo 'Hello, World!';
// => Hello, World!
```

Для удобства мы будем показывать результат запуска строк кода так: `// => РЕЗУЛЬТАТ`.

В простых ситуациях между `echo` и `print_r()` нет разницы — можно использовать любую команду. А там, где на экран нужно выводить не просто числа или строки, а, например, массивы, `echo` не сможет этого сделать, а `print_r()` все выведет.

В этом случае строка указывается в скобках сразу после имени функции. В конце также нужно ставить `;`.
## Значение символов

Код состоит из команд, и каждая из них должна быть написана в определенной форме. Помимо букв, в коде важны кавычки `'` и `"`, скобки `()` и знаки препинания. Пропущенный или перепутанный знак приведет к тому, что программа не запустится. Попробуйте определить, какая ошибка допущена в каждой из строк?

```php
<?php

В простых ситуациях между этими конструкциями нет разницы. Можно использовать любой способ. А там, где на экран нужно выводить не просто числа или строки, а, например, массивы, `echo` не сможет этого сделать, а `print_r()` все выведет.
print_r("it's PHP"
print_r(it's PHP")
prin_r("it's PHP")
print_r('it's PHP")
print_r["it's PHP"];
```

Даже небольшое отличие, например одна лишняя буква или другой знак, может привести к тому, что программа не будет работать. Это относится и к регистру, то есть к различию между большими и маленькими буквами. Если в обычном тексте `Привет` и `привет` выглядят одинаково, то для программы это разные тексты. Имена функций PHP прощают разный регистр, но имена переменных и многие другие конструкции, с которыми мы встретимся дальше, — нет. Поэтому надежнее всего набирать код в точности так, как в примерах.

## Где практиковаться

Теория усваивается лучше, когда параллельно запускаешь код и видишь результат. Для этого подходит онлайн-интерпретатор PHP, где код выполняется прямо в браузере. Все, что встречается в уроке, стоит пробовать [в онлайн-интерпретаторе PHP](https://3v4l.org/).

Как это работает технически? Любой написанный код передается в интерпретатор PHP, который этот код выполняет и выводит на экран результат его работы.

```text
Код Интерпретатор Экран
┌────────────┐ ┌─────────────┐ ┌──────────────┐
│ print_r(…) │ ──→ │ PHP │ ──→ │ Hello, World!│
└────────────┘ └─────────────┘ └──────────────┘
```
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion modules/10-basics/10-hello-world/ru/data.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ name: Привет, Мир!
tips:
- >
[Немного о 'Hello,
World!'](https://ru.hexlet.io/blog/posts/moy-chelovek-menya-ponimaet-istoriya-frazy-hello-world-i-ee-analogov)
World!'](https://ru.hexlet.io/blog/posts/moy-chelovek-menya-ponimaet-istoriya-frazy-hello-world-i-ee-analogov?utm_source=code-basics&utm_medium=referral&utm_campaign=blog&utm_content=lesson)
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@

namespace HexletBasics\Basics\Tags;

use PHPUnit\Framework\TestCase;

\HexletBasics\Functions\runScript();
use HexletBasics\Exercise\TestCase;

class SolutionTest extends TestCase
{
public function test()
{
$expected = 'King in the North!';
$this->expectOutputString($expected);
require 'index.php';
}
}
3 changes: 3 additions & 0 deletions modules/10-basics/20-comments/Solution.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?php

// TODO: добавить функцию приветствия
15 changes: 15 additions & 0 deletions modules/10-basics/20-comments/SolutionTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

namespace HexletBasics\Basics\Comments;

use HexletBasics\Exercise\TestCase;

class SolutionTest extends TestCase
{
public function test()
{
$this->expectOutputString('');
$content = file_get_contents('Solution.php');
$this->assertStringContainsString('// TODO: добавить функцию приветствия', $content);
}
}
9 changes: 9 additions & 0 deletions modules/10-basics/20-comments/ru/EXERCISE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Вы пишете программу и понимаете, что одну часть нужно доделать позже. Чтобы не забыть, программисты оставляют себе заметки прямо в коде — TODO-комментарии.

Check notice on line 1 in modules/10-basics/20-comments/ru/EXERCISE.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/EXERCISE.md#L1

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/EXERCISE.md:1:196: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

Добавьте в файл такой комментарий:

```php
// TODO: добавить функцию приветствия
```

Когда вернётесь к этому месту позже, комментарий напомнит, что здесь ещё есть незавершённая работа.
77 changes: 77 additions & 0 deletions modules/10-basics/20-comments/ru/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
Кроме самого кода, в исходных файлах часто можно встретить комментарии. Это строки, которые интерпретатор не обрабатывает. Программисты пишут их, чтобы пояснить, как работает код, отметить ошибки или напомнить, что нужно доделать.

Check notice on line 1 in modules/10-basics/20-comments/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/README.md#L1

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/README.md:1:235: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

```php
<?php

// Удалить строку ниже после реализации задачи по регистрации
print_r(10);
```

Однострочные комментарии в PHP начинаются с символов `//` или `#`, после которых может идти любой текст. Все, что написано после них до конца строки, интерпретатор игнорирует.

Check notice on line 10 in modules/10-basics/20-comments/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/README.md#L10

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/README.md:10:148: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

Check notice on line 10 in modules/10-basics/20-comments/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/README.md#L10

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/README.md:10:240: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

```text
// комментарий ──→ [ пропущено интерпретатором ]

Check notice on line 13 in modules/10-basics/20-comments/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/README.md#L13

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/README.md:13:59: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING
print_r('hello'); ──→ [ выполнено → hello ]
// еще один ──→ [ пропущено интерпретатором ]
```

Комментарий может занимать всю строку:

```php

Check notice on line 20 in modules/10-basics/20-comments/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/README.md#L20

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/README.md:20:2: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING
<?php

// For Winterfell!
// For Lanisters!
```

Или стоять в конце строки с кодом:

```php
<?php

print_r('I am the King'); // For Lannisters!
```

Если нужно оставить длинное пояснение, используют несколько строк с `//`:

```php
<?php

// The night is dark and

Check notice on line 40 in modules/10-basics/20-comments/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/README.md#L40

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/README.md:40:10: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING
// full of terrors.
print_r('I am the King');
```

Для таких случаев в PHP есть и специальный вид — многострочные комментарии. Они начинаются с `/*` и заканчиваются на `*/`, а каждую строку между ними принято начинать с символа `*`:

Check notice on line 45 in modules/10-basics/20-comments/ru/README.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] modules/10-basics/20-comments/ru/README.md#L45

File types are normally capitalized. (FILE_EXTENSIONS_CASE[1]) Suggestions: `PHP` URL: https://languagetool.org/insights/post/spelling-capital-letters/ Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1 Category: CASING
Raw output
modules/10-basics/20-comments/ru/README.md:45:97: File types are normally capitalized. (FILE_EXTENSIONS_CASE[1])
 Suggestions: `PHP`
 URL: https://languagetool.org/insights/post/spelling-capital-letters/ 
 Rule: https://community.languagetool.org/rule/show/FILE_EXTENSIONS_CASE?lang=en-US&subId=1
 Category: CASING

```php
<?php

/*
* The night is dark and
* full of terrors.
*/
print_r('I am the King');
```

Интерпретатор игнорирует комментарии. Разработчики благодаря им быстрее разбираются в чужом коде и не забывают важные детали в собственном.

## Служебные комментарии

В процессе работы вы будете встречаться с таким кодом в нашем редакторе:

```php
// BEGIN

// END
```

*BEGIN* и *END* здесь это обычные комментарии, которые никак не влияют на работу программы. Они показывают, куда писать код задания.

```php
// BEGIN
<здесь ваше решение>
// END
```

Увидев *BEGIN* и *END*, пишите свой код между ними, остальное оставляйте без изменений.
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
name: Комментарии
tips: []
tips:
- >
[Подробнее о
комментариях](https://www.w3schools.com/php/php_comments.asp)
definitions:
- name: Комментарий
description: >
Expand Down
3 changes: 0 additions & 3 deletions modules/10-basics/30-comments/index.php

This file was deleted.

1 change: 0 additions & 1 deletion modules/10-basics/30-comments/ru/EXERCISE.md

This file was deleted.

28 changes: 0 additions & 28 deletions modules/10-basics/30-comments/ru/README.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@

namespace HexletBasics\Basics\Instructions;

use PHPUnit\Framework\TestCase;

\HexletBasics\Functions\runScript();
use HexletBasics\Exercise\TestCase;

class SolutionTest extends TestCase
{
public function test()
{
$expected = 'RobertStannisRenly';
$this->expectOutputString($expected);
require 'index.php';
}
}
Loading
Loading