Phpstorm Smarty



JetBrains PhpStorm er et integrert utviklingsmiljø for PHP-utviklere som er bygget på plattformen til IntelliJ IDEA.

DESCRIPTION

Ruby on Rails and Node.js, Laravel Expert. Amsterdam, North Holland, Netherlands. Hi, I am web developer focusing on the back end with over 10 years experience. Proficient working with HTML, CSS, Javascript, a. Facebook Advertising. Twitter Development. PHPStorm was developed by JetBrains and it is also one of the best PHP editor IDE for building apps, website and so on using PHP. It is written in JAVA and has become a strong choice for many developers in the world. It is totally free for teachers and students but requires a license fee as an enterprise editor. PhpStorm is perfect for working with Symfony, Laravel, Drupal, WordPress, Zend Framework, Magento, Joomla!, CakePHP, Yii, and other frameworks. All the PHP tools The editor actually 'gets' your code and deeply understands its structure, supporting all the PHP language features for modern and legacy projects.

PHP IDE with refactorings, code completion, on-the-fly code analysis and coding productivity orientation.

PhpStorm is a PHP IDE. It provides on-the-fly error prevention, autocompletion and code refactoring, zero configuration debugging and an extended HTML, CSS, and JavaScript editor. PhpStorm also provides powerful built-in tools for debugging, testing and profiling your applications.

PhpStorm - PHP IDE with Intelligent editor for productive coding
PhpStorm provides a rich and intelligent code editor for PHP with syntax highlighting, extended code formatting configuration, on-the-fly error checking, and smart code completion.

PhpStorm PHP Code Completion
Code completion (Ctrl + Space) finalizes classes, methods, variable names, and PHP keywords, plus commonly used names for fields and variables depending on their type.

PhpStorm PHPDoc Support
The PhpStorm editor respects PHPDoc in your code and provides appropriate code completion suggestions based on @property, @method and @var annotations. When you edit PHPDoc for your code, the variables names and types are auto-completed from the corresponding code blocks. PHP code refactorings also consider PHPDocs to keep them up-to-date.

PhpStorm PHP Refactoring
Rename refactoring works for files, functions, constants, classes, properties, methods, parameters, local and global variables. Make global project changes easily and safely. Local changes are made instantly in-place.

PhpStorm Smarty Templates Editing
PhpStorm IDE allows you to use a Smarty template engine and offers the following productivity features for working with .tpl files:

  • Configurable syntax highlighting for keywords, strings, variables and braces
  • Syntax errors highlighting
  • Smarty functions and attributes completion
  • Automatic insertion of paired braces, quotes and closing tags
  • Commenting of the selected block with a single hotkey
  • Custom Smarty delimiters support

PhpStorm Efficient project analysis and navigation
Thorough source code analysis allows PhpStorm to provide a sophisticated code completion, even to unannotated code, for example:

  • Function return type is deducted from its body and return statements
  • Class property types (and declarations) are extracted from the constructor code
  • File structure view and class, method and call hierarchy views allow for faster code review and navigation.

PhpStorm Unit testing without interruptions
Develop PHP Unit tests in PhpStorm and run them instantly from directory, file or class using the context menu options. Dedicated Run/Debug configurations allow you to the required set of tests at any time. Tests are executed in a dedicated Test Runner UI, displaying results overview and detailed stats for the whole suite and every particular test. In case of a test failure you can instantly get from the stacktrace to the line of code where the error occurred.

Code stepping and evaluation with built-in debugger
PhpStorm provides numerous options for debugging your PHP code allowing you to:

  • Set conditional breakpoints with smart step into that allows you to choose a particular method to step into from the call chaininspect context-relevant local variables and user-defined watches, including arrays and complex objects, and edit values on the fly
  • Evaluate an expression in runtime
  • Debug a page in multiple sessions simultaneously
  • Keep a debugging session alive while moving between pages

TRY NOW

Download demo of PhpStorm

