CakePHP是一個基于MVC模式的PHP框架,使用它可以快速開發(fā)高質(zhì)量的Web應(yīng)用。其中的Model層非常強大,它不僅能夠處理數(shù)據(jù)驗證、關(guān)聯(lián)關(guān)系等常見的ORM操作,還提供了基于Query語法以及ORM的查詢方式。
在CakePHP中,我們經(jīng)常需要連接數(shù)據(jù)庫,而MySQL是CakePHP支持的主流數(shù)據(jù)庫之一。下面是連接MySQL的示例代碼:
// 在app/config/database.php里面配置數(shù)據(jù)庫連接信息 class DATABASE_CONFIG { public $default = array( 'datasource' =>'Database/Mysql', 'persistent' =>false, 'host' =>'localhost', 'login' =>'username', 'password' =>'password', 'database' =>'database_name', 'prefix' =>'', 'encoding' =>'utf8' ); public $test = array( 'datasource' =>'Database/Mysql', 'persistent' =>false, 'host' =>'localhost', 'login' =>'username', 'password' =>'password', 'database' =>'test_database_name', 'prefix' =>'', 'encoding' =>'utf8' ); }
上面的代碼連接了兩個MySQL數(shù)據(jù)庫,一個是默認的數(shù)據(jù)庫連接,另一個是供測試使用的數(shù)據(jù)庫連接。我們可以在控制器中使用如下代碼來切換要使用的數(shù)據(jù)庫連接:
class ProductsController extends AppController { public $uses = array('Product'); public $components = array('MyComponent'); public function index() { $this->Product->setDataSource('default'); // 使用默認的數(shù)據(jù)庫連接 $this->set('products', $this->Product->find('all')); $this->Product->setDataSource('test'); // 使用測試數(shù)據(jù)庫連接 $this->set('test_products', $this->Product->find('all')); } }
注意到上面的代碼中,我們使用setDataSource()方法切換要使用的數(shù)據(jù)庫連接。
總結(jié)一下,通過上面的代碼,我們可以輕松地連接MySQL數(shù)據(jù)庫,并在CakePHP的Model層中對數(shù)據(jù)進行操作。