Почемуплагин вызывает ошибку




[01:15:40] [Server thread/INFO]: Loading properties and configuration…
[01:15:40] [Server thread/INFO]: Online mode has been turned off in server.properties
[01:15:40] [Server thread/INFO]: Xbox Live authentication is disabled.
[01:15:40] [Server thread/INFO]: Выбран Russian (rus) в качестве главного языка
[01:15:40] [Server thread/WARNING]: Debugging assertions are enabled, this may impact on performance. To disable them, set zend.assertions = -1 in php.ini.
[01:15:40] [Server thread/INFO]: Открытие сервера на 0.0.0.0:19132
[01:15:40] [Server thread/INFO]: LiteCore-public v1.0.1 НЕ распространяется под открытыми лицензиями, предоставляющими свободный доступ к ядру.
[01:15:40] [Server thread/INFO]: Загрузка ресурс-паков…
[01:15:41] [Server thread/INFO]: Loading (Source) Block v1
[01:15:41] [Server thread/CRITICAL]: ParseError: “syntax error, unexpected ‘array’ (T_ARRAY), expecting function (T_FUNCTION) or const (T_CONST)” (EXCEPTION) in “Blocks/src/Blok/Main” at line 13
[01:15:41] [Server thread/EMERGENCY]: Произошла фатальная ошибка и сервер вышел из строя. Создание аварийного дампа
[01:15:41] [Server thread/EMERGENCY]: Пожалуйста, загрузите файл"/storage/emulated/0/Server/MCPE/crashdumps/CrashDump_Thu_Jul_21-01.15.41-CST_2022.log" в краш-архив и отправьте ссылку на страницу исправления ошибок. Дайте как можно больше информации.

  1. Перенеси тему в «Вопросы/Обсуждения»

  2. 13 строка, измени код на:


public $ban_blocks = [7, 46];

Квадратные скобки [ ] и так означают создание массива, в таком случае не нужно указывать array.

Можно написать по другому указав array:


public $ban_blocks = array(7, 46);

Разницы в итоге нет.

это указание типа переменной, проблема не в этом

Дак в таком случае нужно написать так


public (array) $ban_blocks = [7, 46];

К примеру в c# да, переменную необходимо типизировать самому, и тип не нужно заключать в какие-либо скобки, но php это делает сам, и, не вижу смысла типизировать переменные. Тем более, ее тип, если его указывать, необходимо заключать в скобки.


Или наверное будет еще приятнее юзать settype() :slight_smile:

Да, без вопросов, это когда-нибудь да где-нибудь может понадобиться

Кто заметил отсылку к Беликову?

Я так понимаю что я поздно пришел но в 13 линии так надо сделать:

public $ban_blocks = [7, 46];

Зачем указывать что это массив если тип данных и так массив?

И совет не учись по урокам говнодима

Иди учи пхп

Он привел пример из c#

В c# переменные не объявляются знаком $

Ну не знаю, крч я сказал свое решение проблемы, дальше сами базарьте че да как

Это называется строгая типизация

Можно было прочитать выше

Я уже понял просто вставил свои 5 копеек по приколу

Молодец, array() уже давно устарел

Ой пасиба )

Я привел от туда пример только из-за того, что там необходимо указывать тип, переменной.

Кстати а зачем ставится в условии === ?

Это необязательно вводить

В пхп 8 тоже нужно указывать если в начале скрипта стоит

declare(strict_types=1);