Download a trial of PhpStorm and evaluate the product for 30 days. A trial license can be downloaded at https://www.jetbrains.com/products.html.

SPECIFICATIONS

System requirements PhpStorm

Operating System for Deployment
Windows 10
Windows 8.1
Windows 8
Windows 7
Windows Vista
Windows XP
Windows Server 2003
GNOME or KDE desktop
Mac OS X 10.5 or higher
Architecture of Product
32Bit
Product Type
Application

Prerequisites
Disk Space Required: 1 GB RAM minimum 2 GB RAM recommended

RESOURCES

Here is our collection of resources for learning and getting the most of your subscription of JetBrains.

Videos

COMPARE

Licensing Terms

JetBrains uses a subscription-based licensing model, allowing you to purchase yearly subscriptions that includes all bug fix updates. The new licensing model also includes perpetual fallback license grants. When purchasing an annual subscription, you will immediately get a perpetual fallback license for the exact version available at the time of your purchase.

Commercial Annual Subscription - for legal entities, including companies and organizations (both for-profit and non-profit), requiring the software for general commercial use. A legal entity may use the software under the Business Subscription on any computer, operating system, and by any developer within a legal entity, provided that the total number of concurrent users never exceeds the number of subscriptions purchased by that legal entity.

Commercial Annual Subscription includes:

  • Free unlimited email access to technical support and online support resources for the period of the Business Subscription
  • Free generally available bug fix upgrades, minor releases and major releases for the licensed JetBrains IntelliJ IDEA edition for the period of the Business Subscription
  • Available to any legal entity (companies and organizations, including non-profit and government)
  • The license is owned by the legal entity, not by an individual
  • Non-transferable restriction: Use of the software is restricted to the legal entity with no right to transfer. Companies and organizations can only transfer their licenses between employees and contractors
  • The licensed purpose of use is general commercial usage
  • Multi-user license - the total number of concurrent software users cannot exceed the number of purchased subscriptions
  • The license term is time-limited, based on yearly subscription payments
  • Perpetual fallback license: Your license is NOT perpetual. The new licensing model includes perpetual fallback license grants. Perpetual fallback license is a license that allows you to use a specific version of the software after your Business Subscription expires. The specific version of the software that you can fallback to use when your Business Subscription expires will be the exact version available at the time of your purchase

SUPPORT

Support

In the subscription following Support and Maintenance with JetBrains is included

Phpstorm smarty cats
  • Unlimited access to technical support via e-mail
  • Free upgrades to all minor and major releases including bug fixes


We recommend the following JetBrains support- and resource pages:


Alfasoft offer first line support to our JetBrains customers

Please click here for first line support! (Link to alfasoft.com support form)

Please explain your problem in detail when contacting us. Please remember to enter your version number, and which operating system you are running.

NEWS

PHP

  • Doctrine Query Language- PhpStorm comes with full advanced DQL support. You’ll get all the inspections and refactorings: find usages, rename entity or field, associations support, and even more.
  • PHP 7.3 Support- Including flexible Heredoc and Nowdoc syntax, trailing comma in function and method calls, literals as the first operand of instanceof, and the list() reference assignment.
  • Ctrl+Dot Completion- Press Ctrl+. in the suggestions list to get the completed item followed by an arrow. You can then type in the method name right away.
  • PHPDoc Improvements- PhpStorm adds Support for Intersection Types “&”. If you annotate a variable as Foo&Bar, then it is of type Foo and of type Bar at the same time. PhpStorm will also suggest members of both classes.
  • Improvements for formatted string functions -PhpStorm makes it easier to use printf() / sprintf() and prevent common mistakes.
  • Refactorings and Intentions- PhpStorm 2018.3 delivers many refactoring improvements and related intention actions:
    • With the Replace with Alias intention, you can now replace use FooBar with use FooBar as Baz, which will also replace all Bar occurrences with Baz. The opposite action Inline Alias is available as well.
    • The new intention Сhange Class Member Visibility allows you to safely switch public/protected/private modifiers of properties and methods.
    • Private name refactoring is improved and by default PhpStorm will search only context usages when renaming private properties.

