Yii2-Represent. Расширение для работы со структурами данных в реляционных БД.

Выкладываем свои наработки
Ответить
vitaliy_pashkov
Сообщения: 6
Зарегистрирован: 2014.02.03, 07:37

Yii2-Represent. Расширение для работы со структурами данных в реляционных БД.

Сообщение vitaliy_pashkov » 2017.08.07, 05:00

Приветствую.

Пару недель назад спрашивал сообщество нужно ли публиковать моё расширение для работы с данными. Товарищи в gitter, в основном, закидали меня тухлыми помидорами, но старшие товарищи на форуме проголосовали за то что публиковать стоит.
После рефакторинга, тестирования и написания минимальной документации - публикую.

https://github.com/vitaliy-pashkov/yii2-represent
https://packagist.org/packages/vpashkov/yii2-represent

На данный момент нуждаюсь в советах следующего характера:
- стоит ли писать онлайн демо?
- как улучшить документацию?
- стоит ли продвигать расширение и как именно?
- конечно, как улучшить/оптимизировать код?

Всем спасибо.

Аватара пользователя
samdark
Администратор
Сообщения: 8585
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii2-Represent. Расширение для работы со структурами данных в реляционных БД.

Сообщение samdark » 2017.08.07, 17:06

как улучшить документацию?
Перевести на английский.

По остальному не подскажу. Синтаксис для меня немного диковат.

vitaliy_pashkov
Сообщения: 6
Зарегистрирован: 2014.02.03, 07:37

Re: Yii2-Represent. Расширение для работы со структурами данных в реляционных БД.

Сообщение vitaliy_pashkov » 2017.08.08, 05:10

Добавил перевод документации на косноязычный английский. Привёл код к psr-2.

asliddin
Сообщения: 1
Зарегистрирован: 2017.08.08, 09:51

Re: Yii2-Represent. Расширение для работы со структурами данных в реляционных БД.

Сообщение asliddin » 2017.08.08, 13:26

Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
1. in /home/c/cl81195/airport/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php at line 348
339340341342343344345346347348349350351352353354 *
* @param string $address
*
* @throws Swift_RfcComplianceException If invalid.
*/
private function _assertValidAddress($address)
{
if (!preg_match('/^'.$this->getGrammar()->getDefinition('addr-spec').'$/D',
$address)) {
throw new Swift_RfcComplianceException(
'Address in mailbox given ['.$address.
'] does not comply with RFC 2822, 3.6.2.'
);
}
}
}
2. in /home/c/cl81195/airport/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php – Swift_Mime_Headers_MailboxHeader::_assertValidAddress('') at line 263
3. in /home/c/cl81195/airport/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php – Swift_Mime_Headers_MailboxHeader::normalizeMailboxes(['']) at line 106
4. in /home/c/cl81195/airport/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php – Swift_Mime_Headers_MailboxHeader::setNameAddresses(['']) at line 63
5. in /home/c/cl81195/airport/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php – Swift_Mime_Headers_MailboxHeader::setFieldBodyModel(['']) at line 58
6. in /home/c/cl81195/airport/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php – Swift_Mime_SimpleHeaderFactory::createMailboxHeader('To', ['']) at line 68
7. in /home/c/cl81195/airport/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php – Swift_Mime_SimpleHeaderSet::addMailboxHeader('To', ['']) at line 323
8. in /home/c/cl81195/airport/public_html/vendor/yiisoft/yii2-swiftmailer/Message.php – Swift_Mime_SimpleMessage::setTo(['']) at line 112
9. in /home/c/cl81195/airport/public_html/app/models/CipVipForm.php – yii\swiftmailer\Message::setTo(['']) at line 70
64656667686970717273747576 'name'=>$this->name,
'date'=>$this->date,
'airportName'=>$this->airportName,
'flight'=>$this->flight,
'desc'=>$this->notes
])
->setTo(explode(",",Block::get("cipvip")))
->setFrom(["info@airport.tj"=>$this->name])
->setSubject("Заказ CIP-VIP")
->send();
}
}

10. in /home/c/cl81195/airport/public_html/app/controllers/SiteController.php – app\models\CipVipForm::send() at line 133
11. app\controllers\SiteController::actionCipVip()
12. in /home/c/cl81195/airport/public_html/vendor/yiisoft/yii2/base/InlineAction.php – call_user_func_array([app\controllers\SiteController, 'actionCipVip'], []) at line 55
495051525354555657 $args = $this->controller->bindActionParams($this, $params);
Yii::trace('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__);
if (Yii::$app->requestedParams === null) {
Yii::$app->requestedParams = $args;
}

return call_user_func_array([$this->controller, $this->actionMethod], $args);
}
}
13. in /home/c/cl81195/airport/public_html/vendor/yiisoft/yii2/base/Controller.php – yii\base\InlineAction::runWithParams([]) at line 151
145146147148149150151152153154155156157 }

$result = null;

