3.9 DataSources
DataSources são o link entre modelos e a fonte de dados que os modelos representam. Em muitos casos, os dados são obtidos de um banco de dados relacional como MySQL, PostgreSQL ou MSSQL. CakePHP é distribuido com diversos datasources específcios de banco de dados (veja o arquivo da classe dbo_* em cake/libs/model/datasources/dbo/), um resumo de cada está listado aqui por conveniência:
- dbo_adodb.php
- dbo_db2.php
- dbo_firebird.php
- dbo_mssql.php
- dbo_mysql.php
- dbo_mysqli.php
- dbo_odbc.php
- dbo_oracle.php
- dbo_postgres.php
- dbo_sqlite.php
- dbo_sybase.php
Ao especificar uma configuração de conexão com o banco de dados, em app/config/database.php, CakePHP usa o datasource de banco de dados correspondente para uma operação de modelo. Então, mesmo que você não soubia sobre datasource, você tem os usado o tempo todo.
Todas as fontes acima derivam de uma base, a classe DboSource , a qual agrega alguma lógica que é comum para a maiorida dos bancos de dados relacionais. Se você decidir escrever uma data source RDBMS, trabalhando com um destes (e.g. dbo_mysql.php ou dbo_mssql.php) é sua melhor aposta.
Muitas pessoas, contudo, estão interessadas em escrever datasources para fontes externas de dados, como uma REST API remota ou até mesmo um servidor LDAP. Então é isso que veremos agora.
