powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Оптимальный подход
16 сообщений из 16, страница 1 из 1
(PHP) Оптимальный подход
    #33373607
Фотография Viktor Bartel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Хотел бы поделится своими сомнениями со знающими людьми. В своих проектах для подключения и обработки информации в базах данныx я использую объектно ориентированный подход. Т.е. у меня есть некий класс php_mysql_in у которого есть стандартные методы такие как:
open(dbname, username, password, <etc>) - открыть соединение
close() - закрыть соединение
query(sql_query) - запустить запрос
fetchAssoc() - извлечение результатов запроса

ну и соответственно есть и конструктор/деструктор класса :).

Насколько оптимально использовать такой класс? Например если я использую сразу несколько экземпляров данного класса на одной странице получаю следующее:

создать экземпляр класса
открыть бд
запрос
печать результата на веб странице
закрыть бд
уничтожить экземпляр класса
.....
и так несколько раз

Оптимальный ли это подход? Может быть кто то знает другое более оптимальное решение ?

Заранее вам благодарен.
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33373640
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
http://rsdn.ru/article/philosophy/Optimization.xml
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33373641
sas2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не оптимален,
сделаешь так 10 раз коннект дисконнект на каждой странице и сервак у хостера завалится...

делай 1 коннект, потом выполняй со своим классом все что угодно, а в конце скрипта дисконнект, или вообще дисконнект не делай, он и так отвалится,
а вот если нужно к 2-м разным базам, тогда естественно 2 коннекта, и передаешь link на конкретное соединение в каждом запросе
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33373643
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
А зачем вообще создавать несколько экземпляров класса, когда можно пользоваться одним?
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374254
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Экземпляр класса php_mysql_in следует создавать в начале работы скрипта уничтожать только непосредственно перед возвратом результата клиенту.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374263
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и используй mysql_pconnect
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374298
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Viktor Bartel
Если вы сможете правильно ответить на вопрос господина звездочки, то вы поймете, что недопонимаете ООП.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374303
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
maXmoи используй mysql_pconnect Зачем?
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374363
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там написано, при этом будет меньше актов коннекта к базе. В идеале - один (навсегда).
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374495
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoтам написано, при этом будет меньше актов коннекта к базе. В идеале - один (навсегда).
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm

Не так, один - это если один клиент будет в 1 момент времени и не больше. И они не постоянно висят, просто ждут некоторое время, если будут желающие поработать - подключаться, не будет таких - умрет.
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374684
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
maXmoтам написано, при этом будет меньше актов коннекта к базе. В идеале - один (навсегда).А вы не читали там же , почему их лучше никогда не использовать? Ну так почитайте на досуге.
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374757
Фотография Viktor Bartel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*А зачем вообще создавать несколько экземпляров класса, когда можно пользоваться одним?
Хорошо я с вами согласен, но как например сделать следующее:
1. Я создаю экземпляр класса php_mysql_in при вызове модуля module1.php
2. Класс открывает подключение к базе данных.

Я использую модуль function.php что бы "хранить" функции проекта.
Допустим там имеется функция prntTable1() как передать ей ссылку на экземпляр вышесозданного класса php_mysql_in что бы не создавать новый экзепляр класса внутри даной функции, ведь насколько я знаю понятие pointer в php сильно искажено? Как это сделать в php.

Те структура проекта примерно такова:

module1.php
|
|call function
|
function.php
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374892
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Viktor BartelДопустим там имеется функция prntTable1() как передать ей ссылку на экземпляр вышесозданного класса php_mysql_in что бы не создавать новый экзепляр класса внутри даной функции, ведь насколько я знаю понятие pointer в php сильно искажено? Как это сделать в php.Вот видите, как оказывается на самом деле должен был звучать ваш вопрос :)
Читайте раздел Ссылки для начала. Не поймёте - спросите, что не поняли.
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33374903
Фотография Viktor Bartel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я понял, но я не знал как правильно сформулировать вопрос, и именно вы, и именно в ходе этой дискуссии мне это удалось.
Спасибо большое я сейчас посмотрю.
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33379709
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*А вы не читали там же , почему их лучше никогда не использовать? Ну так почитайте на досуге.креатифф не про то, почему их лучше никогда не использовать, а про то, как это работает и про возможные косяки. Не более.
...
Рейтинг: 0 / 0
(PHP) Оптимальный подход
    #33385804
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo *А вы не читали там же , почему их лучше никогда не использовать? Ну так почитайте на досуге.креатифф не про то, почему их лучше никогда не использовать, а про то, как это работает и про возможные косяки. Не более.

Более того, допустим в Oracle создание коннекции - трудоемкая задача, создается серверный процесс с памятью PGA. Для web-приложений варианта два - pconnect или режим Shared Server
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Оптимальный подход
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]