airmoi / yii2-fmconnector
FileMaker ODBC and PHP-API integration
Installs: 1 642
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 4
Forks: 1
Open Issues: 3
Type:yii2-extension
Requires
- airmoi/filemaker: ^2.3.0
- yiisoft/yii2: *@stable
- dev-master
- 2.5
- 2.4.4
- 2.4.1
- 2.4.0
- 2.3.0
- 2.3.0-beta2
- 2.3.0-beta1
- 2.2.0
- 2.1.5
- 2.1.4
- 2.1.4-beta
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0-beta1
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-alpha
- 1.0.4-beta
- 1.0.3-beta
- 1.0.2-beta
- 1.0.1-beta
- 1.0.0-beta
- dev-feature/nuxt-crud
- dev-feature/data-api
- dev-develop
- dev-feature/custom_log_handler
- dev-feature/relation_supports
This package is auto-updated.
Last update: 2024-11-28 16:23:19 UTC
README
FileMaker ODBC connector and PHP-API integration
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist airmoi/yii2-fmconnector "*"
or add
"airmoi/yii2-fmconnector": "*"
to the require section of your composer.json
file.
Usage
- ODBC connection
Once plugin installed using composer, and ODBC driver configured on the server, Create/Edit your db config file using this lines
return [ 'class' => 'airmoi\yii2fmconnector\db\Connection', 'dsn' => 'fmp:<odbc_connection_name>', 'username' => '<odbc_username>', 'password' => '<odbc_username>', 'charset' => 'utf8', 'pdoClass' => 'airmoi\yii2fmconnector\db\PDO', //'enableSchemaCache' => true, //'schemaCacheDuration' => 86400, //'enableQueryCache' => true, //'queryCacheDuration' => 1000, 'schemaMap' => ['fmp' => [ 'class' => 'airmoi\yii2fmconnector\db\Schema', /* * Customize this option to ignore specific fields (like global/utils fields) which you don't want to get access * Ignore theses fields improve query performences */ 'ignoreFields' => [ 'FieldType' => ['global%'], 'FieldClass' => ['Summary'], 'FieldName' => ['zkk_%', 'zgi_%', 'zg_%', 'zz_%', 'zzz_%', 'zlg_%', 'z_foundCount_cU', 'z_listOf_eval_cU', ] ], /* * Regexp pattern used to detect if a field is a primary key * this pattern while be used against fields names */ 'primaryKeyPattern' => '/^zkp(_)?/', /* * pattern used to detect if a field is a foreign key * this pattern while be used against fields names * Second match of the pattern must return the foreign key trigram (XXX) */ 'foreignKeyPattern' => '/^(zkf|zkp)_([^_]*).*/', //pattern used to detect if a field is a foreign key ] ] ];
- PHP-API
You may also configure a connection using PHP-API this way
[
'class' => 'airmoi\yii2fmconnector\api\Connection',
'dsn' => 'fmpapi:host=your_host_ip;dbname=your_db_name',
'username' => 'db username',
'password' => 'db passwod',
'charset' => 'utf8',
//'schemaCache' => 'cache',
//'enableSchemaCache' => true,
//'schemaCacheDuration' => 3600,
'options' => [ //Specific connector options
'dateFormat' => 'd/m/Y',
'emptyAsNull' => true,
],
'schemaMap' => [
'fmpapi' => [
'class' => 'airmoi\yii2fmconnector\api\Schema',
//'layoutFiltterPattern' => '/^PHP_/' //Regex pattern to filter layout's list
]
]
]
- Customize gii
Add these lines to gii module config to enhance model and CRUD generators
'generators' => [ 'model' => [ 'class' => 'yii\gii\generators\model\Generator', 'templates' => [ 'FileMakerAPI' => '@app/vendor/airmoi/yii2-fmconnector/gii/api/templates/', 'FileMakerODBC' => '@app/vendor/airmoi/yii2-fmconnector/gii/odbc/templates/', ] ], 'crud' => [ // generator name 'class' => 'airmoi\yii2fmconnector\gii\api\crud\Generator', // generator class /*'templates' => [ //setting for out templates 'myCrud' => '@app/myTemplates/crud/default', // template name => path to template ]*/ ] ],