Max_SLON
7.03.2014 - 13:54
Написал значит на этой хренате 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
7.03.2014 - 13:59
Это делается для единого стиля данных.
Так же частенько фреймворки добавляют туда свои данные
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Цитата |
Какой вариант будет работать быстрее работать? |
По какой причине это вас волнует?
_____________
Блог ГО |
Таблица символов Юникода |
Графомания
Max_SLON
7.03.2014 - 14:09
Ответ конечно гениальный.
Но все же, если это вас не затруднит давайте посмотрим на всю "соль":
1) прыгаем от request:
а)создали объект $r класса Request и внедрили собственно его ништяг ::createFromGlobals()
б)получили данные в $login
2) прыгаем в $login и получаем данные $_POST['login']
Первый бежит по множеству проверок метода createFromGlobals() (заглянем в request.php)
Второй избегает этого множества.
Как вы думаете можно считать, что мой способ будет быстрее работать или нет?
Игорь_Vasinsky
7.03.2014 - 14:11
тыт ты считаешь что обрабатывать полученные с формы данные - не нужно?
вообще не надо так топик перекидывать с места на место. другие не поймут о чём речь.
_____________
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
7.03.2014 - 14:12
любая надстройка не может работать быстрее чистого кода
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Max_SLON
7.03.2014 - 14:13
Вот!
Пацаны спасибо! Вы меня ублажили. Да пацаны хотят меня подвесить на проект связанный с деньгами, а там нужна скорость.
И тут вот я задумался над этой их надстройкой и впал в недоумении.
DedMorozzz
7.03.2014 - 14:14
Цитата (Max_SLON @ 7.03.2014 - 13:13) |
Да пацаны хотят меня подвесить на проект связанный с деньгами, а там нужна скорость. |
Там нужна сперва надёжность, после уже скорость
А надстройки добавляют как правило защиты и упрощения работы
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Max_SLON
7.03.2014 - 14:16
Тоже верно, но разве $_POST не надежен? Ведь php это же своего рода тоже надстройка
Max_SLON
7.03.2014 - 14:29
Спасибо вам пацаны.
Буду придерживаться синтаксиса фреймворка и мозг не парить. Потом, если что, вставочки юзну надежные для скорости.
И ещё я был в трансе насчет нагрузки на сервер
Писал проект на голом 0,3% проца жарило на обращение.
Тут аж 10% проца жрет за 1 клик. Мб настройки фрейворка подбилдить, но это зверско.)
Проц Pentium Due 2400Mhz
DedMorozzz
7.03.2014 - 14:33
если пхп рассматривать как надстрйоку, тогда не надстройка это только когда Вася в руки даёт Пете деньги
Пост это всего лишь метод. Что подразумевается под надёжностью, при выборе метода передачи данных?
Вопрос в чём? Что идиоты писали фреймворк, делали кучу проверок когда есть базовая ф-я POST?
Так вот они и используют тот же пост. Только после получения приводят всё к единому виду, и более чем вероятно проводят проверки в ф-и "createFromGlobals"
Когда будешь писать сам - ты всё равно будешь проводить свои проверки. Более чем вероятно, что далеко не все. Но сколько на это потратишь времени?
Это 1. А 2 это то, что вполне возможно что-то упустишь. И в конечном итоге - разница в скорости будет не то что смешна, а вообще абсурдна
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Max_SLON
7.03.2014 - 14:40
"Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться"
Согласен.
Max_SLON
7.03.2014 - 14:47
А насчет Linux верно подмечено
В своей практике ставил пользователям CentOs и говорил, что это новая версия стабильной ветки Windows. Из добрых намерений, а то начинал уставать с их постоянными вирусами. Извините не по теме высказался, но все же
Max_SLON
7.03.2014 - 15:16
Но, все же извините, мы говорим о функции $_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 нативные дураки?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.