Опубликовано: 13 февраля 20196 г Здравствуйте. Восстанавливаю приложение, подзабил на разработку, а тут вышла 4.4. Ошибка: Whoops\Exception\ErrorException: Undefined index: ActiveGamesWidgetType (8) Функции в виджете: public function configuration( &$form=null ) { if ( $form === null ) { $form = new \IPS\Helpers\Form; } $form->add( new \IPS\Helpers\Form\Radio( 'ActiveGamesWidgetType', isset( $this->configuration['ActiveGamesWidgetType'] ) ? $this->configuration['ActiveGamesWidgetType'] : '', TRUE, array( 'options' => array( -1 => 'Лобби && Игры', 0 => 'Игры', 1 => 'Лобби', ) ) ) ); return $form; } public function render() { $games = \IPS\wc3\ActiveGames\ActiveGames::getGamelist( $this->configuration['ActiveGamesWidgetType']); return $this->output( $games } Я так понимаю, нужно ISSET добавить, но он добавлен, что не так?
Опубликовано: 11 мая 20196 г В седьмой версии появился оператор объединение с null - ??. Удобный оператор в случаях когда переменная не объявлена и надо использовать функция isset, заметно сокращает код. $ids = explode( ',', isset( $groups[ $id ] ) ? $groups[ $id ] : '' );Объединение с null $ids = explode( ',', $groups[ $id ] ?? '' ); if( !isset( $groups[ $id ] ) OR $groups[ $id ] != 2 )Объединение с null if( ( $settings[ $id ] ?? '' ) != 2 ) $games = \IPS\wc3\ActiveGames\ActiveGames::getGamelist(isset($this->configuration['ActiveGamesWidgetType']) ? $this->configuration['ActiveGamesWidgetType'] : '');Объединение с null $games = \IPS\wc3\ActiveGames\ActiveGames::getGamelist($this->configuration['ActiveGamesWidgetType'] ?? '');
Здравствуйте. Восстанавливаю приложение, подзабил на разработку, а тут вышла 4.4.
Ошибка:
Функции в виджете:
public function configuration( &$form=null ) { if ( $form === null ) { $form = new \IPS\Helpers\Form; } $form->add( new \IPS\Helpers\Form\Radio( 'ActiveGamesWidgetType', isset( $this->configuration['ActiveGamesWidgetType'] ) ? $this->configuration['ActiveGamesWidgetType'] : '', TRUE, array( 'options' => array( -1 => 'Лобби && Игры', 0 => 'Игры', 1 => 'Лобби', ) ) ) ); return $form; }public function render() { $games = \IPS\wc3\ActiveGames\ActiveGames::getGamelist( $this->configuration['ActiveGamesWidgetType']); return $this->output( $games }Я так понимаю, нужно ISSET добавить, но он добавлен, что не так?