Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 21.11.2019 05:34:14

Помогите исправить элементарную ошибку

Уже глаза слипаются...
Имеем такую ошибку "Parse error: syntax error, unexpected '.', expecting '&' or T_VARIABLE in Z:\home\zhdperevozki.ru\www\wp-includes\functions.php on line 1059"
Что не так в этой проклятой 1059 (САМОЙ ПЕРВОЙ) строке??

Вот код:

function add_query_arg( ...$args ) {
	if ( is_array( $args[0] ) ) {
		if ( count( $args ) < 2 || false === $args[1] ) {
			$uri = $_SERVER['REQUEST_URI'];
		} else {
			$uri = $args[1];
		}
	} else {
		if ( count( $args ) < 3 || false === $args[2] ) {
			$uri = $_SERVER['REQUEST_URI'];
		} else {
			$uri = $args[2];
		}
	}

	$frag = strstr( $uri, '#' );
	if ( $frag ) {
		$uri = substr( $uri, 0, -strlen( $frag ) );
	} else {
		$frag = '';
	}

	if ( 0 === stripos( $uri, 'http://' ) ) {
		$protocol = 'http://';
		$uri      = substr( $uri, 7 );
	} elseif ( 0 === stripos( $uri, 'https://' ) ) {
		$protocol = 'https://';
		$uri      = substr( $uri, 8 );
	} else {
		$protocol = '';
	}

	if ( strpos( $uri, '?' ) !== false ) {
		list( $base, $query ) = explode( '?', $uri, 2 );
		$base                .= '?';
	} elseif ( $protocol || strpos( $uri, '=' ) === false ) {
		$base  = $uri . '?';
		$query = '';
	} else {
		$base  = '';
		$query = $uri;
	}

	wp_parse_str( $query, $qs );
	$qs = urlencode_deep( $qs ); // this re-URL-encodes things that were already in the query string
	if ( is_array( $args[0] ) ) {
		foreach ( $args[0] as $k => $v ) {
			$qs[ $k ] = $v;
		}
	} else {
		$qs[ $args[0] ] = $args[1];
	}

	foreach ( $qs as $k => $v ) {
		if ( $v === false ) {
			unset( $qs[ $k ] );
		}
	}

	$ret = build_query( $qs );
	$ret = trim( $ret, '?' );
	$ret = preg_replace( '#=(&|$)#', '$1', $ret );
	$ret = $protocol . $base . $ret . $frag;
	$ret = rtrim( $ret, '?' );
	return $ret;
}

Заранее огромное спасибо!:D

Не в сети

#2 21.11.2019 08:45:57

Re: Помогите исправить элементарную ошибку

function add_query_arg( ...$args ) { - это правильно написано?

Не в сети

#3 25.11.2019 23:05:24

Re: Помогите исправить элементарную ошибку

В том то и дело, что я не знаю. Поэтому и спрашиваю.:(

Не в сети

#4 05.12.2019 16:13:19

Re: Помогите исправить элементарную ошибку

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

Не в сети

#5 11.12.2019 15:10:36

Re: Помогите исправить элементарную ошибку

три точки это сприды от рнр 7.4
если рнр версии ниже - работать не будет.

старайтесь не гнаться за технологическими новшествами.
а) устанете
б) они часто транформируются в первые патчи.

Не в сети

#6 12.12.2019 11:06:31

Re: Помогите исправить элементарную ошибку

три точки это сприды от рнр 7.4если рнр версии ниже - работать не будет.

это в 5.6 завезли https://www.php.net/manual/ru/functions … e-arg-list
а в 7.4 такой синтаксис для распаковки массивов

Не в сети

Подвал раздела