Giter Site home page Giter Site logo

hgthecode / thinkphp-apidoc Goto Github PK

View Code? Open in Web Editor NEW
132.0 2.0 26.0 12.88 MB

ThinkPHP 注释自动生成API文档,在线调试,代码生成器,Markdown文档

Home Page: https://hgthecode.github.io/thinkphp-apidoc/

License: MIT License

PHP 100.00%

thinkphp-apidoc's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

thinkphp-apidoc's Issues

在linux服务器下找不到控制器

Class "Banner" does not exist
code: -1
file: "/~~~~~~vendor/hg/apidoc/src/ParseAnnotation.php"
line: 28
message: "Class "Banner" does not exist"
name: "ReflectionException"

找了很久没找到联系方式

阅读了您写的,使用Github Actions 实现TP6自动化部署,收益匪浅,准备把项目的部署方式改为 actions。

但是运行到
image

这里报错了,请问具体原因是什么导致的呢?

多级控制器bug修复代码

protected function autoCreateUrl($method): string
{
    $isAuto = Config::get('controller_auto_search')||in_array('controller_auto_search',$this->config);
    $pathArr = [];
    if ($isAuto){
        $pathArr = explode("\\", $method->class );
    }else{
        $searchString = $this->controller_layer . '\\';
        $substr = substr(strstr($method->class, $searchString), strlen($searchString));
        $pathArr = explode("\\", str_replace($substr, str_replace('\\', '.', $substr), $method->class));
    }
    // 控制器地址
    $filterPathNames = array("app", $this->controller_layer);
    $classPathArr = [];
    foreach ($pathArr as $item) {
        if (!in_array($item, $filterPathNames)) {
            $classPathArr[] = $item;
        }
    }

    $classPath = implode('/', $classPathArr);

    return '/' . strtolower($classPath) . '/' . $method->name;
}

配置无API 列表,多级目录

文件目录:

application
    maintain
        home
            api
               User.php

配置文件:config/apidoc.php
apps 配置
'apps' => [
['title'=>'API 接口','path'=>'app\maintain\home\api','folder'=>'api'],
]

User.php 命名空间:app\maintain\home\api;

User.php 内容:

/**
 * @Apidoc\Title("基础的注释方法")
 * @Apidoc\Desc("最基础的接口注释写法")
 * @Apidoc\Method("GET")
 * @Apidoc\Author("HG-CODE")
 * @Apidoc\Tag("测试")
 * @Apidoc\Param("username", type="abc",require=true, desc="用户名")
 * @Apidoc\Param("password", type="string",require=true, desc="密码")
 * @Apidoc\Param("phone", type="string",require=true, desc="手机号")
 * @Apidoc\Param("sex", type="int",default="1",desc="性别" )
 * @Apidoc\Returned("id", type="int", desc="用户id")
 */

public function login()
{}

api 请求地址: http:// host /maintain/api.user/login

请问如何配置,目前配置没有API列表

在调试时,调试路径多了一个目录,如何配置?

API接口地址: /shop/user.User/getChildren
访问时的路径: host/index.php/shop/shop/user.User/getChildren
正确的地址: host/index.php/shop/user.User/getChildren

这里多了一个 shop
请问如何配置
apidoc.php中的apps如下配置
[ 'title' => 'shop端', 'path' => 'app\shop\controller', 'folder' => 'shop', 'groups' => [ ['title' => '基础模块', 'name' => 'base'], ['title' => '功能模块', 'name' => 'function'], ], ]

前端 config.js
HOSTS: [ { title: "shop", host: "http://test.com" }, ],

怎么没token方式效验

看见访问api目前只是密码效验,这个固定的密码不安全吧,抓包一下获取就完了,应该用token效验,

Url自动生成优化建议

多应用模式下自动生成的url总是会附带app字符,导致访问地址不正确,建议增加个配置,可以去掉自动附带app。
例如 host/nm/comm/index.php 自动生成的url为 host/app/nm/comm/index.php
在实际开发中,基本上url都是不需要重新定义的,期望自动生成时也能正确。

同一个控制器下,进行方法分类

如题,有时候同一个模块功能,方法都写在同一个控制器里,可是该模块下,有多个子模块,想要进行继续分组, ,好像除了新建多一个控制器之外,没办法实现了,.有一些旧的控制器,想要补充注释 ,新增加文档,变得很难,,因为已经写在一个控制器里面了,除非要前后端改动,,,获取新方法

接口不支持分组?

接口层分组不起作用?另外DELETE请求 样式有点问题。描述文字被遮住了。

多应用多版本应用名称为下划线 会存在问题。

如题,ooxx_aaa_vvv
[ 'title'=>'xxxxx子系统', 'folder'=>'ooxx_aaa_vvv', 'items'=>[ ['title'=>'V1.0','path'=>'app\ooxx_aaa_vvv\controller\v1','folder'=>'v1'], ['title'=>'V2.0','path'=>'app\ooxx_aaa_vvv\controller\v2','folder'=>'v2'] ] ],
版本切换时会有问题 读不到配置

集成后报错

我用的TP6,入口文件在项目根目录,不在public下。按照文档安装配置apidoc后一直报错:控制器不存在:app\controller\Config
按照常见问题里提供的方法配置之后也还是报这个错。
我分别尝试把前端页面apidoc目录放在项目根目录下、放到public目录下都报上述错误。
该如何处理呢?

关于tp6路由注解导致路径自动解析问题

我使用tp6的注解路由分组 @group后,下面方法@Api\Url里填的路径,一到文档前端就会自动加上Group的名字,在我业务的多应用模式下老是导致路径问题,请问有什么办法忽略掉某些注释嘛

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.