Deployment

  • Remote Deployment To Multiple Hosts -PhpStorm lets you copy files and folders to a remote server using FTP/SFTP/FTPS, as well as to a local or mounted folder as a destination. Now you can deploy to multiple servers at once by using server groups. Add as many groups as you wish with an arbitrary number of destinations in each group, and deploy to all servers in a group simultaneously in one click.

Quality Tools

  • PHP CS Fixer Support- Now with PHP CS Fixer support, it becomes possible to automatically fix code style issues. Not only will PhpStorm detect the path to PHP CS Fixer for you, but it will also autodetect your custom ruleset and turn on the corresponding inspection. Go to some file with code style issues, and run quick-fix that will update the whole file at once.
  • Autodetect non-PSR coding standards for PHP_CodeSniffer -Non-PSR coding standards for PHP_CodeSniffer will be autodetected from your composer.json for the following frameworks: Symfony, Doctrine, Drupal, WordPress, Joomla!, Magento, MediaWiki, Yii 2, and CakePHP.
  • Simplified settings of quality tools -The quality tools settings have been simplified: you can now configure all supported tools (PHPCS, PHPMD, and PHP CS Fixer) in one place.

Version Control

  • GitHub Pull Requests -You can now work with pull requests inside PhpStorm. Select VCS > Git > View Pull Requests in the menu to open a new tool window with a list of all the pull requests in your project. You can see the description, assignee, reviewers, labels, and changed files from the pull request. See diffs and create a new local branch from pull requests right there.
  • Support for Git submodules -All the familiar features in the Git integration, such as update project, commit changes, view diff, and conflict resolution, now work with Git submodules.
  • Ignore whitespaces -You can now ignore or trim whitespaces while merging – the configuration is available in the new drop-down at the top of the Merge Revisions for… dialog. Whitespaces are also ignored by default when you use Annotate for a file.
  • And even more -Advanced navigation in the VCS log with arrow keys, a parallel fetch of multiple Git repos, better support for pre-commit hooks, and a lot of other improvements are in store.
  • Web Technologies Support
  • Autoimports in JavaScript -In JavaScript files, PhpStorm can now automatically add imports not only for symbols defined in your project, but also for symbols from the project’s dependencies. This works as long as the library has sources written as ES modules or a TypeScript type definition file.
  • Improved Angular support- PhpStorm is now much better at helping you edit Angular templates. Сode completion and Go to definition for variables, pipes and async pipes, as well as for the template reference variables, are now much more accurate. In total, over 50 known issues have been fixed in Angular and AngularJS support.
  • Better 'null' and 'undefined' check -PhpStorm can now better detect situations that lead to a TypeError because a method is invoked on a value that is undefined or null, or it is passed to a function, or its property is used.
  • Vuetify support -PhpStorm now provides code completion for components from Vuetify version 1.1 or later.
  • React improvements -In React apps, code completion now suggests all component lifecycle methods. The Unresolved variable inspection will now warn you about any potentially undefined components.

IDE

  • New search popup- The new Search Everywhere dialog is a better way to navigate the project and the IDE - search classes, files, symbols, and even actions and settings. Press Shift-Shift to search everywhere, and switch contexts by pressing Tab.
  • High-contrast theme- To make it more accessible, PhpStorm adds a new high-contrast UI theme. The IDE now allows screen readers to read line numbers, VCS annotations, breakpoints, and other gutter icons. Learn more about screen reader support in the documentation.

