syntax error, unexpected 'if' (T_IF), expecting ']'

228
29 июня 2018, 14:50

помогите пожалуйста с ошибкой:

syntax error, unexpected 'if' (T_IF), expecting ']'
1. in /var/www/u0498223/public_html/coinfactory.pw/views/layouts/main.php at line 53
44                                    <?
45                     $menuItems = array_filter([
46                         // Important: you need to specify url as 'controller/action',
47                         // not just as 'controller' even if default action is used.
48                         ['label' => 'Главная', 'url' => ['/site/index'], 'options' => ['class' => 'menu-item',]],
49                         ['label' => 'О Нас', 'url' => ['/site/about'], 'options' => ['class' => 'menu-item',]],
50                         ['label' => 'Контакты', 'url' => ['/site/contact'], 'options' => ['class' => 'menu-item',]],
51                         Yii::$app->user->isGuest ? '': ['label' => 'Кабинет', 'url' => ['/cabinet/index'], 'options' => ['class' => 'menu-item',]],
52                         Yii::$app->user->isGuest ? '': ['label' => 'Партнёрам', 'url' => ['/partner/index'], 'options' => ['class' => 'menu-item',]],
53                         if (Yii::$app->user->isGuest):
54                             ['label' => 'Регистрация', 'url' => ['/user/reg'], 'options' => ['class' => 'menu-item']];
55                             ['label' => 'Войти', 'url' => ['/user/login'], 'options' => ['class' => 'menu-item']];
56                         else:
57                             ['label' => 'Выйти ('.Yii::$app->user->identity['username'].')',
58                              'url' => ['/user/logout'],
59                              'template' => '<a href="{url}", data-method="post">{label}</a>',
60                              'options' => ['class' => 'menu-item',],
61                              'linkOptions' => ['data-method' => 'post']
62                             ];

2. yii\base\ErrorHandler::handleFatalError()

Совсем не вижу не правильно поставленные скобки.

44 <?
45 $menuItems = array_filter([
46 // Important: you need to specify url as 'controller/action',
47 // not just as 'controller' even if default action is used.
48 ['label' => 'Главная', 'url' => ['/site/index'], 'options' => ['class' => 'menu-item',]],
49 ['label' => 'О Нас', 'url' => ['/site/about'], 'options' => ['class' => 'menu-item',]],
50 ['label' => 'Контакты', 'url' => ['/site/contact'], 'options' => ['class' => 'menu-item',]],
51 Yii::$app->user->isGuest ? '': ['label' => 'Кабинет', 'url' => ['/cabinet/index'], 'options' => ['class' => 'menu-item',]],
52 Yii::$app->user->isGuest ? '': ['label' => 'Партнёрам', 'url' => ['/partner/index'], 'options' => ['class' => 'menu-item',]],
53 if (Yii::$app->user->isGuest):
54    ['label' => 'Регистрация', 'url' => ['/user/reg'], 'options' => ['class' => 'menu-item']];
55    ['label' => 'Войти', 'url' => ['/user/login'], 'options' => ['class' => 'menu-item']];
56 else:
57    ['label' => 'Выйти ('.Yii::$app->user->identity['username'].')',
58    'url' => ['/user/logout'],
59    'template' => '<a href="{url}", data-method="post">{label}</a>',
60    'options' => ['class' => 'menu-item',],
61    'linkOptions' => ['data-method' => 'post']
62    ];
63 endif;
64 ]);
65 echo Menu::widget([
66 'items' => $menuItems,
67 'options' => ['class' => 'reset', 'role' => 'navigation'],
68
69 ]);
70 ?>
Answer 1

А если бы форматировали код правильно, то все было бы видно

$menuItems = array_filter([
  // Important: you need to specify url as 'controller/action',
  // not just as 'controller' even if default action is used.
  $menuItems[] = [
    'label' => 'Главная',
    'url' => ['/site/index'],
    'options' => ['class' => 'menu-item',]
  ],
  $menuItems[] = [
    'label' => 'О Нас',
     'url' => ['/site/about'],
     'options' => ['class' => 'menu-item',]
  ],
  $menuItems[] = [
    'label' => 'Контакты',
    'url' => ['/site/contact'],
    'options' => ['class' => 'menu-item',]
  ],
  Yii::$app->user->isGuest ? '': $menuItems[] = [
    'label' => 'Кабинет',
    'url' => ['/cabinet/index'],
    'options' => ['class' => 'menu-item',]
  ],
  Yii::$app->user->isGuest ? '': $menuItems[] = [
    'label' => 'Партнёрам',
    'url' => ['/partner/index'],
    'options' => ['class' => 'menu-item',]
  ],
// ???? где завершение array_filter([
if (Yii::$app->user->isGuest):
  $menuItems[] = [
    'label' => 'Регистрация',
    'url' => ['/user/reg'],
    'options' => ['class' => 'menu-item']
  ];
  $menuItems[] = [
    'label' => 'Войти',
    'url' => ['/user/login'],
    'options' => ['class' => 'menu-item']
  ];
else:

Ну и конструкция

$menuItems = array_filter([
  $menuItems[] = [...],
  $menuItems[] = [...],
  ....

Вызывает отдельные вопросы. Что заставило вас так писать?

READ ALSO
Как реализовать так header?

Как реализовать так header?

как можно вставить и подтянуть элемент влево

222
Все mysql запросы в одном файле php. Правильно ли?

Все mysql запросы в одном файле php. Правильно ли?

Обычно, я прописываю все необходимые запросы в одном файле - functionsphp

258
Не приходит url запрос

Не приходит url запрос

У меня есть скрипт проверки оплатыВ случаи успешной проверки должно прийти сообщение на e-mail

210
Как работать с gulp на хостинге

Как работать с gulp на хостинге

Я загрузил сайт на laravel на хостинг через ftp, но у меня там много вещей сделанных во vueРанее, чтобы эти вещи обновлять, мне приходилось прописывать...

183