laravel2580 / idehelpers
Laravel IDE Helper,为所有 Facade 类生成正确的 PHPDocs,以改进自动补全。
Requires
- php: >=5.4.0
- barryvdh/reflection-docblock: ^2.0.4
- illuminate/console: ^5.0,<5.4
- illuminate/filesystem: ^5.0,<5.4
- illuminate/support: ^5.0,<5.4
- symfony/class-loader: ^2.3|^3.0
Requires (Dev)
- doctrine/dbal: ~2.3
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
Suggests
- doctrine/dbal: Load information from the database about models for phpdocs (~2.3)
- dev-master / 2.2.x-dev
- v2.2.1
- v2.2.0
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.11.x-dev
- v1.11.6
- v1.11.5
- v1.11.4
- v1.11.3
- v1.11.2
- v1.11.1
- v1.11.0
- v1.10.0
- v1.9.3
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.1
- v1.8.0
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.1
- v1.6.0
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v1.0.0-beta2
- v1.0.0-beta1
- dev-revert-303-master
This package is not auto-updated.
Last update: 2024-09-14 18:58:46 UTC
README
对于 Laravel 4.x,请查看 版本 1.11
直接从源代码生成的完整 phpDocs
查看 此 Laracasts 视频 以获得快速介绍/解释!
php artisan ide-helper:generate
- Laravel Facades 的 phpDoc 生成php artisan ide-helper:models
- 模型的 phpDocsphp artisan ide-helper:meta
- PhpStorm Meta 文件
此包生成一个 IDE 可以理解的文件,因此它可以提供准确的自动补全。生成基于项目中的文件,因此它们总是最新的。如果您不希望生成它,可以将预先生成的文件添加到 Laravel 项目的根目录中(但这不如自行生成的文件更新)。
- L5 生成版本:https://gist.github.com/barryvdh/5227822
- Lumen 生成版本:https://gist.github.com/barryvdh/be17164b0ad51f832f20
- 生成 Phpstorm Meta 文件:https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67
注意:您需要为 Sublime Text 安装 CodeIntel:https://github.com/SublimeCodeIntel/SublimeCodeIntel
安装
使用以下命令通过 composer 安装此包
composer require barryvdh/laravel-ide-helper
更新 composer 后,将服务提供者添加到 config/app.php
中的 providers
数组
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
Laravel Facades 的自动 phpDoc 生成
您现在可以自己重新生成文档(用于未来的更新)
php artisan ide-helper:generate
注意:必须在生成之前清除 bootstrap/compiled.php
,因此请在生成之前运行 php artisan clear-compiled
(并在生成后运行 php artisan optimize
)。
您可以将 composer.json 配置为在每次提交后执行此操作
"scripts":{ "post-update-cmd": [ "Illuminate\\Foundation\\ComposerScripts::postUpdate", "php artisan ide-helper:generate", "php artisan ide-helper:meta", "php artisan optimize" ] },
您还可以发布配置文件以更改实现(例如,将接口更改为特定类)或为 --helpers
或 --sublime
设置默认值。
php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
生成器尝试识别实际类,但如果找不到,您可以在配置文件中定义它。
某些类需要一个正常工作的数据库连接。如果您没有默认的正常工作的连接,某些 Facade 将不会包括在内。您可以使用带有 -M 选项的内存中 SQLite 驱动程序。
您可以选择包含辅助文件。默认情况下,此选项未启用,但您可以使用 --helpers (-H)
选项覆盖它。已经设置了 Illuminate/Support/helpers.php
,但您可以在配置文件中添加/删除自己的文件。
模型的自动 phpDocs
您需要在您的 composer.json 中要求
doctrine/dbal: ~2.3
以获取数据库列。
composer require doctrine/dbal
如果您不想自己编写属性,可以使用命令 php artisan ide-helper:models
生成 phpDocs,基于表列、关系和获取/设置方法。您可以使用 --write (-W)
选项直接将注释写入模型文件。默认情况下,系统会询问您是要覆盖还是写入一个单独的文件(_ide_helper_models.php
)。您可以使用 --nowrite (-N)
强制不写入。请在写入信息之前确保备份您的模型。它应保留现有注释并仅附加新的属性/方法。现有的 phpdoc 被替换或添加(如果未找到)。使用 --reset (-R)
选项,忽略现有的 phpdocs,并将新找到的列/关系保存为 phpdocs。
php artisan ide-helper:models Post
/** * An Eloquent Model: 'Post' * * @property integer $id * @property integer $author_id * @property string $title * @property string $text * @property \Carbon\Carbon $created_at * @property \Carbon\Carbon $updated_at * @property-read \User $author * @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments */
默认情况下,会扫描 app/models
中的模型。可选参数告诉使用哪些模型(也可以在 app/models 外部)。
php artisan ide-helper:models Post User
您也可以使用 --dir
选项(从基本路径相对路径)扫描不同的目录。
php artisan ide-helper:models --dir="path/to/models" --dir="app/src/Model"
您可以通过 php artisan vendor:publish
命令发布配置文件并设置默认目录。
可以使用 --ignore (-I)
选项忽略模型。
php artisan ide-helper:models --ignore="Post,User"
注意:使用命名空间时,请将模型名称用 " 符号括起来: php artisan ide-helper:models "API\User"
,或者转义斜杠(Api\\User
)。
PhpStorm 容器实例的元数据
可以生成一个 PhpStorm 元数据文件,以 支持工厂设计模式。对于 Laravel,这意味着 PhpStorm 可以理解从 IoC 容器中解析的对象类型。例如,events
将返回一个 Illuminate\Events\Dispatcher
对象,因此使用元数据文件,您可以调用 app('events')
并自动完成 Dispatcher 方法。
php artisan ide-helper:meta
app('events')->fire(); \App::make('events')->fire(); /** @var \Illuminate\Foundation\Application $app */ $app->make('events')->fire(); // When the key is not found, it uses the argument as class name app('App\SomeClass');
预生成示例: https://gist.github.com/barryvdh/bb6ffc5d11e0a75dba67
注意:您可能需要重新启动 PhpStorm 并确保
.phpstorm.meta.php
已被索引。注意:当您收到关于找不到类的致命异常时,请检查您的配置(例如,在没有配置 S3 时移除 S3 作为云驱动程序。当您不使用它时移除 Redis ServiceProvider)。
许可协议
Laravel IDE Helper 生成器是开源软件,遵循 MIT 许可协议