![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
s_a_s_h_a |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 20.7.2004 Где: Петрозаводск Репутация: нет Всего: 1 |
Здравствуйте. Предлагаю в этой теме поговорить об элегантном, красивом, оптимизированом, понятном стиле написания php-скриптов. Я совсем недавно решил разобраться с php и некоторые вещи из мануалов мне не очень понравились, но т.к. читал я не все, что уже успело написать человечество и не видел самих скриптов на php, то надеюсь, что можно писать код по-другому. И вот первый вопрос.
Работа с MySQL Если надо получить одну строчку при селект-запросе, то хотелось бы что-нибудь по типу перла:
вместо
и ещё из перла:
+ то, что переменные $p1,$p2 используются только в теле цикла. И как быть если в одном скрипте надо работать с несколькими базами данных. В перле, например, создается "указатели" на БД и можно с ними работать. А в мануале по php видел только, что устанавливается соединение и потом все функции работают с этой БД, пока соединение не будет закрыто. |
||||||
|
|||||||
Farik |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 1.2.2005 Репутация: нет Всего: 1 |
Если поле одно, то
но сама по себе функция медленная, поэтому при двух и более полях использовать не стоит Для твоей задачи следует наверное всё таки написать свой класс c реализацией метода подобного "короткого" доступа, тк ни в mysql ни в mysqli такие вещи не предусмотрены, если уж так хочется сократить саму запись, то можно попробовать так
то есть решить задачу не методами драйвера, но методами ПХП перед тем, как использовать подобный код сдоит десять раз подумать, тк он уменьшает наглядность и добавляет уйму проблем при отладке и поиске ошибок
Не очень понял... Соединение устанавливается, возвращается идентификатор. В mysql, если не указывать идентификатор в функции, будет работать с последним открытым. В mysqli требуется указание при любом использовании, но класс сам за тебя таскает идентификатор соединения. Это сообщение отредактировал(а) Farik - 4.3.2005, 10:30 |
||||||
|
|||||||
s_a_s_h_a |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 20.7.2004 Где: Петрозаводск Репутация: нет Всего: 1 |
Поясняю на примере перла, что я имел ввиду
На php что-нибудь такое возможно? Это сообщение отредактировал(а) s_a_s_h_a - 4.3.2005, 15:40 |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
s_a_s_h_a
![]() Ты хочешь работать сразу с двумя базами????? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
s_a_s_h_a |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 20.7.2004 Где: Петрозаводск Репутация: нет Всего: 1 |
Вообще нет, но чисто теоретически. Хотя что такого, если например нужны будут какие-нибудь действия с уже существующими базами, тогда буду.
|
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
s_a_s_h_a, ну так юзай свой класс.
Я вот например написал класс для работы с MySQL (впррочем кто себе еще не написал?). А потом юзай:
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А зачем открывать два соединения на одного пользователя. Это же сервер грузить будет.
Почему бы через тот же класс не сменить просто базу mysql_select_db() ?? |
|||
|
||||
yUAC |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 9.6.2004 Репутация: 3 Всего: 3 |
Мдя. Господа...
Насчет своего класса базы данных:
|
||||
|
|||||
skalex |
|
|||
![]() Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
Можно не изобретать велосипед и воспользоваться уже готовыми библиотеками.
Некоторую информацию можно получить например здесь: http://detail.phpclub.net/article/2001-03-13 |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Я просто по примеру из перла сделал. Разумеется для таких нужд можно юзать $db->selectBase(string baseName). Либо использовать несколько указателей на соединения. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |