ФорумПрограммированиеPHP для идиотов → Плохой тон

Плохой тон

  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 19:25, спустя 17 минут

    я бы предпочёл

    простой запрос, без результата, возвращает тру/фалс в случае удачного/неудачного запроса, либо объект результата/null
    $db->query("…");


    инсерт
    $db->query('insert ….');
    $id = $db->insert_id();


    количество затронутых рядов
    $db->affectedRows();


    интереснее альтернативные api:
    $res = $db->query("select …");
    $data = $res->resultRow(); // 1 строка или null
    $data = $res->resultArray($key_field); // несколько строк, массив массивов. если результат пустой - пустой массив
    $data = $res->pares($key_field, $value_field); // хэш где ключ одно поле, значение - другое


    удобство в том что resultArray, pares всегда возвращают массив, и к нему всегда можно применить foreach, т.е. не надо делать дополнительную проверку
    Спустя 175 сек.
    тип запроса определять в функции query простым ltrim -> substr -> upcase -> проверка на совпадение с INSERT, UPDATE и т.д.
    не всё полезно, что в swap полезло
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 19:51, спустя 25 минут 37 секунд

    Надо сделать жувачки "Плохой тон.." с фантиками типа: "Плохой тон это когда…" потом рисуночек, а потом "… члены класса не инициализируются в конструкторе значениями по умолчанию". А на рисуночке два примера кода - плохой и хороший.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 20:49, спустя 58 минут 2 секунды

    $data = $res->resultRow(); // 1 строка или null
    $data = $res->resultArray($key_field); // несколько строк, массив массивов. если результат пустой - пустой массив
    $data = $res->pares($key_field, $value_field); // хэш где ключ одно поле, значение - другое

    это все есть. Я именно за query волнуюсь)
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 20:50, спустя 1 минуту 15 секунд

    это как-то некрасиво.

    иногда, в статических экземплярах это необходимо
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 20:54, спустя 4 минуты 22 секунды

    $id = $db->insert_id();

    такое мне вообще не нравится.

    еще мне не нравится Statement в PDO. Ящитаю, что должно быть 2 класса - Statement & Result (как в MySQLi)
    Спустя 24 сек.
    иногда, в статических экземплярах это необходимо

    лучше такое делать в статическом классе имхо
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 22 декабря 2010 г. 21:08, спустя 14 минут 4 секунды

    $i = 10; while (i) i-=2;

    так тоже можно
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 21:12, спустя 3 минуты 56 секунд

    такое мне вообще не нравится

    why?
    не всё полезно, что в swap полезло
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 21:18, спустя 5 минут 40 секунд

    ну мне кажется, что $db не должен хранить свое предыдущее состояние/какую-то информацию о прошлом запросе. Да, понятно, что можно логировать sql-запросы, время их выполнение, но это другое.
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 21:45, спустя 27 минут 33 секунды

    Абырвалг, это как минимум рабочий вариант
    не всё полезно, что в swap полезло
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 декабря 2010 г. 22:08, спустя 22 минуты 49 секунд

    В пыхе только скаллярные значения можно так ассигнить + константы

    ну пых какбы знатное гавнище то … все вроде знают, чо удивляться?
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 декабря 2010 г. 22:20, спустя 12 минут 8 секунд

    так, стоп. А не ты ли это бушевал, когда увидел у меня
    protected $foo = array();

    и долго доказывал, что это должно быть в конструкторе?
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 22 декабря 2010 г. 23:30, спустя 1 час 9 минут 30 секунд

    нахуя нужны интерфейсы в пхп? кто нибудь даст мне вразумительный ответ?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 декабря 2010 г. 23:30, спустя 40 секунд


    нахуя нужны интерфейсы в пхп? кто нибудь даст мне вразумительный ответ?
    нахуя они нужны в других языках?
    Сапожник без сапог
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 22 декабря 2010 г. 23:36, спустя 5 минут 2 секунды



    нахуя нужны интерфейсы в пхп? кто нибудь даст мне вразумительный ответ?
    нахуя они нужны в других языках?


    чтобы сдружить несколько языков программирования, например использовать в VB COM написанный на дельфи
    Спустя 68 сек.
    Или удаленный доступ к базе данных тут тоже можно применять, но в пхп он попросту ненужен
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 декабря 2010 г. 23:38, спустя 2 минуты

    Или удаленный доступ к базе данных тут тоже можно применять, но в пхп он попросту ненужен

    чтобы сдружить несколько языков программирования, например использовать в VB COM написанный на дельфи

    ты не путаешь интерфейс с драйвером??
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!