Речь идет даже не о трех строках а об одной $_GET['id'] и назовите хоть одну причину почему на это я должен делать какой то класс абстрагировать его в какой то метод и заменять везде в коде если это в люом случае будет усложнение запутывание и потеря производительности. Зачем вам банальное обращение к переменным функциям? Создайте класс который будет принимать имя переменной и возвращать ее занчение.? АБСУРД. Именно это мне и предлагается сделать. Значение у нас уже есть. Обратится к нему я могу зачем мне еще какой то класс? Еще одна прокладка. Не доводите ООП до абсурда. Думаю из за подобных подходов как данный мы и имеем кучу монстров которые сжирают память и ресурсы. Сайты открывающиеся по 10 секунд.
Начнем с начала что что быстрее? $a = $_GET['id'] $obj -> new get(); $a = $obj->getParam('id'); Открою секрет если до сих пор не дошло. Любые дополнительные телодвижения жрут ресурсы А если результат останется тем же то зачем платить больше? А ваш метод ничего большего не обещает. Это те же данные предварительно гоняемые по класса. Я еще реализацию класса не написал. Там можно такого нагородить...
mpak о какой скорости может идти речь если суммарная разница между оберткой и простым ображенинием 0,05 секунд, например, а запрос в базу занимает 0,5 секунд. Подумай хоть чуть чуть? Разница в 0,05 секунд на генерации каждой страницы экономит тебе 2 часа разработки ежедневно. Это 760 часов в году. Или ты по прежнему не понимаешь о чем тебе тут говорят?
И меня еще кто то обвинял что у меня код теряет производительность. По сравнению с этим у меня просто детские игрушки.
В даннос лучае это два часа потери так как мне нужно будет кучу символов писать дополнительно. Ничего не имея в замен. Приведи хоть один внятный плюс данного подхода. Слова твои похожи на рекламу какую то лажову. Наши классы совершенно бесполезны. Никто не знает что они делают. Но вы сэкономите два часа на программировании. Писать наши классы стало в два раза удобнее прошлой версии. А их красота в сиходном коде дает чувство превосходство над окружающими. Вы думаете что вы знаете что то чего не знают окружающие. Ощутите эйфорию от использования наших бесполезных классов.
Ничего не надо писать? $a = $_GET['id'] vs $obj -> new get(); $a = $obj->getParam('id'); Ты вообще адекватен? И это при том что ничего не делается. Данный класс используется просто из за Фанатического поклонения ООП. Чтобы был. Простое присвоение значения это слишком просто для нас. Мы легких путей не ищем.
mpak ты реально идиот, почитай о чём я тебе писал, прикинь... Я бы тоже мог сказать какую нить хрень типа "Ты даже не знаешь ООП нафиг ты написал $obj -> new get(); " но я же не ты, я по делу говорю... Вкурил или еще нет?
Не суть в синтаксисе. Вопрос в другом. ЗАЧЕМ? Использовать что то без принины я вообще считаю абсурдом. А данный случай именно такой. Причины зачем это делать не смог сказать ни ты ни кто то другой. Но за то как будет круто использовать подобную фенечку расписывается весь день.
Костян Я как раз хотел по этому поводу сказать, что никаких new там и в помине не будет. mpak $a = Request::get_int('id'); Намного сложнее чем $a = (int)$_GET['id'];
tommyangelo дело не только в этом... дело в абстрагировании от http запросов, благодаря чему отрываются другие возможности, основные из которых это адекватное модульное тестирование... ну о том что $a = (int)$_GET['id']; может генерировать нотис я думаю можно и не говорить, но вот можно стандартизировать возвращаемые значения как null и добавить значения по умолчанию, это тоже даёт свою гибокость, что бы не писать: $a = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$a = isset($_GET['page']) ? (int)$_GET['page'] : 1; Это кстати отдельная песня. Я встречал что то подобное и считаю это убожеством. Ты наверно ее дальше передаешь в пагер. Я прав? Если прав то я обосную свое утверждение.
ну что ж, давайте. Вот попала мне в руки либа Request от tommyangelo. И не устраивают меня в ней какие-то методы, тот же get_int. Я, допустим, хочу туда второй аргумент присобачить, который будет возвращаться в случае если такого ключа в $_GET нету. Ну я как программист средней руки беру и пишу свой класс PHP: <?php My_Request extends Request { public static function get_int($key, $default = null) { // code } } и вот у меня две проблемы: 1) во всех N киллобайтах кода захардкожен класс Request. Как мне подменить его своим классом? Хуячить по исходникам поиском и заменой? 2) раннее статическое связывание. При вызове My_Request::get_int выполнится не перегруженный метод, а оригинальный. Это статика, детка!
Обосную как у меня сделано. У меня вопервых не передается параметр номер страницы в функцию пейжера. Она и без того там доступна. Во вторых не делаю каких то преобразований номеру страницы. Так как в случае обратном ты делаешь два преобразования С наружи функции перед передачей и внутри обратную для того чтобы использовать для установки в адрес. И в третьих использования нуля в качестве первой страницы облегчает код INSERT INTO LIMIT (int)$_GET['page']*10, 10
Тут разговор зашел об экономии времени кодера, если я не ошибаюсь? И опять же, класс как раз и позволяет абстрагироваться от запроса
mpak вот тебе спросили А а ты отвечаешь Б! Причём тут страницы? Я переменную обрабатываю, это может быть и не переменная страницы... ну ты гонишь...