Akdmeh » 2009.07.27 18:10 |
Вот решил для убоства написать класс 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 секунд: Вот сам файл, не понял, как прикрепить. ::thumb229:: |
Akdmeh » 2009.07.27 20:12 |
убрал пока, переработаю ща |
Gemorroj » 2009.07.28 05:18 |
На мой взгляд если делать подобную абстракцию, то не стоит ограничиваться только mysql_query. В противном случае от замены одной только этой функции больше путаницы чем удобства прибавится. В PEAR (и не только) уже есть хорошие классы для работы с БД. |
Akdmeh » 2009.07.28 06:49 |
Понимаю, что есть Пеар, но хочется ведь своего;) Добавлено спустя 1 минуту 35 секунд: Основная задача класса - взять определённое поле с определённого id, часто надо взять логин id 5, и что бы это делать - надо долго мучаться. Конечно. расширить можно, но как - пока нд этим думаю. |
Akdmeh » 2009.07.28 09:43 |
Вот. Прошу посмотреть, тыкнуть, может подсказать что-то;) |
Gemorroj » 2009.07.28 14:54 |
ну фильтровать переменные наверное следует. |
Akdmeh » 2009.07.28 15:13 |
Думаю, о фильтрации надо думать до того, как использовать класс. будут ещё замечания, или что-то добавить?) |
Gemorroj » 2009.07.28 15:19 |
да я вобщем-то все сказал в 3 посте. если делать абстракцию от БД, то лучше использовать готовые решения. просто не вижу для чего нужно делать выделение отдельной функции в класс. |
Akdmeh » 2009.07.28 16:39 |
Ясн) |