Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/179: Рейтинг темы: голосов - 179, средняя оценка - 4.68
62 / 29 / 5
Регистрация: 20.11.2009
Сообщений: 193

Способы подключения класса...

11.03.2011, 12:59. Показов 34768. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил реализовать некоторый web интерфейс к СУБД mySql (скажем список приобретенных товаров). Мой класс - собственно занимается контролем вводимой информации, и формированием нормально форматированного вывода, обработкой ошибок, формированием запросов к БД. Но что бы иметь возможность при формировании SQL запросов использовать такие кошерные вещи как плейсхолдеры и отлов ошибок, скачал библиотеку goDB. Возник вопрос - как правильно подключить ее к своему классу, что бы можно было бы пользоваться ее методами?

Мой класс (примерно). Тут может много ошибок, так как я только начал осваивать ООП
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 class Device{
    var $device= array('id','name','type','buyDate','sealPeriod','sealExpDate','owner','outOfOrder','OutOfSeal',invNumber,serialNumber);
    
     //$name;          -Наименование устройства
     //$type;          -Тип устройства
     //$buyDate;       -Дата покупки
     //$sealPeriod;    -Гарвнтийный срок
     //$sealExpDate;   -Срок оканчания гарантии (ваще не знаю нужно ли это свойство т.к. можно вычислить)
     //$owner;         -Владелец (вот тут надо подумать с форматом, так как некоторые хз где)
     //$outOfOrder;    -Списан (boolean)
     //$outOfSeal;     -Истек гарантийный срок
     //$invNumber      -Инвентарный номер
     //$serialNumber   -Серийный номер
    
    
    
    function getDevices($device){
        
        $result = $db("SELECT * FROM 'devices' WHERE 'name'=:name?",$device); 
        $this->Device = $result;
        foreach ($this as $key){
          echo $key;  
        }
        
    }
    
    function setDevice($device){
        
        $this->Device = $device;
    }
}
Класс goDB (конструктор и ничего лишнего)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
class goDB extends mysqli implements goDBI
{
 
  /*** PUBLIC: ***/
    