Database Tools

  • Cassandra database support.
  • Many improvements in code completion.
  • Support for extensions in PostgreSQL.
  • Introduce table alias intention.
  • Auto-reconnect after time-outs.
  • Ever struggled with finding variables while debugging? Start typing anything to Search variables in debug.
  • Run configurations for HTTP Requests are now supported and created for you automatically as soon as you run a request.
  • Aliases References In Italic help to distinguish real class names and aliased ones.
  • PhpStorm will autodetect Configuration for Test Frameworks based on the composer.json and dotfiles and automatically create Run Configuration to run tests.
  • You’ll be able to generate setUp and tearDown methods for PHPUnit which are called every time before and after running each test method, respectively.

TRAINING & EVENTS

Currently Alfasoft does not offer JetBrains trainings.

For a first insight about PhpStorm, please watch following video:

Use this page to enable or disable specific smart keys and to define which actions you want to be invoked automatically.

ItemDescription
Home moves caret to first non-whitespace characterWhen this checkbox is selected, on pressing Home, the caret is positioned at the first non-whitespace character of the current line. Pressing Home subsequently moves the caret from the Smart Home position to the first column and back.
End on blank line moves caret to indent positionWhen this checkbox is selected, on pressing End in an empty line, the caret is positioned with the indent, which PhpStorm assumes to be reasonable in the current code point (indentation is based on the current Code Style Settings ).
Insert pair brackets (), [], {}, <>Select this checkbox to have PhpStorm automatically add a closing bracket for each typed opening bracket, respectively.
Insert pair quote

Select this checkbox to have PhpStorm automatically add a closing single or double quote for each typed opening single or double quote, respectively.

Reformat block on typing '}'If this checkbox is selected, then, on typing the closing curly brace, the enclosed code block is reformatted automatically, if the formatting of this code block does not match the selected code style.
Use 'CamelHumps' words

Select this checkbox to have PhpStorm discern separate words within CamelHump names. Words within a name should start with a capital letter or an underscore. This option impacts some editor actions, for example:

  • Caret MoveCtrl+Right/ Ctrl+Left

  • Caret Move with Selection (Ctrl+Shift+Right/ Ctrl+Shift+Left)

  • Select Word at CaretCtrl+W

  • Delete to Word Start/End (Ctrl+Backspace and Ctrl+Delete respectively)

  • Double-clicking (if Honor 'CamelHumps' word settings when selecting using double click is enabled).

Honor 'CamelHumps' word settings when selecting using double-click

Select this checkbox to have PhpStorm invoke the CamelHumps selection when words are selected by double-clicking.

This feature works only if the Use 'CamelHumps' words option is enabled.

Surround selection on typing quote or braceIf this checkbox is selected, the selected text on typing a quote, double-quote or brace, will be surrounded with these characters. If this checkbox is not selected, then the typed quotes, double-quotes or braces will replace the selection.
Add multiple carets on double Ctrl with arrow keys

If this checkbox is selected, then:

  • pressing Ctrl plus up/down arrow keys leads to creating multiple carets.

  • pressing Ctrl plus left/right arrow keys or Home/End leads to creating a selection.

For more information, see the Multicursor section.

Jump outside closing bracket/quote with Tab when typing

If this checkbox is selected, pressing Tab when typing inside brackets/quotes will move the caret outside the closing bracket/quote. If this checkbox is not selected, pressing Tab will insert the Tab character.

Note that this only works on initial typing: during subsequent editing, pressing Tab inside brackets/quotes will insert the Tab character.

Enter

