geeh / snubbed
生成 snub 类以在您喜欢的 IDE 中为 ZF2 实现代码补全
dev-master
2015-06-10 15:45 UTC
Requires
- php: >=5.5
- zendframework/zendframework: ~2.1
Requires (Dev)
- phpunit/phpunit: @stable
This package is auto-updated.
Last update: 2024-09-24 04:09:57 UTC
README
ALPHA!!!
Snubbed
创建 Zend Framework 2 项目的 Snubs,使 IDE 集成更加紧密
安装
- 将
"geeh/snubbed": "dev-master"
添加到您的composer.json
并执行composer update
运行
- 使用
php vendor/bin/snub.php <application config> <default controller class>
- 您可以留空参数,它将默认为config/application.config.php
和Zend\Mvc\Controller\AbstractActionController
,这对于基于标准骨架应用的项目来说应该足够好 - 您将在项目根目录下的
.ide
文件夹中看到创建的 Snubs
使用
控制器
- 更新您的 use 语句,在控制器中导入基本控制器时使用 Snubbed 控制器代替 - 建议使用
as
关键字使其无缝
namespace Application\Controller; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; class IndexController extends AbstractActionController { public function indexAction() { return new ViewModel(); } }
变为
namespace Application\Controller; use Snub\SnubbedZendMvcControllerAbstractActionController as AbstractActionController; use Zend\View\Model\ViewModel; class IndexController extends AbstractActionController { public function indexAction() { return new ViewModel(); } }
现在您将在控制器中拥有代码补全,包括任何控制器插件
视图
Snubbed 还将生成视图 Snubs,在视图中为您提供代码补全,包括您的视图助手和每个视图的视图变量。在 .ide/Snub/View
目录中,您将找到一个 class_map.php
文件,它将告诉您每个视图模板应该使用哪个 Snub。您会发现它很简单,并且您很快就能预测文件名。
要使用视图 Snubs,只需在视图文件(在这种情况下为 view\application\index\index.phtml
)的开头包含一个 @var
docblock
class IndexController extends AbstractActionController { public function indexAction() { return new ViewModel( ['form' => new Form()] ); } }
然后在您的视图(在这种情况下为 view\application\index\index.phtml
)中,只需在文件的顶部直接在 <?php
标签下添加以下内容
<?php /* @var \Snub\View\ApplicationControllerIndexIndexAction $this */ ?>
显然,您需要将 Snub 类名替换为适合此视图文件的类名。然后您将在视图中获得代码补全,包括您在操作中设置的视图变量
注意:目前存在一些已知问题阻止变量补全发生。例如,如果您的控制器受 RBAC 或 ZfcUser 身份验证保护,则 Snubbed 将无法从命令行调度控制器,因此无法分析输出。
帮助
目前,代码非常糟糕,未经测试,但实际上是可行的。如果您在使用中发现错误,请 务必 在此处提交问题,以便我可以尝试修复它们。 请务必请务必请务必