[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: request vs $_POST
Max_SLON
Написал значит на этой хренате huh.gif Новостную ленту и панель администрирования (условие работы было - максимум Ajax).
В классе DefaultController я написал такую строчку, когда получал данные с index.html.twig:
$login=$_POST['login'];
Вызвали значит поговорить на собеседование.
И мне говорят, что так уже давно не делают и дальше продолжили нужно юзнуть request symfony.
Я немного задумался и ответил "Можно".
Взяли значит, но дома решил затестить cool.gif
$r = Request::createFromGlobals();
$login=$r->request->get('login');
Подумал и сделал собственно умозаключения, а смысл?
А вот собственно и вопрос. Какой вариант будет работать быстрее? rolleyes.gif
DedMorozzz
Это делается для единого стиля данных.
Так же частенько фреймворки добавляют туда свои данные

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
vasa_c
Цитата
Какой вариант будет работать быстрее работать?

По какой причине это вас волнует?

_____________
Блог ГО | Таблица символов Юникода | Графомания
Max_SLON
Ответ конечно гениальный. rolleyes.gif
Но все же, если это вас не затруднит давайте посмотрим на всю "соль":
1) прыгаем от request:
а)создали объект $r класса Request и внедрили собственно его ништяг ::createFromGlobals()
б)получили данные в $login
2) прыгаем в $login и получаем данные $_POST['login']

Первый бежит по множеству проверок метода createFromGlobals() (заглянем в request.php)
Второй избегает этого множества.

Как вы думаете можно считать, что мой способ будет быстрее работать или нет? huh.gif
Игорь_Vasinsky
тыт ты считаешь что обрабатывать полученные с формы данные - не нужно?

вообще не надо так топик перекидывать с места на место. другие не поймут о чём речь.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
DedMorozzz
любая надстройка не может работать быстрее чистого кода

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Max_SLON
Вот!
Пацаны спасибо! Вы меня ублажили. Да пацаны хотят меня подвесить на проект связанный с деньгами, а там нужна скорость.
И тут вот я задумался над этой их надстройкой и впал в недоумении.
DedMorozzz
Цитата (Max_SLON @ 7.03.2014 - 13:13)
Да пацаны хотят меня подвесить на проект связанный с деньгами, а там нужна скорость.

Там нужна сперва надёжность, после уже скорость
А надстройки добавляют как правило защиты и упрощения работы

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Max_SLON
Тоже верно, но разве $_POST не надежен? Ведь php это же своего рода тоже надстройка sad.gif
Max_SLON
Спасибо вам пацаны.
Буду придерживаться синтаксиса фреймворка и мозг не парить. Потом, если что, вставочки юзну надежные для скорости.

И ещё я был в трансе насчет нагрузки на сервер ohmy.gif
Писал проект на голом 0,3% проца жарило на обращение.
Тут аж 10% проца жрет за 1 клик. Мб настройки фрейворка подбилдить, но это зверско.)

Проц Pentium Due 2400Mhz
DedMorozzz
если пхп рассматривать как надстрйоку, тогда не надстройка это только когда Вася в руки даёт Пете деньги

Пост это всего лишь метод. Что подразумевается под надёжностью, при выборе метода передачи данных?

Вопрос в чём? Что идиоты писали фреймворк, делали кучу проверок когда есть базовая ф-я POST?

Так вот они и используют тот же пост. Только после получения приводят всё к единому виду, и более чем вероятно проводят проверки в ф-и "createFromGlobals"

Когда будешь писать сам - ты всё равно будешь проводить свои проверки. Более чем вероятно, что далеко не все. Но сколько на это потратишь времени?
Это 1. А 2 это то, что вполне возможно что-то упустишь. И в конечном итоге - разница в скорости будет не то что смешна, а вообще абсурдна

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Max_SLON
"Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться"
Согласен.
Max_SLON
А насчет Linux верно подмечено biggrin.gif
В своей практике ставил пользователям CentOs и говорил, что это новая версия стабильной ветки Windows. Из добрых намерений, а то начинал уставать с их постоянными вирусами. Извините не по теме высказался, но все же huh.gif
Max_SLON
Но, все же извините, мы говорим о функции $_POST и методе createFromGlobals(), но не о всем фрэймворке в целом.

$_POST

$HTTP_POST_VARS [deprecated]

(PHP 4 >= 4.1.0, PHP 5)
$_POST -- $HTTP_POST_VARS [deprecated] — HTTP POST variables
Description

An associative array of variables passed to the current script via the HTTP POST method.

$HTTP_POST_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_POST_VARS and $_POST are different variables and that PHP handles them as such)
Changelog

Version Description
4.1.0 Introduced $_POST that deprecated $HTTP_POST_VARS.

Example #1 $_POST example

<?php
echo 'Hello ' . htmlspecialchars($_POST["name"]) . '!';
?>

И метод Symfony
public static function createFromGlobals()
{
$request = self::createRequestFromFactory($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);

if (0 === strpos($request->headers->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded')
&& in_array(strtoupper($request->server->get('REQUEST_METHOD', 'GET')), array('PUT', 'DELETE', 'PATCH'))
) {
parse_str($request->getContent(), $data);
$request->request = new ParameterBag($data);
}

return $request;
}

Мы с вами можем утверждать, что разработчики php нативные дураки?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.