Zend_Framework없이 Zend_Db를 사용하고 싶습니다. 젠드 프레임 워크를 사용하여 만든 기존 웹 사이트에 Zend_Db를 통합하고 싶습니다. 이처럼 Zend_Db를 사용할 수 있습니까? 당신이 좋은 튜토리얼이나 예제를 좋은 방법을 추천 해 줄 수 있습니까?젠드 프레임 워크가없는 Zend_Db
6
A
답변
10
어느 정도까지는 사용중인 웹 프레임 워크에 따라 다릅니다. 그러나 일반적으로 Zend_Db documentation은 이와 관련하여 매우 명확합니다.
부트 스트랩에 어댑터 인스턴스를 만듭니다. 예를 들어 : 당신이 Zend_Db_Table
을 사용하려는 경우
$db = Zend_Db::factory('Pdo_Mysql', array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test'
));
가, 다음이 기본 어댑터를 만들 수 있습니다 : 어떤 경우에
Zend_Db_Table::setDefaultAdapter($db);
, 당신이 액세스 할 수있는이 어댑터는 곳을 저장하는 것이 도움이 그것. 예를 들어 :
Zend_Registry::set('db', $db);
는 그런 다음 다운 스트림 코드에서,
select()
에 대한 쿼리를 만들려면이 어댑터를 사용
insert()
,
update()
,
delete()
등이 도움이
$db = Zend_Registry::get('db');
$select = $db->select()
->from('posts')
->where('cat_id = ?', $catId)
->order('date_posted DESC')
->limit(5);
$rows = $db->fetchAll($select);
희망. 건배!
0
Raw PDO를 사용하는 것보다 Zend_Db를 사용하는 것이 더 좋습니다 (IMHO). $ db Object를 생성 한 다음 Zend_Db_Select Class를 사용하여 SQL 문을 생성하고 $ select SQL 문을 fetch * (fetchRow, fetchAll ...) 메소드에 전달하십시오.
1
젠드 프레임 워크 (2) *를 들어, 어댑터를 생성하는 것 : 선택한 $에서 순수 SQL을 얻으려면,
$sql = new \Zend\Db\Sql\Sql($db);
$select = $sql->select()
->from('posts')
->where(array('cat_id' => $catId))
->order('date_posted DESC')
->limit(5);
$statement = $sql->prepareStatementForSqlObject($select);
$results = $statement->execute();
을 또는 :
$db = new \Zend\Db\Adapter\Adapter([
'driver' => 'Pdo_Mysql',
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxx',
'database' => 'test',
]);
가 선택 만들려면
$selectSql = $sql->getSqlStringForSqlObject($select);
Docs이 도움이 될 수 있습니다. TableGateway을 사용하면 더 간단해질 수 있습니다.
종합적인 답변 ... –
고맙습니다. 나는 이것을 시도 할 것이다. – user594791