    /**
     * Конструктор.
     *
     * Отличия от конструктора mysqli (http://php.net/manual/en/mysqli.connect.php):
     * 1. Исключение при ошибке подключения
     * 2. Дополнительный формат вызова: один аргумент - массив параметров
     * 3. Установка кодировки
     *
     * @link http://pyha.ru/go/godb/connect/
     *
     * @throws goDBExceptionConnect
     *         не подключиться или не выбрать базу
     *
     * @param mixed $host [optional]
     *        хост для подключения (возможен вариант "host:port")
     *        либо массив всех параметров
     * @param string $username [optional]
     *        имя пользователя mysql
     * @param string $passwd [optional]
     *        пароль пользователя mysql
     * @param string $dbname [optional]
     *        имя базы данных
     * @param int $port [optional]
     *        порт для подключения
     *        в случае указания аргументом и в строке $host используется аргумент
     * @param string $socket [optional]
     *        mysql-сокет для подключения
     */
    public function __construct($host = null, $username = null, $passwd = null, $dbname = null, $port = null, $socket = null) {       
        if (is_array($host)) {
            $config = $host;
            $fields = array(
                'host', 'username', 'passwd', 'dbname', 'port', 
                'socket', 'charset', 'debug', 'prefix',
            );
            foreach ($fields as $field) {
                $$field = isset($config[$field]) ? $config[$field] : null;
            }
            $this->setPrefix($prefix);
            $this->setDebug($debug);
        }
        if (!$port) {
            $host = explode(':', $host, 2);
            $port = empty($host[1]) ? null : $host[1];        
            $host = $host[0];       
        }
        @parent::__construct($host, $username, $passwd, $dbname, $port, $socket);
        if (mysqli_connect_errno()) {
            throw new goDBExceptionConnect(mysqli_connect_error(), mysqli_connect_errno());
        }
        if (!empty($charset)) {
            $this->set_charset($charset);
        }
    }
вариант подключения :

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
require('/../lib/godb/godb.php'); 
    
 
    $config = array(
                          'host'     => 'localhost',
                          'username' => 'hunty',
                          'password' => '123',
                          'dbname'   => 'devisedb',
                          'charset'  => 'utf-8',
                          'debug'    => true
      );
 
$db = new goDB($config);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.03.2011, 12:59
Ответы с готовыми решениями:

Подключения класса
Здравствуйте.Есть "заготовка" для плагина.Такая структура: class p_nofollow extends cmsPlugin { public function __construct(){ ...

VS1053 способы подключения
Здаров народ. Подкиньте способов подключения и скажите какой из них лучше. Слышал что можно подключить его только к МК и отсылать на...

----способы подключения интернета ?
Есть телефофоны n 95 8gb и n73 на н95 есть интернет через wi-fi соединенный к моему модему а теперь мне...

23
 Аватар для AccoRd
4 / 4 / 0
Регистрация: 19.10.2010
Сообщений: 66
05.09.2013, 22:12
Студворк — интернет-сервис помощи студентам
не то

Добавлено через 25 минут
зачем мне использовать автолоад, если у меня пхп не правильно работает, не понимаю...
и почему на одной машине работает нормально, а на другой нет тоже не понимаю...
к сожалению
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.09.2013, 00:04
Цитата Сообщение от AccoRd Посмотреть сообщение
не то
а где размещен инклуд? Подключается точно тот файл, где присутствует описание этого класса?
0
 Аватар для AccoRd
4 / 4 / 0
Регистрация: 19.10.2010
Сообщений: 66
06.09.2013, 01:58
да, с путями и подключением все хорошо, файлы на месте, имена указаны верно, названия классов тоже
поставил php 5.3.5 (то есть xampp 1.7.4) и заработало
причем с кодом не сделал ни одной манипуляции, ковырял только бэкэенд
до этого пробовал 5.4.19 (в xampp 1.8.2), 5.5.3 (в xampp 1.8.3) и 5.3.13 (в wamp server), результат был один и тот же...
в документации php ничего не вижу по поводу изменения в работе
глюк? или я что-то делаю не правильно?

Добавлено через 5 минут
думаю может попробовать установить все сервера отдельно ручками, а не сборку...
всегда ставил руками раньше, а сейчас обленился...

Добавлено через 10 минут
xampp установил не удаляя wamp, одновременно только не запускаю, конечно )
так теперь на одной машине и не работает (на wamp, как и было раньше), и работает (на xampp 1.7.4)
0
 Аватар для AccoRd
4 / 4 / 0
Регистрация: 19.10.2010
Сообщений: 66
24.09.2013, 20:19
Сразу не отписался... но лучше поздно, чем никогда
проблема на самом деле в short_tags
мое упущение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.09.2013, 20:19

Способы подключения к SQL2000
Существует ли прямой доступ обмена с SQL Server 2000 через VC++? Без всяких ODBC и OLEDB? Прямой простой способ, с помощью которого...

Какие есть способы подключения к бд в РНР?
Всем привет. Был вчера на собеседовании, меня спросили - Какие есть способы работы с БД в РНР, ну Я начал расказывать про mysql_connect,...

Edifier S730, звуковые карты и способы подключения
Доброго времени суток! Являюсь обладателем акустической системы 2.1 Edifier S730. В компьютере встроенная звуковая карта Realtek ALC892 в...

Альтернативные способы подключения TV SMART Samsung ES5500 к ПК вторым дублирующим монитором без HDMI?
Здравствуйте! Подскажите, есть ли альтернативные способы подключения TV SMART Samsung ES5500 к ПК вторым дублирующим монитором без HDMI? ...

Разные способы подключения файла, или как еще можно передать функции двумерный массив?
Программа считает сумму положительных элементов каждого столбца и сумму отрицательных элементов каждой строки. Все работает как нужно, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru