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

Error: array_unshift() expects parameter 1 to be array, object given #16

Closed
fbarrento opened this issue Jul 20, 2015 · 11 comments
Closed
Assignees

Comments

@fbarrento
Copy link

When add a description to a function or a class the apidoc show this error:

Searching files to process... done.
Loading apidoc data from cache... done.
Checking for updated files... done.
1 file to update.
Processing files... done.
Updating cross references and backlinks... done.
Rendering files: 0% (0/2) ETA: n/a Error: array_unshift() expects parameter 1 to be array, object given

@cebe
Copy link
Member

cebe commented Jul 20, 2015

can you set YII_DEBUG to true here: https://github.com/yiisoft/yii2-apidoc/blob/master/apidoc#L11
and send me the output including stack trace?

@fbarrento
Copy link
Author

MacBook-Pro-de-Francisco:roots franciscobarrento$ vendor/bin/apidoc api backend/components ./yii2docs
TargetDirectory already exists. Overwrite? (yes|no) [yes]:yes
Searching files to process... done.
Loading apidoc data from cache... done.
Checking for updated files... done.
1 file to update.
Processing files... done.
Updating cross references and backlinks... done.
Rendering files: 0% (0/2) ETA: n/a PHP Warning 'yii\base\ErrorException' with message 'array_unshift() expects parameter 1 to be array, object given'

in /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/cebe/markdown/Parser.php:201

Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError(2, 'array_unshift()...', '/Applications/M...', 201, Array)
#1 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/cebe/markdown/Parser.php(201): array_unshift(Object(yii\apidoc\models\ClassDoc), 'text')
#2 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/cebe/markdown/Parser.php(86): cebe\markdown\Parser->renderAbsy(Array)
#3 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/helpers/BaseMarkdown.php(82): cebe\markdown\Parser->parseParagraph('Return a HTML e...')
#4 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/helpers/ApiMarkdown.php(251): yii\helpers\BaseMarkdown::processParagraph('Return a HTML e...', 'api')
#5 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/templates/html/views/methodSummary.php(43): yii\apidoc\helpers\ApiMarkdown::process('Return a HTML e...', 'backend\compone...', true)
#6 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/View.php(325): require('/Applications/M...')
#7 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/View.php(247): yii\base\View->renderPhpFile('/Applications/M...', Array)
#8 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/View.php(149): yii\base\View->renderFile('/Applications/M...', Array, NULL)
#9 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/templates/html/views/type.php(92): yii\base\View->render('@yii/apidoc/tem...', Array)
#10 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/View.php(325): require('/Applications/M...')
#11 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/View.php(247): yii\base\View->renderPhpFile('/Applications/M...', Array)
#12 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/View.php(149): yii\base\View->renderFile('/Applications/M...', Array, Object(yii\apidoc\templates\bootstrap\ApiRenderer))
#13 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/templates/html/ApiRenderer.php(130): yii\base\View->render('@yii/apidoc/tem...', Array, Object(yii\apidoc\templates\bootstrap\ApiRenderer))
#14 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/templates/html/ApiRenderer.php(107): yii\apidoc\templates\html\ApiRenderer->renderWithLayout('@yii/apidoc/tem...', Array)
#15 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/templates/bootstrap/ApiRenderer.php(46): yii\apidoc\templates\html\ApiRenderer->render(Object(yii\apidoc\models\Context), './yii2docs')
#16 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/commands/ApiController.php(107): yii\apidoc\templates\bootstrap\ApiRenderer->render(Object(yii\apidoc\models\Context), './yii2docs')
#17 [internal function]: yii\apidoc\commands\ApiController->actionIndex(Array, './yii2docs')
#18 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array)
#19 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/Controller.php(151): yii\base\InlineAction->runWithParams(Array)
#20 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/console/Controller.php(91): yii\base\Controller->runAction('', Array)
#21 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/Module.php(455): yii\console\Controller->runAction('', Array)
#22 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/console/Application.php(166): yii\base\Module->runAction('api', Array)
#23 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/console/Application.php(142): yii\console\Application->runAction('api', Array)
#24 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#25 /Applications/MAMP/htdocs/dev/coggwheel/roots/vendor/yiisoft/yii2-apidoc/apidoc(53): yii\base\Application->run()
#26 {main}

@karataserkan
Copy link

I have same problem.

