本文整理汇总了PHP中collection::attach方法的典型用法代码示例。如果您正苦于以下问题:PHP collection::attach方法的具体用法?PHP collection::attach怎么用?PHP collection::attach使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类collection
的用法示例。
在下文中一共展示了collection::attach方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: collection
<?php
$this->batch = $config->batch;
$this->schema = $config->schema;
$this->documentation = $config->documentation;
if (isset($config->vars)) {
$this->vars = json\decode(fs\read($config->vars));
}
$datasources = [];
foreach ($config->collections as $options) {
$collection = new collection($options->name, $options->key);
foreach ($options->procedures as $procedure) {
$params = $procedure->params;
if ($procedure->datasource == 'php') {
$collection->attach($procedure->name, new php_procedure($procedure->name, $params, !isset($procedure->required) or $procedure->required !== 'false', isset($procedure->result) ? $procedure->result : 'array', new script($this, $procedure->body)), $procedure->static);
} else {
$datasource = $config->datasources[$procedure->datasource];
if (in_array($datasource->type, array_keys(sql::drivers()))) {
$drivers = sql::drivers();
if (!isset($datasources[$procedure->datasource])) {
$datasources[$procedure->datasource] = new sql($datasource->type, $datasource->server, $datasource->username, $datasource->password, $datasource->database, $datasource->charset);
}
$collection->attach($procedure->name, new sql_procedure($procedure->name, $params, !isset($procedure->required) or $procedure->required !== 'false', isset($procedure->result) ? $procedure->result : 'array', isset($procedure->output) ? $procedure->output : null, $procedure->body, $datasources[$procedure->datasource]), $procedure->static);
} else {
switch ($datasource->type) {
case 'foursquare':
if (!isset($datasources[$procedure->datasource])) {
$datasources[$procedure->datasource] = new foursquare($datasources->client_id, $datasources->client_secret);
}
$collection->attach($procedure->name, new foursquare_procedure($procedure->name, $procedure->method, !isset($procedure->required) or $procedure->required !== 'false', isset($procedure->result) ? $procedure->result : 'array', $datasources[$procedure->datasource]), $procedure->static);
break;