Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

show error when using your example #5

Open
bemulima opened this issue Apr 15, 2019 · 0 comments
Open

show error when using your example #5

bemulima opened this issue Apr 15, 2019 · 0 comments

Comments

@bemulima
Copy link

when i try using your example code showing this error:
` PHP Warning – yii\base\ErrorException
count(): Parameter must be an array or an object that implements Countable

1. in C:\OSPanel\domains\ad.loc\vendor\mirocow\yii2-yandex-maps\mirocow\yandexmaps\Api.php at line 64
55565758596061626364656667686970717273

                    	/**
     * Render client scripts.
     */
    public function render() {
        $this->registerScriptFile();
        $this->registerScript();
    }
 
    protected function encodeArray($array) {
        return count($array) > 0 ? Json::encode($array) : '{}';
    }
 
    /**
     * @todo Add another API params
     * @see http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/load.xml
     */
    protected function registerScriptFile() {
        if ('https' !== $this->protocol) {
            $this->protocol = 'http';
                

2. in C:\OSPanel\domains\ad.loc\vendor\mirocow\yii2-yandex-maps\mirocow\yandexmaps\Api.php at line 183 – mirocow\yandexmaps\Api::encodeArray()
177178179180181182183184185186187188189

                                    $js .= "$controls;\n";
            }
 
            if (count($map->behaviors) > 0) {
                $behaviors = "\n\$Maps['$id'].behaviors";
                foreach ($map->behaviors as $config => $behavior) {
                    $config = $this->encodeArray($config);
                    $behaviors .= "\n\t.$behavior($config)";
                }
                $js .= "$behaviors;\n";
            }
 
            if (count($map->objects) > 0) {
                

3. in C:\OSPanel\domains\ad.loc\vendor\mirocow\yii2-yandex-maps\mirocow\yandexmaps\Api.php at line 104 – mirocow\yandexmaps\Api::generateMap()
9899100101102103104105106107108109110

                    	}
 
    public function generateObject($object, &$var = null) {
        $class = get_class($object);
        $generator = 'generate' . substr($class, strrpos($class, '\\') + 1);
        if (method_exists($this, $generator)) {
            $js = $this->$generator($object, $var);
 
            if ($object instanceof Interfaces\EventAggregate && count($object->getEvents()) > 0) {
                if (null !== $var) {
                    $events = "\n$var.events";
                    foreach ($object->getEvents() as $event => $handle) {
                        $event = Json::encode($event);
                

4. in C:\OSPanel\domains\ad.loc\vendor\mirocow\yii2-yandex-maps\mirocow\yandexmaps\Api.php at line 92 – mirocow\yandexmaps\Api::generateObject()
86878889909192939495969798

                    	 * Register client script.
     */
    protected function registerScript() {
        $js = "\$Maps = [];\nymaps.ready(function() {\n";
 
        foreach ($this->_objects as $var => $object) {
            $js .= $this->generateObject($object, $var) . "\n";
        }
 
        $js .= "});\n";
 
        Yii::$app->view->registerJs($js, View::POS_READY, self::SCRIPT_ID);
    }
                

5. in C:\OSPanel\domains\ad.loc\vendor\mirocow\yii2-yandex-maps\mirocow\yandexmaps\Api.php at line 60 – mirocow\yandexmaps\Api::registerScript()
54555657585960616263646566

                     
    /**
     * Render client scripts.
     */
    public function render() {
        $this->registerScriptFile();
        $this->registerScript();
    }
 
    protected function encodeArray($array) {
        return count($array) > 0 ? Json::encode($array) : '{}';
    }
 
                

6. in C:\OSPanel\domains\ad.loc\vendor\mirocow\yii2-yandex-maps\mirocow\yandexmaps\Canvas.php at line 49 – mirocow\yandexmaps\Api::render()
43444546474849505152535455

                    	}
 
    public function init() {
        Event::on(View::className(), View::EVENT_END_PAGE,
          function ($event) {
              if (!$this->isRendered) {
                  $this->getApi()->render();
                  $this->isRendered = true;
              }
          });
    }
 
    /**
                

7. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Event.php at line 312 – mirocow\yandexmaps\Canvas::mirocow\yandexmaps\{closure}()
8. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Event.php at line 312 – call_user_func:{C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Event.php:312}()
9. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Component.php at line 636 – yii\base\Event::trigger()
10. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\web\View.php at line 174 – yii\web\View::trigger()
11. in C:\OSPanel\domains\ad.loc\frontend\views\layouts\_clear.php at line 24 – yii\web\View::endPage()
18192021222324

                    <body>
<?php $this->beginBody() ?>
    <?php echo $content ?>
<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>
                

12. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 348
13. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 257 – yii\web\View::renderPhpFile()
14. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\widgets\ContentDecorator.php at line 79 – yii\web\View::renderFile()
15. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Widget.php at line 109 – yii\widgets\ContentDecorator::run()
16. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 521 – yii\base\Widget::end()
17. in C:\OSPanel\domains\ad.loc\frontend\views\layouts\base.php at line 102 – yii\web\View::endContent()
96979899100101102

                        <div class="container">
        <p class="pull-left">&copy; <?= Yii::$app->name ?> <?php echo date('Y') ?></p>
    </div>
</footer>
<?= $this->context->renderPartial('//layouts/_place_modal') ?>
<?= SignIn::widget() ?>
<?php $this->endContent() ?>                

18. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 348
19. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 257 – yii\web\View::renderPhpFile()
20. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\widgets\ContentDecorator.php at line 79 – yii\web\View::renderFile()
21. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Widget.php at line 109 – yii\widgets\ContentDecorator::run()
22. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 521 – yii\base\Widget::end()
23. in C:\OSPanel\domains\ad.loc\frontend\views\layouts\main.php at line 37 – yii\web\View::endContent()
31323334353637

                        ])
    ?>
 
<?php echo $content ?>
 
</div>
<?php $this->endContent() ?>                

24. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 348
25. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\View.php at line 257 – yii\web\View::renderPhpFile()
26. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Controller.php at line 399 – yii\web\View::renderFile()
27. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Controller.php at line 385 – frontend\controllers\AdController::renderContent()
28. in C:\OSPanel\domains\ad.loc\frontend\controllers\AdController.php at line 106 – frontend\controllers\AdController::render()
100101102103104105106107108109110111112

                                            'body' => 'Упс! Что-то не так.',
                        'options' => ['class' => 'alert-error']
                    ]);
            }
        }
 
        return $this->render('create', ['model' => $model]);
    }
 
    public function actionView(int $id) {
        $model = $this->loadModel($id);
 
        return $this->render('view', ['model' => $model]);
                

29. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\InlineAction.php at line 57 – frontend\controllers\AdController::actionCreate()
30. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\InlineAction.php at line 57 – call_user_func_array:{C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\InlineAction.php:57}()
31. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Controller.php at line 157 – yii\base\InlineAction::runWithParams()
32. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Module.php at line 528 – frontend\controllers\AdController::runAction()
33. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\web\Application.php at line 103 – yii\web\Application::runAction()
34. in C:\OSPanel\domains\ad.loc\vendor\yiisoft\yii2\base\Application.php at line 386 – yii\web\Application::handleRequest()
35. in C:\OSPanel\domains\ad.loc\frontend\web\index.php at line 22 – yii\web\Application::run()
16171819202122

                        require(__DIR__ . '/../../common/config/base.php'),
    require(__DIR__ . '/../../common/config/web.php'),
    require(__DIR__ . '/../config/base.php'),
    require(__DIR__ . '/../config/web.php')
);
 
(new yii\web\Application($config))->run();

`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant