title
Description
Body
Вот решил для убоства написать класс my_view(MySQL viewer)
Возможность одна.
Часто есть id пользователя, и надо взять одно значение с таблицы, например его логин, но делать это с помощью mysql_query, согласитесь, немного долго.
Вот я и подумал, почему бы не воспользоваться возможностями OOP?
Итак, как всё это работает:
$user=my_view('users', 1);
записываем таблицу users, и id 1
в будущем это изменяется с помощью методов id($new_id) и table($new_table).
И нам нужно его логин, который находиться в поле `login`.
Как мы делали бы без этого класса -
$r=mysql_query('SELECT `login `FROM `users` WHERE `id`=1');
$login=mysql_result($r, 0);
В конце концов мне это надоело, и этот класс делает так:
$login=$user->login;
Также можно значение установить:
$user->id(5);
$user->login='Андрей';
Ещё можно взять все поля с данным id:
print_r($user->all());
Вот. В принципе, скорости код этот не добавит(может наоборот отнимет(?)), но удобства добавит, при чём мне кажется немало.
Хотелось бы рецензию Геморроя, который бы по возможности потратил минуту на просмотр этого класса, и указал его сильные и слабые стороны, возможно рекомендации по изменению.
//тем, кому ООП в php ничего не говорит - просто не напрягайтесь
Добавлено спустя 1 минуту 9 секунд:
Вот сам файл, не понял, как прикрепить.
Отредактировано Akdmeh (2009.07.27 20:12)
Неактивен
убрал пока, переработаю ща
Неактивен
На мой взгляд если делать подобную абстракцию, то не стоит ограничиваться только mysql_query. В противном случае от замены одной только этой функции больше путаницы чем удобства прибавится. В PEAR (и не только) уже есть хорошие классы для работы с БД.
Неактивен
Понимаю, что есть Пеар, но хочется ведь своего
Добавлено спустя 1 минуту 35 секунд:
Основная задача класса - взять определённое поле с определённого id, часто надо взять логин id 5, и что бы это делать - надо долго мучаться.
Конечно. расширить можно, но как - пока нд этим думаю.
Неактивен
Вот.
Прошу посмотреть, тыкнуть, может подсказать что-то
Неактивен
Думаю, о фильтрации надо думать до того, как использовать класс.
будут ещё замечания, или что-то добавить?)
Неактивен
да я вобщем-то все сказал в 3 посте. если делать абстракцию от БД, то лучше использовать готовые решения. просто не вижу для чего нужно делать выделение отдельной функции в класс.
Неактивен