jonphipps / idehelper
生成文件,帮助PHPStorm、NetBeans或Sublime Text等IDE实现Laravel静态门面的代码自动补全
Requires
- php: >=5.3.0
- illuminate/support: 4.0.x
- phpdocumentor/reflection: dev-master
- symfony/console: 2.2.*
This package is not auto-updated.
Last update: 2024-09-14 12:29:20 UTC
README
从提交的缺失可能很明显,但我目前没有维护它。我建议您使用 barryvdh/laravel-ide-helper,因为它基本上做了同样的事情,尽管结果略有不同。
生成辅助文件,协助IDE(如PHPStorm、SublimeText 2、NetBeans[未测试]等)进行Laravel 4的代码自动补全。
它有一个有用的副作用:每次运行时都会捕捉Laravel 4 API的快照,我发现这有助于跟踪Laravel 4成熟过程中的日常变化。我已经将其置于源代码控制之下,GIT给我提供了一个显示变化的漂亮的diff。
在examples文件夹中有一个示例。
安装
使用命令行从Composer中将它添加到require-dev部分
composer require jonphipps/idehelper:dev-master --dev
我还将其作为post-update命令运行(它非常快),因此每次我运行composer update时,辅助文件都会更新,这样可以确保IDE始终与最新的Laravel API保持同步。
"scripts":{ "post-update-cmd":[ "php artisan idehelper:generate" ] }
编辑app/config/app.php,并将服务提供者添加到providers数组中。
'JonPhipps\IdeHelper\IdeHelperServiceProvider'
最后,更新Composer(如果您运行的是最新版本的Composer,--dev是默认值)
composer update --dev
用法
如上所述,将其作为post-update命令安装,然后让它执行。或者,在终端中从命令行运行php artisan idehelper:generate
php artisan idehelper:generate
在我的机器上运行大约需要2秒钟。
如果您遇到PDO错误
[PDOException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
...这是因为它在实例化数据库类时无法连接到数据库,您只需提供有效的凭据即可。这仅在MySQL数据库上进行了测试,因此可能存在其他配置的问题。
将名为_ide_helper.php的文件写入Laravel项目的app文件夹的根目录。您可以将此文件移动到任何适合您的位置。
每次生成器运行时,它将简单地覆盖此文件,因此如果您进行修改,请确保文件在源代码控制之中或已移至其他位置。
该文件将包含反映Laravel文档块中任何错误的错误。如果您使用PHPStorm,这些错误在显示中将特别戏剧性地格式化。截至本文撰写时间(2013年3月初),在命名空间提示中存在许多错误。
这尚未完全测试,因此欢迎问题和pull请求。
它的工作原理
如果您好奇,它将读取Laravel配置文件以获取别名列表--它将处理那里列出的所有别名,包括您可能添加的任何别名。然后,它使用别名解析门面并返回门面所表示的类。该类传递给PHP ReflectionClass和PHP Documentor的Reflection类。
这两种反射方法获取代码中表示的方法参数以及方法文档,利用两者构建方法、参数及其默认值的一个更完整的图景。
欢迎评论、pull请求和问题--我并不完全确定我是否这样做正确。
您还应该查看: https://github.com/barryvdh/laravel-ide-helper ——他采取了类似的方法使用反射,但生成的文件非常不同,效果也非常好,还有其他一些选项。