ekaratas@ekaratas-QOSMIO-X870:/var/www/html/uzaktanegitim$ vendor/bin/apidoc api frontend ./output
TargetDirectory already exists. Overwrite? (yes|no) [yes]:yes
Searching files to process... done.
Loading apidoc data from cache... done.
Checking for updated files... done.
0 files to update.
Processing files... done.
Updating cross references and backlinks... done.
Rendering files: 0% (0/358) ETA: n/a   PHP Warning 'yii\base\ErrorException' with message 'array_shift() expects parameter 1 to be array, object given'

in /var/www/html/uzaktanegitim/vendor/cebe/markdown/Parser.php:206

Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError(2, 'array_shift() e...', '/var/www/html/u...', 206, Array)
#1 /var/www/html/uzaktanegitim/vendor/cebe/markdown/Parser.php(206): array_shift(Object(yii\apidoc\models\ClassDoc))
#2 /var/www/html/uzaktanegitim/vendor/cebe/markdown/Parser.php(86): cebe\markdown\Parser->renderAbsy(Array)
#3 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/helpers/BaseMarkdown.php(82): cebe\markdown\Parser->parseParagraph('NavBar renders ...')
#4 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2-apidoc/helpers/ApiMarkdown.php(251): yii\helpers\BaseMarkdown::processParagraph('NavBar renders ...', 'api')
#5 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2-apidoc/templates/html/views/type.php(83): yii\apidoc\helpers\ApiMarkdown::process('NavBar renders ...', Object(yii\apidoc\models\ClassDoc), true)
#6 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/base/View.php(325): require('/var/www/html/u...')
#7 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/base/View.php(247): yii\base\View->renderPhpFile('/var/www/html/u...', Array)
#8 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/base/View.php(149): yii\base\View->renderFile('/var/www/html/u...', Array, Object(yii\apidoc\templates\bootstrap\ApiRenderer))
#9 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2-apidoc/templates/html/ApiRenderer.php(130): yii\base\View->render('@yii/apidoc/tem...', Array, Object(yii\apidoc\templates\bootstrap\ApiRenderer))
#10 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2-apidoc/templates/html/ApiRenderer.php(107): yii\apidoc\templates\html\ApiRenderer->renderWithLayout('@yii/apidoc/tem...', Array)
#11 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2-apidoc/templates/bootstrap/ApiRenderer.php(46): yii\apidoc\templates\html\ApiRenderer->render(Object(yii\apidoc\models\Context), './output')
#12 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2-apidoc/commands/ApiController.php(107): yii\apidoc\templates\bootstrap\ApiRenderer->render(Object(yii\apidoc\models\Context), './output')
#13 [internal function]: yii\apidoc\commands\ApiController->actionIndex(Array, './output')
#14 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array)
#15 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/base/Controller.php(151): yii\base\InlineAction->runWithParams(Array)
#16 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/console/Controller.php(91): yii\base\Controller->runAction('', Array)
#17 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/base/Module.php(455): yii\console\Controller->runAction('', Array)
#18 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/console/Application.php(167): yii\base\Module->runAction('api', Array)
#19 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/console/Application.php(143): yii\console\Application->runAction('api', Array)
#20 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#21 /var/www/html/uzaktanegitim/vendor/yiisoft/yii2-apidoc/apidoc(53): yii\base\Application->run()
#22 {main

@cebe
Copy link
Member

cebe commented Aug 27, 2015

could you provide the PHPdoc of the files you are trying to generate docs for?

@cebe
Copy link
Member

cebe commented Aug 27, 2015

From the code of APIdoc I do not see how this could ever happen. Can you provide the versions your have installed? please paste the output of composer show -i

@mushahidh
Copy link

@karataserkan I had the same problem but updating from composer resolved the issue.
Just run composer update and everything would be fine.

@mushahidh
Copy link

@cebe Is it fine to use yii2-apidoc for REST api documentation? or is there any other better way?

@cebe
Copy link
Member

cebe commented Aug 27, 2015

yii2-apidoc is for classes, methods and guide. for REST API you should use something different. e.g.

@karataserkan
Copy link

@mushahidh thank you, issue resolved

@luciuz
Copy link

luciuz commented Aug 29, 2016

PHP Warning 'yii\base\ErrorException' with message 'array_unshift() expects parameter 1 to be array, object given'

in Parser.php:201 (2.0.0-beta)

@cebe
Copy link
Member

cebe commented Aug 30, 2016

@luciuz please use the latest version, not beta.

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

6 participants