/yii2support

Yii2 Support for PhpStorm / IntelliJ IDEA

Primary LanguageJavaOtherNOASSERTION

IntelliJ IDEA / PhpStorm Yii2 Support

Latest Stable Version Total Downloads Downloads Last Month

IntelliJ IDEA / PhpStorm Yii2 Support

Provides Yii 2 Framework support for PhpStorm and IntelliJ IDEA.

Donate

Please make donations to support plugin development.
paypal yandex.money
Bitcoin: 36TYn22Ch48FsBriJkGmD52Ge8Dqf7Gjkb

Features

Views

  • View template names and parameters completion
  • Add view parameters after completion
  • Inspection for missing view templates
  • QuickFix for missing view templates
  • Jump to View file (go to declaration)
  • Inspection for required and unused template parameters
  • QuickFix for required and unused template parameters
  • Updates path to view template when file is moved

i18n

  • Code completion
  • Generate params array

Configuration arrays

Code completion for Yii configuration arrays. Works both in configuration files and on object instantiation. Following cases are supported:

  • Array in $config parameter in yii\base\Object or its descendants constructor
  • Array has a class key with valid class representation: fully qualified name as string, ClassName::class or Class::className()
  • Array is a value of a key that corresponds to standard Yii classes (like db, request, mailer, and so on), and a file with this array is located within config directory
  • WidgetClass::widget() and WidgetClass::begin calls in case WidgetClass is a descendant of yii\base\Widget
  • $field->widget() method call on yii\widgets\ActiveField and its descendants
  • Inside array in GridView, columns key
  • Yii::createObject method

Go To Declaration, Rename, Find usages and Help popups work whenever code completion works.

Database support

Database connection is required

Table Prefix support

Use plugin settings window to set up table prefix

ActiveQuery

  • Code completion for ActiveQuery (ActiveRecord::find()->where for example)
  • Code completion inside ActiveQuery linked to ActiveRecord
  • Inspection in case if ActiveQuery not linked to ActiveRecord

ActiveRecord

  • Code completion for ActiveRecord findAll(), findOne() and so on methods
  • Undetectable ActiveRecord table inspection
  • Code completion in relations methods

Migrations

  • Code completion for migrations

Condition parameters

  • Condition parameters code completion
  • Condition parameters inspection

Properties

  • Synchronize properties with database
  • Unused properties inspection

Form support

  • Complete model attribute for $form->field($model, ...) & Html::active*($model, ...) methods

Validators support

  • Autocomplete for arrays in model's rules() method

Type resolution

  • Yii::createMethod()
  • one() and all() methods of ActiveQuery

Migration tool

  • Migrations UI Navigator
  • Apply/Undo/Redo migrations from UI
  • Support Remote CLI for Docker, Vagrant, VM, Remote servers
  • Sync IDE DataBase schema after Apply/Undo/Redo migration(s)
  • View command execution output

Inspections

Inspections can be disabled inline /** @noinspection MissedViewInspection */.

Views

  • MissedViewInspection
    Reports missing view templates
  • RequireParameterInspection
    Analyzes SQL condition and checks if all declared parameters are set
  • UnusedParameterInspection
    Detecting unused View parameters
  • ViewMissedPhpDocInspection
    Inspect PhpDoc for incoming parameters

Object Factory

  • ObjectFactoryMissedFieldInspection
    Reports missing object properties

Database

  • MissedParamInspection
    Analyzes SQL condition and checks if all declared parameters are set
  • PropertiesInspection
    Detects properties do not correspond to class fields or table columns in case of ActiveRecord
  • UndetectableTableInspection
    Finds ActiveRecord table and check if it exists in database connections
  • MissingActiveRecordInActiveQueryInspection
    Check if ActiveQuery correctly linked to ActiveRecord

Installation

  • Open your PhpStorm or IntelliJ IDEA IDE.
  • Go to FileSettings.
  • Choose Plugins.
  • Press Browse repositories... button.
  • Type yii2 support.
  • Press Install green button on the very top of description.

Contributing

The plugin is Open Source. You may contribute either by testing and reporting issues or by sending pull requests.

Spreading the Word

Acknowledging and or citing the plugin is as important as direct contributions.

If you are giving a presentation or talk we suggest using our logo.

Project Changelog