ФорумПрограммированиеPHP для идиотов → ZendFramework - правильное подключение к бд через ZendDB

ZendFramework - правильное подключение к бд через ZendDB

  • Verbrannt

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:01, спустя 1 минуту 2 секунды

    просто так захотелось, так лучше и удобнее, сказать почему так лучше и удобнее?
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:01, спустя 16 секунд


    просто так захотелось, так лучше и удобнее, сказать почему так лучше и удобнее?


    да
  • Verbrannt

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:02, спустя 29 секунд

    уверен?
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:04, спустя 2 минуты 31 секунду


    уверен?


    да
  • Verbrannt

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:05, спустя 27 секунд

    ок, тогда скажи когда будешь готов
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:06, спустя 1 минуту 23 секунды


    ок, тогда скажи когда будешь готов


    ну говори
  • Verbrannt

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:08, спустя 2 минуты 11 секунд

    ну говори

    просто там $config = $this->config, а почему так я хз, это я пример с какого-то сайта взял…
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:13, спустя 4 минуты 24 секунды

    сделал такой код:

    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
    protected function connect()
    {
    $options = array(
    'host' => $config->mydb->host,
    'username' => $config->mydb->username,
    'password' => $config->mydb->password,
    'dbname' => $config->mydb->dbname
    );

    try {
    $db = Zend_Db::factory($config->mydb->adapter, $options);
    $db->getConnection();
    } catch (Zend_Db_Adapter_Exception $e) {
    die('Ошибка соединения с базой данных');
    } catch (Zend_Exception $e) {
    die('Не удалось прочитать класс баз данных');
    }

    Zend_Registry::set('db', $db);
    }
    }
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 января 2011 г. 14:26, спустя 13 минут 19 секунд

    Не удалось прочитать класс баз данных

    )))
    Спустя 233 сек.
    всё идите все нахуй
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 28 января 2011 г. 15:06, спустя 40 минут 12 секунд

    fgets, а ты полностью ZF используешь или Zend_Db только?

    Если полностью ZF используешь, то можешь указать параметры в файле настроек (чаще всего это application/configs/application.yml). Выглядят настройки так (для .yml):

    production:
       resources:
           db:
               adapter: PDO_MYSQL
               params:
                   host: localhost
                   dbname: dbname
                   username: root
                   password: passhere
                   charset: utf8


    Или так если используешь .ini


    [production]
    ; …

    resources.db.adapter = "PDO_MYSQL"
    resources.db.params.host = "localhost"
    resources.db.params.username = "root"
    resources.db.params.password = "pass"
    resources.db.params.dbname = "somedb"
    resources.db.params.charset = "UTF8"

    ; …


    Если ты используешь Zend_Db отдельно, то


    $db = new Zend_Db_Adapter_Pdo_Mysql(array(
       'host'        => '127.0.0.1',
       'username' => 'webuser',
       'password' => 'xxxxxxxx',
       'dbname'   => 'test'
    ));


    Все, что я сказал, с вероятностью более 48% есть здесь - http://framework.zend.com/manual/en/zend.db.adapter.html
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 29 января 2011 г. 6:20, спустя 15 часов 13 минут 28 секунд

    try {
    $db = Zend_Db::factory($config->mydb->adapter, $options);
    $db->getConnection();
    } catch (Zend_Db_Adapter_Exception $e) {
    die('Ошибка соединения с базой данных');
    } catch (Zend_Exception $e) {
    die('Не удалось прочитать класс баз данных');
    }


    Не удалось прочитать класс баз данных

    )))

    ну ты бы хоть в кетче $e->getMessage() выкидывал

Пожалуйста, авторизуйтесь, чтобы написать комментарий!