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

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

  • Verbrannt

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

    Spritz Янв. 28, 2011, 10:01 п.п., спустя 1 минуту 2 секунды

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

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

    Spritz Янв. 28, 2011, 10:01 п.п., спустя 16 секунд


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


    да
  • Verbrannt

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

    Spritz Янв. 28, 2011, 10:02 п.п., спустя 29 секунд

    уверен?
  • fgets

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

    Spritz Янв. 28, 2011, 10:04 п.п., спустя 2 минуты 31 секунду


    уверен?


    да
  • Verbrannt

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

    Spritz Янв. 28, 2011, 10:05 п.п., спустя 27 секунд

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

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

    Spritz Янв. 28, 2011, 10:06 п.п., спустя 1 минуту 23 секунды


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


    ну говори
  • Verbrannt

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

    Spritz Янв. 28, 2011, 10:08 п.п., спустя 2 минуты 11 секунд

    ну говори

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

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

    Spritz Янв. 28, 2011, 10: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, 10:26 п.п., спустя 13 минут 19 секунд

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

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

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

    Spritz Янв. 28, 2011, 11: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, 2: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() выкидывал

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