关于控制器层的api:
起初是使用http://apizza.cc这个网站做api的开发测试,也可以生成接口文档,相当好看好用,超赞
后来怕这个网站太小众,容易处事,毕竟网站源码也不在自己掌控范围
所以最终改用一款开源的api工具:YApi
总体跟apizza差不多,有可以团队协作,测试集合的功能(相当方便好用),唯一比不上apizza的就是接口返回的内容不能以web内容的方式展现
关于项目协作开发过程api的查看:
在phpDocumentor和swagger中徘徊,最终两个都没选,用了一款symfony官方api用的一个工具sami:
https://github.com/FriendsOfPHP/sami
使用起来也是相当方便:
curl -O http://get.sensiolabs.org/sami.phar
mv sami.phar /usr/local/bin/sami
chmod +x /usr/local/bin/sami
vim sami.php(根据自己的项目路径修改 ->in(__DIR__ . '/src') )
<?php
use Sami\Sami;
use Sami\RemoteRepository\GitHubRemoteRepository;
use Symfony\Component\Finder\Finder;
$iterator = Finder::create() ->files() ->name('*.php') ->exclude('Resources') ->exclude('Tests') ->in(__DIR__ . '/src') ;
return new Sami($iterator, array( //'theme' => 'symfony', 'title' => 'Symfony4 API', 'build_dir' => __DIR__.'/docs/build', 'cache_dir' => __DIR__.'/docs/cache', 'default_opened_level' => 2, ));
sami update sami.php
这个可以根据个人喜好选择,phpDocumentor很多模板都不好看,推荐使用responsive-twig这个模板
如果选择swagger,由于文档都是全英的,入手可能不那么容易,使用起来也不方便,但是这个是真正可以称的上大框架的,只不过公司开发团队规模较小,暂时用不到这样的框架,看一下下面这张图就清楚了: