Как расширить функции MySQL в мой собственный класс БД? - PullRequest
1 голос
/ 31 января 2012

У меня есть свой собственный класс db, в котором есть некоторые встроенные функции, которые я использую.

Я хотел бы также включить все стандартные функции mysql в этот класс, чтобы я мог эффективно использовать инкапсуляцию.Вместо того, чтобы обрабатывать данные в объекте, а затем обрабатывать его, используя некоторые внешние функции для этого объекта класса.

Мне бы хотелось, чтобы все общие функции, например,

mysql_num_rows (), mysql_fetch_object (), mysql_fetch_assoc ()

Таким образом, результат будет:

например,

$rows = $db->mysql_num_rows($result);

Вместо выполнения

$rows = mysql_num_rows($result);

Я предполагаюстандартные функции mysql принадлежат к классу в PHP где-то.Однако я не смог найти документацию по этому поводу.

Так что было бы здорово, если бы вы указали мне правильное направление для этого

Ответы [ 3 ]

1 голос
/ 31 января 2012

ммм .. как насчет создания функций с тем же именем в вашем классе и последующего вызова из него стандартных функций MySQL.Например, что-то вроде:

class Db {
    function mysql_num_rows($result) {
        return mysql_num_rows($result);
    }
}
1 голос
/ 31 января 2012

Напишите стандартные функции внутри ваших функций и используйте их

      function yourFunction(){
      //standardFuncton
      }
1 голос
/ 31 января 2012

На самом деле, «стандартные» функции MySQL, на которые вы ссылаетесь, должны быть объявлены устаревшими в будущем выпуске PHP (взято из http://www.php.net/manual/en/mysqlinfo.api.choosing.php, выделение):

Рекомендуетсяиспользуйте расширения mysqli или PDO_MySQL. Не рекомендуется использовать старое расширение mysql для новой разработки.

Даже функции mysqli_ * - это просто функции, являющиеся частью ядра PHP, но непринадлежат к любому классу.Если вы ищете объектно-ориентированный подход, PDO_MySQL - это то, что вам нужно.

...