Terminal Laravel 5.7/6.x的PHP文件

Terminal Laravel 5.7/6.x的PHP文件,terminal,composer-php,laravel-5.7,laravel-6,phpdoc,Terminal,Composer Php,Laravel 5.7,Laravel 6,Phpdoc,这可能是一个非常新的问题,但是,您究竟如何使用phpDocumentor通过Laravel生成文档?在我的Laravel项目中,vendor/bin目录中没有phpdoc,尝试通过composer安装phpDocumentor失败(如GitHub页面上所建议的) 我找不到任何关于它的最新资料,我唯一幸运的是从终端运行phpDocumentor.phar文件,但最新版本立即失败。要使其正常工作,请降级到PHP7.1。然后从下载最新的phpDocumentor.phar文件[http://www.p

这可能是一个非常新的问题,但是,您究竟如何使用phpDocumentor通过Laravel生成文档?在我的Laravel项目中,
vendor/bin
目录中没有phpdoc,尝试通过composer安装phpDocumentor失败(如GitHub页面上所建议的)


我找不到任何关于它的最新资料,我唯一幸运的是从终端运行
phpDocumentor.phar
文件,但最新版本立即失败。

要使其正常工作,请降级到PHP7.1。然后从下载最新的
phpDocumentor.phar
文件[http://www.phpdoc.org/phpDocumentor.phar]. 将phpDocumentor.phar放入Laravel 6.x项目的
/vendor/bin/
目录中

然后使用自制软件安装其他需要的软件包

brew install intltool
brew install graphviz 
最后,将cd放入
/vendor/bin
并运行

php phpDocumentor.phar -d  ../../app/Http/Controllers

您的文档输出应该位于
/vendor/bin/output.

添加了一个更完整的解决方案,该解决方案为我创建了Laravel项目文档,系统环境包括MacOS CatalinaLaravel 6PHP 7.2

  • 访问。要安装依赖项,建议将homebrew更新为
    brew update
    brew upgrade
    。更新自制软件后,执行以下操作:
    brew安装graphviz
    brew安装plantuml

  • 安装依赖项后,从上面的链接下载phpDocumentor.phar,并使文件可执行,如下所示:
    chmod+x phpDocumentor.phar
    然后,将此文件复制并粘贴到您的laravel应用程序的
    /vendor/bin
    我还将该文件放在local bin
    mv phpDocumentor.phar/usr/local/bin/phpDocumentor
    下,以便于访问(如下面的步骤6所示)

  • 出于测试目的,在/vendor/bin/docs/test.php目录下创建一个简单的test.php文件,其中包含中提到的以下内容


  • 谢谢您的回复!我将在今天或明天测试它,如果它有效,我将接受它作为答案。不幸的是,它仍然会抛出很多错误,我不确定这是否是因为我们使用的php版本是7.2.24。这是它抛出的错误类型之一:警告:count():参数必须是在中实现可数的数组或对象phar:///Applications/MAMP/htdocs/www/website/vendor/bin/phpDocumentor.phar/vendor/twig/twig/lib/Twig/Extension/Core.php 在线1293调用堆栈:0.0712 222752 1。{main}()/Applications/MAMP/htdocs/www/website/vendor/bin/phpDocumentor.phar:0.0735 2217872 2.@zh4r最正确的说法是,您必须降级到7.1才能删除那些count()警告消息。然而,它们只是警告信息,而不是错误。。。您应该仍然能够获得文档输出。事实上,但是-我没有提到-我以前已经可以使用phpDocumentEntor2Phar文件进行导出,但是文档非常混乱,因为这些警告占用了整个页面。无论如何,我会接受你的回答,但是为了其他人的利益,编辑关于降级的部分,这样他们就不会收到这些警告信息:)
    
    <?php
    
        /**
         * This is a DocBlock.
         */
        function associatedFunction()
        {
        }