if ($runAction && $this->beforeAction($action)) {
// run the action
$result = $action->runWithParams($params);

$result = $this->afterAction($action, $result);

// call afterAction on modules
foreach ($modules as $module) {
/* @var $module Module */
14. in /home/c/cl81195/airport/public_html/vendor/yiisoft/yii2/base/Module.php – yii\base\Controller::runAction('cip-vip', []) at line 455
15. in /home/c/cl81195/airport/public_html/vendor/yiisoft/yii2/web/Application.php – yii\base\Module::runAction('site/cip-vip', []) at line 84
16. in /home/c/cl81195/airport/public_html/vendor/yiisoft/yii2/base/Application.php – yii\web\Application::handleRequest(yii\web\Request) at line 375
17. in /home/c/cl81195/airport/public_html/index.php – yii\base\Application::run() at line 14
891011121314
require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');

$config = require(__DIR__ . '/app/config/web.php');

(new yii\web\Application($config))->run();
$_POST = [
'_csrf' => 'OFBaM1VmLjJrNG59Nw5lSEA7bHwZJ2MDTDY7QT8URVp8ZTh7GAkdZg==',
'CipVipForm' => [
'type' => '0',
'orderType' => '0',
'name' => 'aslid',
'date' => '2017-08-09',
'airportName' => 'test',
'flight' => '123',
'notes' => 'efsdf',
'captcha' => 'volewje',
],
];

$_SERVER = [
'HTTP_HOST' => 'www.airport.tj',
'HTTP_CONNECTION' => 'close',
'CONTENT_LENGTH' => '345',
'HTTP_CACHE_CONTROL' => 'max-age=0',
'HTTP_ORIGIN' => 'http://www.airport.tj',
'HTTP_UPGRADE_INSECURE_REQUESTS' => '1',
'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',
'CONTENT_TYPE' => 'application/x-www-form-urlencoded',
'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'HTTP_REFERER' => 'http://www.airport.tj/index.php/ru/site/cip-vip',
'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
'HTTP_ACCEPT_LANGUAGE' => 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
'HTTP_COOKIE' => '_ym_uid=1501820432328037713; _ym_isad=2; PHPSESSID=7699952b7a57fb258e7868583a1953c3; _identity=826ed3419d16940f32c3c4ef6e664bbd7a40306c307533751c041a559b318d37a%3A2%3A%7Bi%3A0%3Bs%3A9%3A%22_identity%22%3Bi%3A1%3Bs%3A24%3A%22%5B1%2C%225ZgDGNOKvv%22%2C2592000%5D%22%3B%7D; _csrf=3303fc4ada4ccdc524a66dc3cdce3427cd6832b49fddc6299561e0535f966e03a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22Sd4NbhKzxk6OLAM1tfarjrkhD5bHMo3T%22%3B%7D; _language=bc0e1b60f2b136129c0f7a044b8d06cff5a09db3fb4ef8fd6cde07be9be4d7e3a%3A2%3A%7Bi%3A0%3Bs%3A9%3A%22_language%22%3Bi%3A1%3Bs%3A2%3A%22ru%22%3B%7D',
'PATH' => '/usr/local/bin:/usr/bin:/bin',
'SERVER_SIGNATURE' => '',
'SERVER_SOFTWARE' => 'Apache/2.4.7',
'SERVER_NAME' => 'www.airport.tj',
'SERVER_ADDR' => '127.0.0.1',
'SERVER_PORT' => '80',
'REMOTE_ADDR' => '91.218.163.172',
'DOCUMENT_ROOT' => '/home/c/cl81195/airport/public_html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/home/c/cl81195/airport/public_html',
'SERVER_ADMIN' => 'support@timeweb.ru',
'SCRIPT_FILENAME' => '/home/c/cl81195/airport/public_html/index.php',
'REMOTE_PORT' => '60056',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.0',
'REQUEST_METHOD' => 'POST',
'QUERY_STRING' => '',
'REQUEST_URI' => '/index.php/ru/site/cip-vip',
'SCRIPT_NAME' => '/index.php',
'PATH_INFO' => '/ru/site/cip-vip',
'PATH_TRANSLATED' => '/home/c/cl81195/airport/public_html/ru/site/cip-vip',
'PHP_SELF' => '/index.php/ru/site/cip-vip',
'REQUEST_TIME_FLOAT' => 1502168582.7119999,
'REQUEST_TIME' => 1502168582,
'argv' => [],
'argc' => 0,
];

$_COOKIE = [
'_ym_uid' => '1501820432328037713',
'_ym_isad' => '2',
'PHPSESSID' => '7699952b7a57fb258e7868583a1953c3',
'_identity' => '826ed3419d16940f32c3c4ef6e664bbd7a40306c307533751c041a559b318d37a:2:{i:0;s:9:"_identity";i:1;s:24:"[1,"5ZgDGNOKvv",2592000]";}',
'_csrf' => '3303fc4ada4ccdc524a66dc3cdce3427cd6832b49fddc6299561e0535f966e03a:2:{i:0;s:5:"_csrf";i:1;s:32:"Sd4NbhKzxk6OLAM1tfarjrkhD5bHMo3T";}',
'_language' => 'bc0e1b60f2b136129c0f7a044b8d06cff5a09db3fb4ef8fd6cde07be9be4d7e3a:2:{i:0;s:9:"_language";i:1;s:2:"ru";}',
];

$_SESSION = [
'__flash' => [],
'_language' => 'ru',
'__captcha/site/captcha' => 'tcbucx',
'__captcha/site/captchacount' => 1,
'__returnUrl' => '/admin/index.php/ru/block',
'__id' => 1,
];

$_ENV = [
'APACHE_CONFDIR' => '/etc/apache2-70',
'APACHE_RUN_DIR' => '/var/run/apache2-70',
'APACHE_PID_FILE' => '/var/run/apache2/apache2-70.pid',
'PATH' => '/usr/local/bin:/usr/bin:/bin',
'APACHE_LOCK_DIR' => '/var/lock/apache2-70',
'LANG' => 'C',
'APACHE_RUN_USER' => 'www-data',
'APACHE_RUN_GROUP' => 'www-data',
'APACHE_LOG_DIR' => '/var/log/apache2-70',
'PWD' => '/root',
];
Yii Framework
2017-08-08, 10:03:02

Apache/2.4.7
Yii Framework/2.0.4

Ответить