Use this area to define the actions to be invoked by pressing Enter.

  • Smart indent: select this checkbox to have PhpStorm add a new line and position the caret at it, with the indent that PhpStorm assumes to be reasonable in the current point of code (indentation is based on the current Code Style settings).

    If the checkbox is cleared, upon pressing Enter in a blank line, PhpStorm adds a new line and positions the caret at the current non-space character column.

  • Insert pair '}': select this checkbox to have PhpStorm automatically position a closing brace } at the proper column when Enter is pressed in an empty line. In this case PhpStorm seeks backward for the nearest unclosed opening brace { and places the closing one at the corresponding indentation level.

  • Insert documentation comment stub: this checkbox defines the behavior on pressing Enter after the opening documentation comment. This functionality works only for JavaScript, Java, Groovy, and Swift.

    • If this checkbox is selected, PhpStorm generates a documentation comment stub.

      For the function comments, this stub contains the required tags (@param tags for each parameter declared in the signature, and @return ). Refer to PHPDoc comments, JSDoc comments for details.

    • If this checkbox is not selected, only the closing part of the comment is generated.

    Note that this checkbox refers to JavaScript and other languages that have special beginning of documentation comments.

Unindent on Backspace

Use this list to define the actions to be invoked by pressing Backspace key. The available options are:

  • Disabled: pressing Backspace returns the caret by one position at a time.

  • To nearest indent position
  • To proper indentation
Reformat on paste

Use this list to specify how to place pasted code blocks. The available options are:

  • None: the pasted code is inserted at the caret location as plain text without any reformatting or indenting.

  • Indent Block: the pasted code block is positioned at the proper indentation level, according to the current Code Style Settings, but its inner structure is not changed.

  • Indent Each Line: each line of the pasted code block is positioned at the proper indentation level, according to the current Code Style Settings.

  • Reformat Block: the pasted code block is reformatted according to the current Code Style Settings.

This feature is applicable to lines that contain the trailing line feed characters.

Kotlin

Use this area to configure the smart keys options for Kotlin.

  • Convert pasted Java code to Kotlin: select this option to convert any Java code to Kotlin on paste. PhpStorm displays the Convert Code from Java dialog. If you don't want PhpStorm to show the dialog, select the Don't show Java to Kotlin conversion dialog on paste option.

AngularJS

Use this area to define the behavior of AngularJS:

  • Auto-insert white space in the interpolation: If this checkbox is selected, a white space is automatically inserted between the braces: {{ }}.
    If this checkbox is not selected, the white space is not inserted: {{}}.

Use this page to configure the editor behavior for HTML, XML, and CSS.

ItemDescription
XML/HTML

In this area, define the actions to be invoked automatically when editing XML or HTML code.

  • Insert closing tag on tag completion: select this checkbox to have PhpStorm automatically insert a closing XML or HTML tag upon entering the corresponding opening one.

  • Insert required attributes on tag completion: select this checkbox to have PhpStorm display a template with all mandatory attributes of the typed tag.

  • Insert required subtags on tag completion: select this checkbox to have PhpStorm display a template with all mandatory subtags.

  • Start attribute on tag completion: select this checkbox to have PhpStorm display a template with the first mandatory attribute of the typed tag.

  • Add quotes for attribute value on typing '=': select this checkbox to have PhpStorm automatically add quotes for the value of the attribute that you are currently typing.

  • Auto-close tag on typing '</': select this checkbox to automatically add a closing tag after entering </. Clear this checkbox to turn off such auto-completion.

  • Simultaneous <tag></tag> editing: When this checkbox is selected and you edit an opening tag the corresponding closing tag is automatically changed accordingly.

    If this checkbox is cleared, editing the opening tag does not affect the closing tag which remains unchanged. As a result, the opening and closing tags do not match and the entire construct is underlined as erroneous.

    The Simultaneous <tag></tag> editing checkbox controls the behaviour of PhpStorm in the following contexts:

    • HTML files

    • HTML injections within JavaScript code

    • HTML with Handlebars/Mustache templates

    • Handlebars/Mustache template files with the extension .hbs

    • XML, XHTML files

    • DTD files

    • JSX files

    • HTML injections in PHP files

CSS

In this area, define the selection of CSS identifiers/classes:

  • Select whole CSS identifier on double-click: if this checkbox is selected, double-click a CSS identifier or class name selects the entire name up to the prefix:

    If this checkbox is not selected, double-click a CSS identifier or class name selects a portion of a name up to the nearest hyphens:

Phpstorm Smarty Cat

Use this page to configure the editor behavior for JSON.

ItemDescription
JSON

The settings in this area control automatic adding of commas, quotes, and whitespaces in JSON context in compliance with the JSON syntax.

Use this page to configure the editor behavior for JavaScript.

ItemDescription
Start template string interpolation on typing '$'Select this checkbox to insert expressions with normal strings after the $ sign. See Expression interpolation for details.
Escape text on paste in string literals

By default, PhpStorm automatically inserts backslash escape symbols () when you paste text into a JavaScript string. Clear the checkbox to suppress automatic text escaping.

Convert attributes when pasting HTML to JSX files

By default, when you copy a piece of HTML code with class attributes or on-event handlers and paste it into JSX, PhpStorm automatically replaces these attributes with React-specific ones (className, onClick, onChange, and so on.)

To copy HTML code to JSX 'as is', clear the checkbox or use Paste SimpleCtrl+Alt+Shift+V.

Use this page to configure the eiditor behavior for SQL.

ItemDescription
Insert string concatenation on Enter

You may want to turn this option off, if the DBMS you are working with supports multiline string literals:

Say, there is the following fragment for PostgreSQL text value notes:

and the cursor is in front of the word element.

If the option is on, and you press Enter, the fragment will change to:

SET notes = 'Lightest ' || 'element'

Otherwise, the fragment will change to:

Close code blocks on Enter

When you start a code block with an opening keyword (BEGIN, LOOP, BEGIN TRY, and others) and press Enter, the code block closes with the corresponding closing keywords (END, END LOOP, END TRY, and others).

Qualify object on code completion

The selected option defines how the name of an object is inserted in the editor when using the code completion suggestion box.

  • Always: the qualified object names are always used, for example <schema_name>.<object_name>.

  • On collisions: the qualified object name is used only if the short name is ambiguous, for example when there is the object with the same name in more than one schema.

  • Never: the unqualified object names are always used.

Use this page to configure the editor behavior for Yaml.

ItemDescription
Auto expand key sequences upon pasteWith this option selected, PhpStorm properly formats key sequences when you paste them from the clipboard. For example, the key2.anoher_key sequence pasted from the clipboard will be displayed with the correct hierarchy.

Use this page to define the behavior of the editor in the PHP context.

Phpstorm Smarty Bear

ItemDescription
Enable smart function parameter completion

When this checkbox is selected, you can use the “automatic” live template that provides completion lists for the parameters passed into functions, methods, or class constructors.

To invoke the magic live template, type the params keyword as the first parameter in the call of the function, method, or class:

PhpStorm displays a live template where the parameters are automatically completed with the variable names defined in the function declaration. To move to the next parameter, press Enter or Tab. To move to the previous parameter, press Shift+Tab.

The completion list contains variables from a local scope in the next order: with the same type, with a similar name, defined nearby. You can always switch to the usual completion mode by pressing Ctrl+Space or just typing anything which is not in the list. Variables with similar names are inserted automatically.

Select variable name without $ sign on double click When this checkbox is selected, only the variable name that follows the $ sign is selected on double-click or pressing Ctrl+W. This is helpful if you often need to copy variable names without $: just double-click and copy the selection.
If you still need a variable name with $ selected, position the caret before the $ sign and double-click it or press Ctrl+W.
Remove PHP open/close tags while pasting in PHP contextIf selected, PhpStorm will automatically remove the opening and closing <?php ?> tags from the pasted PHP code snippets.
Escape symbols on paste in string literals

If selected, PhpStorm automatically inserts backslash escape symbols () when you paste text into a PHP string literal. For example, 'copied text' becomes 'copied text'.

Clear the checkbox to suppress automatic symbols escaping.

Auto-insert '<?php' tag after typing '<?'If selected, PhpStorm will automatically insert the <?php opening tag when you type the <? short tag. Note that short tags are deprecated in PHP 7.4, and are planned for removal in PHP 8.0. See the RFC for details.
Show additional options when searching for method usagesIf selected, when you search for usages of a method, PhpStorm will prompt you to choose whether you want to find usages of a base method or method's implementations.