Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как провернуть такое на PHP? (https://javascript.ru/forum/offtopic/46388-kak-provernut-takoe-na-php.html)

Maxmaxmaximus20 08.04.2014 12:55

Как провернуть такое на PHP?
 
$method = $_REQUEST['method'] || 'ololo';

Maxmaxmaximus20 08.04.2014 12:56

if (isset($_REQUEST['method'])) {
    $method = $_REQUEST['method'];
} else {
    $method = 'ololo';
}


$method = isset($_REQUEST['method']) ? $_REQUEST['method'] : 'ololo';


это слишком жуткие варианты

Octane 08.04.2014 14:38

$method = @ ($_REQUEST['method'] ?: 'ololo');

Maxmaxmaximus20 08.04.2014 16:20

?: это я так понимаю сокращенная версия тернарного оператора?
круто же)

q ?: 11
аналог
q?q:11


вопрос

q()?:11

вызовет q() 2 раза?

Maxmaxmaximus20 08.04.2014 16:23

ан нет) не плохо)

ruslan_mart 08.04.2014 17:13

Цитата:

Сообщение от Octane
$_REQUEST['method'] ?: 'ololo'

Работает, только вот Dreamweaver ругается.

kobezzza 08.04.2014 17:23

Цитата:

Сообщение от Ruslan_xDD (Сообщение 306764)
Работает, только вот Dreamweaver ругается.

Адоб очень тормознуто добавляет поддержку новых фишек в Дрим, увы, юзай PHPStorm:)

Gozar 08.04.2014 20:04

Цитата:

Сообщение от Maxmaxmaximus20
$_REQUEST

1. Очень дурная практика ...
2.
function _clear($e, $num=100) {
	$e = isset($_POST[$e])?$_POST[$e]:'';
	$e = trim($e);
	$e = substr($e,0,$num);
	$e = htmlspecialchars($e);
	return $e;
}

$method = _clear('method');
$property = _clear('property');
$id = _clear('id');
...

3. Ненужную проверку можно выбросить из _clear.

Maxmaxmaximus20 08.04.2014 21:45

да нее, чистить данные то это дело второстепенное, я про конструкцию языка спрашивал скорее.

у меня код роутера api.php примерно так выглядит

<?php

/**
 * Отправляет пользователю данные и завершает скрипт
 *
 * @param $data         *       Данные которые отправляем клиенту
 * @param $errorCode    int     Код ошибки
 */
function send($data, $errorCode = 0) {

	static $api_error_messages = array(
		0 => 'Нет ошибки',
		1 => 'Текст ошибки номер 1',
		2 => 'Текст ошибки номер 2',
		3 => 'Текст ошибки номер 3',
		4 => 'Текст ошибки номер 4',
		5 => 'Текст ошибки номер 5'
	);


	echo json_encode(array(
		'data'         => $data,
		'errorCode'    => $errorCode,
		'errorMessage' => $api_error_messages[ $errorCode ],
	));

	exit;
}


/**
 * Отправляет пользователю ошибку
 *
 * @param $errorCode int Код ошибки
 */
function error($errorCode) {
	send(null, $errorCode);
}


/** Данные запроса @global array */
$REQUEST = (array)json_decode(file_get_contents("php://input"));
/** Метод @global string */
$METHOD = $REQUEST['method'];
/** Данные метода @global array */
$DATA = $REQUEST['data'];

Gozar 08.04.2014 21:51

Цитата:

Сообщение от Maxmaxmaximus20
чистить данные то это дело второстепенное

Отказываюсь понимать!


Часовой пояс GMT +3, время: 19:53.