Laravel 5.7/6.x 的 PhpDocumentor

5
这可能是一个非常新手的问题,但是,您如何使用phpDocumentor通过Laravel生成文档?在我的Laravel项目中,vendor/bin目录中没有phpdoc,尝试通过composer安装phpDocumentor失败(如GitHub页面中建议的)。
我找不到任何最近的资源来解决这个问题,唯一有帮助的是从终端运行phpDocumentor.phar文件,但最新版本立即失败。
3个回答

4

要使此功能正常工作,需要降级到PHP 7.1版本。然后从[http://www.phpdoc.org/phpDocumentor.phar]下载最新的phpDocumentor.phar文件。将phpDocumentor.phar放入您的Laravel 6.x项目的/vendor/bin/目录中。

然后使用Homebrew安装其他所需的软件包...

brew install intltool
brew install graphviz 

最后,进入 /vendor/bin 目录并运行...
php phpDocumentor.phar -d  ../../app/Http/Controllers

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

谢谢回复!我今天或明天将测试它,如果有效,我将接受它作为答案。 - Narc0t1CYM
不幸的是,它仍然会抛出很多错误,我不确定是否因为我们使用的php版本是7.2.24。这是它抛出的一种错误类型:警告:count():参数必须是数组或实现Countable接口的对象,在phar:///Applications/MAMP/htdocs/www/website/vendor/bin/phpDocumentor.phar/vendor/twig/twig/lib/Twig/Extension/Core.php的第1293行上调用堆栈:0.0712 2222752 1. {main}() /Applications/MAMP/htdocs/www/website/vendor/bin/phpDocumentor.phar:0 0.0735 2217872 2. - Narc0t1CYM
1
@Zh4rsiest 没错,你需要降级到7.1版本才能消除这些count()警告信息。不过,它们仅仅是警告信息,而非错误……你仍然可以正常获得文档输出。 - Karl Hill
确实如此,但是 - 我没有提到 - 我之前已经可以使用phpDocumentor2 phar文件进行导出,但是文档很混乱,因为这些警告占据了整个页面。无论如何,我会接受你的答案,但是为了其他人的利益,请编辑有关降级的部分,以便他们不会收到这些警告消息 :) - Narc0t1CYM

0

我发现大多数PHP文档解决方案的问题在于它们需要大量的代码才能得到实际可用的东西。这需要很长时间和试错来设置。

我也有关于生成的文档的问题。通常它甚至没有排序!而且很难浏览和理解整个类。作为一个类的使用者,你对私有或受保护的东西不感兴趣(除非你想要扩展它)。但是通常文档只显示当前类的方法和属性,而不是它继承的内容(这正是面向对象编程的全部意义所在!)。

无论如何,我已经厌倦了当前PHP文档的状态,并决定做到完美。我编写了PHPFUI/InstaDoc来解决我对现有解决方案的所有问题。InstaDoc是最快的文档生成器,因为它只是扫描类目录结构并将其保存下来。这通常只需要几秒钟(对于大型代码库)每次生成(发布时或在开发环境中添加新类时)。然后它在运行时为特定类呈现文档,因为,嘿,谁会看文档呢?只有我们这些书呆子,而且我们很少,我们可以等待服务器在飞行中生成文档的一小部分时间。此外,您不需要服务器磁盘空间来存储所有文档。它们是即时生成的。当然,如果您有一个高流量站点,InstaDoc可以生成静态HTML文件,但是谁有高流量的PHP文档站点(像没有人一样)。

无论如何,可以在PHPFUI/InstaDoc上查看实时示例,看看它是否符合您的需求。它不是Laravel模块或插件,但您应该能够轻松地在Laravel下运行它。只需在您的控制器中返回控制器的输出,它就应该可以正常工作。


0

分享一下我在使用MacOS CatalinaLaravel 6PHP 7.2的系统环境下,成功创建Laravel项目文档的完整解决方案。

  1. 访问https://docs.phpdoc.org/3.0/guide/getting-started/installing.html。为了安装依赖项,建议更新homebrew,使用以下命令进行更新: brew update brew upgrade 在更新homebrew后,执行以下操作: brew install graphviz brew install plantuml

  2. 一旦安装依赖项,可以从上述链接下载phpDocumentor.phar文件,并将文件设置为可执行,如下所示: chmod +x phpDocumentor.phar 然后将该文件复制并粘贴到您的Laravel应用程序中的/vendor/bin目录下。 我还将此文件放置在本地bin目录下mv phpDocumentor.phar /usr/local/bin/phpDocumentor以便更容易地访问(如下面的步骤6所示)。

  3. 为了测试目的,在/vendor/bin/docs/test.php目录下创建一个简单的test.php文件,其内容如https://docs.phpdoc.org/3.0/guide/getting-started/your-first-set-of-documentation.html中所述。

<?php

    /**
     * This is a DocBlock.
     */
    function associatedFunction()
    {
    }


然后在相同的/vendor/bin位置执行phpdoc脚本: phpDocumentor.phar -d docs/test.php -t docs/test 这将生成几个文件。 在Web浏览器(例如Chrome)中打开生成的index.html文件以查看文档: open -a "Google Chrome" ./docs/test/index.html 值得注意的是,因为我们将phpDocumentor.phar放置在/usr/local/bin/phpDocumentor/phpDocumentor.phar中,所以我们可以轻松访问phpdoc并轻松创建整个应用程序的文档(文档将存储在DOCS文件夹中): phpDocumentor.phar -d app/ -t DOCS/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接