- Install PhpStorm
- System requirements
- Install using the Toolbox App
- Install the Toolbox App
- Install the Toolbox App
- Install the Toolbox App
- Standalone installation
- Silent installation on Windows
- Silent configuration file
- Install as a snap package on Linux
- androidneha / PhpStorm-2021-activation-code
- This comment has been minimized.
- CojocariIon commented Aug 13, 2021
- This comment has been minimized.
- CristiCor commented Aug 18, 2021
- This comment has been minimized.
- bim-g commented Aug 23, 2021
- This comment has been minimized.
- galni56 commented Sep 14, 2021
- This comment has been minimized.
- bim-g commented Sep 15, 2021
- This comment has been minimized.
- dimasch commented Sep 17, 2021
- This comment has been minimized.
- ilhamem commented Sep 17, 2021
- This comment has been minimized.
- klim2020 commented Sep 19, 2021
- PhpStorm 2021.2 Beta: Generics Support Is Coming
- Support for Generics
- Are there generics in PHP?
- Generics via annotations
- What will work in PhpStorm 2021.2?
- What is the future scope?
- How do I submit feedback?
Install PhpStorm
PhpStorm is a cross-platform IDE that provides consistent experience on the Windows, macOS, and Linux operating systems.
System requirements
Requirement | Minimum | Recommended |
---|---|---|
RAM | 2 GB of free RAM | 8 GB of total system RAM |
CPU | Any modern CPU | Multi-core CPU. PhpStorm supports multithreading for different operations and processes making it faster the more CPU cores it can use. |
Disk space | 2.5 GB and another 1 GB for caches | SSD drive with at least 5 GB of free space |
Monitor resolution | 1024×768 | 1920×1080 |
Operating system | Latest 64-bit version of Windows, macOS, or Linux (for example, Debian, Ubuntu, or RHEL) |
You do not need to install Java to run PhpStorm because JetBrains Runtime is bundled with the IDE (based on JRE 11).
Install using the Toolbox App
The JetBrains Toolbox App is the recommended tool to install JetBrains products. Use it to install and manage different products or several versions of the same product, including Early Access Program (EAP) and Nightly releases, update and roll back when necessary, and easily remove any tool. The Toolbox App maintains a list of all your projects to quickly open any project in the right IDE and version.
Install the Toolbox App
Download the installer .exe from the Toolbox App web page.
Run the installer and follow the wizard steps.
After you run the Toolbox App, click its icon in the notification area and select which product and version you want to install.
Log in to your JetBrains Account from the Toolbox App and it will automatically activate the available licenses for any IDE that you install.
Install the Toolbox App
Download the disk image .dmg from the Toolbox App web page.
There are separate disk images for Intel and Apple Silicon processors.
Mount the image and drag the JetBrains Toolbox app to the Applications folder.
After you run the Toolbox App, click its icon in the main menu and select which product and version you want to install.
Log in to your JetBrains Account from the Toolbox App and it will automatically activate the available licenses for any IDE that you install.
Install the Toolbox App
Download the tarball .tar.gz from the Toolbox App web page.
Extract the tarball to a directory that supports file execution.
For example, if the downloaded version is 1.17.7391, you can extract it to the recommended /opt directory using the following command:
Execute the jetbrains-toolbox binary from the extracted directory to run the Toolbox App and select which product and version you want to install. After you run the Toolbox App for the first time, it will automatically add the Toolbox App icon to the main menu.
Log in to your JetBrains Account from the Toolbox App and it will automatically activate the available licenses for any IDE that you install.
You can use this shell script that automatically downloads the tarball with the latest version of the Toolbox App, extracts it to the recommended /opt directory, and creates a symbolic link in the /usr/local/bin directory.
Standalone installation
Install PhpStorm manually to manage the location of every instance and all the configuration files. For example, if you have a policy that requires specific install locations.
Run the installer and follow the wizard steps.
On the Installation Options step, you can configure the following:
Create a desktop shortcut for launching PhpStorm.
Add the directory with PhpStorm command-line launchers to the PATH environment variable to be able to run them from any working directory in the Command Prompt.
Add the Open Folder as Project action to the system context menu (when you right-click a folder).
Associate specific file extensions with PhpStorm to open them with a double-click.
To run PhpStorm, find it in the Windows Start menu or use the desktop shortcut. You can also run the launcher batch script or executable in the installation directory under bin .
There are separate disk images for Intel and Apple Silicon processors.
Mount the image and drag the PhpStorm app to the Applications folder.
Run the PhpStorm app from the Applications directory, Launchpad, or Spotlight.
Extract the tarball to a directory that supports file execution.
For example, to extract it to the recommended /opt directory, run the following command:
Do not extract the tarball over an existing installation to avoid conflicts. Always extract it to a clean directory.
Execute the PhpStorm.sh script from the extracted directory to run PhpStorm.
To create a desktop entry, do one of the following:
On the Welcome screen, click Configure | Create Desktop Entry
From the main menu, click Tools | Create Desktop Entry
When you run PhpStorm for the first time, some steps are required to complete the installation, customize your instance, and start working with the IDE.
For information about the location of the default IDE directories with user-specific files, see Directories used by the IDE.
Silent installation on Windows
Silent installation is performed without any user interface. It can be used by network administrators to install PhpStorm on a number of machines and avoid interrupting other users.
To perform silent install, run the installer with the following switches:
/S : Enable silent install
/CONFIG : Specify the path to the silent configuration file
/D : Specify the path to the installation directory
This parameter must be the last in the command line and it should not contain any quotes even if the path contains blank spaces.
To check for issues during the installation process, add the /LOG switch with the log file path and name between the /S and /D parameters. The installer will generate the specified log file. For example:
Silent configuration file
You can download the default silent configuration file for PhpStorm at https://download.jetbrains.com/webide/silent.config
The silent configuration file defines the options for installing PhpStorm. With the default options, silent installation is performed only for the current user: mode=user . If you want to install PhpStorm for all users, change the value of the installation mode option to mode=admin and run the installer as an administrator.
The default silent configuration file is unique for each JetBrains product. You can modify it to enable or disable various installation options as necessary.
It is possible to perform silent installation without the configuration file. In this case, omit the /CONFIG switch and run the installer as an administrator. Without the silent configuration file, the installer will ignore all additional options: it will not create desktop shortcuts, add associations, or update the PATH variable. However, it will still create a shortcut in the Start menu under JetBrains .
Install as a snap package on Linux
You can install PhpStorm as a self-contained snap package. Since snaps update automatically, your PhpStorm installation will always be up to date.
To use snaps, install and run the snapd service as described in the installation guide.
On Ubuntu 16.04 LTS and later, this service is pre-installed.
PhpStorm is distributed via two channels:
The stable channel includes only stable versions. To install the latest stable release of PhpStorm, run the following command:
The —classic option is required because the PhpStorm snap requires full access to the system, like a traditionally packaged application.
The edge channel includes EAP builds. To install the latest EAP build of PhpStorm, run the following command:
When the snap is installed, you can launch it by running the phpstorm command.
To list all installed snaps, you can run sudo snap list . For information about other snap commands, see the Snapcraft documentation.
Источник
androidneha / PhpStorm-2021-activation-code
## Step 1 |
Open C:\Windows\System32\drivers\etc\hosts |
## Step 2 |
Add 1.2.3.4 account.jetbrains.com |
## Step 3 |
Add this key to Phpstorm |
«1W61R3J3UL-eyJsaWNlbnNlSWQiOiIxVzYxUjNKM1VMIiwibGljZW5zZWVOYW1lIjoi5r+A5rS75p2l5rqQIHd3d8K3YWppaHVvwrdjb20iLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiIiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJSU0MiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJHTyIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiUlNGIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9LHsiY29kZSI6IkNMIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJSRCIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9LHsiY29kZSI6IlJTMCIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJSU1YiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9LHsiY29kZSI6IlJTVSIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9LHsiY29kZSI6IkRQIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiUERCIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiUFdTIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiUFNJIiwicGFpZFVwVG8iOiIyMDIxLTA4LTExIn0seyJjb2RlIjoiUENXTVAiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJQUFMiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJQR08iLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJQUEMiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJQUkIiLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJQU1ciLCJwYWlkVXBUbyI6IjIwMjEtMDgtMTEifSx7ImNvZGUiOiJSUyIsInBhaWRVcFRvIjoiMjAyMS0wOC0xMSJ9XSwiaGFzaCI6IjI1MjM2NTA5LzA6MTc4MDIyMDA1NyIsImdyYWNlUGVyaW9kRGF5cyI6NywiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-UQzqTOiLJ8MrdzUxh2AroFxmOXajMuTQzyHUX1m1P1+7qwUJlS8F5kBgszjOEUybnukGG2geMyyrYghaKpYNnSVg8x/ObqChQSUTmdHayzaOrXFyUk2f2P8LOz8vzuBcCNyrV0o+khfQthI+Pauv8rKtl6htBqTR1z6QcUPEU3vn1yKAqbcXv4g7x2S+kYI2Dki88LqWj/lli29R+au+zig5JusmywaCUnZqT/5Q7Gu+il5y3XGB3Xdag/lcDfeaN0IHnXB+nfQOso7SXUV9bOfCoZT9nlk/7dstDUGugaGaKAYKFZspcrZ+hXIn+6066AsH07vfipjNzOFzX0qUxQ==-MIIETDCCAjSgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTIwMTAxOTA5MDU1M1oXDTIyMTAyMTA5MDU1M1owHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyMDEwMTkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCP4uk4SlVdA5nuA3DQC+NsEnZS9npFnO0zrmMWcz1++q2UWJNuGTh0rwi+3fUJIArfvVh7gNtIp93rxjtrQAuf4/Fa6sySp4c32MeFACfC0q+oUoWebhOIaYTYUxm4LAZ355vzt8YeDPmvWKxA81udqEk4gU9NNAOz1Um5/8LyR8SGsSc4EDBRSjcMWMwMkYSauGqGcEUK8WhfplsyF61lKSOFA6VmfUmeDK15rUWWLbOMKgn2cxFA98A+s74T9Oo96CU7rp/umDXvhnyhAXSukw/qCGOVhwKR8B6aeDtoBWQgjnvMtPgOUPRTPkPGbwPwwDkvAHYiuKJ7Bd2wH7rAgMBAAGjgZkwgZYwCQYDVR0TBAIwADAdBgNVHQ4EFgQUJNoRIpb1hUHAk0foMSNM9MCEAv8wSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMCBaAwDQYJKoZIhvcNAQELBQADggIBAB2J1ysRudbkqmkUFK8xqhiZaYPd30TlmCmSAaGJ0eBpvkVeqA2jGYhAQRqFiAlFC63JKvWvRZO1iRuWCEfUMkdqQ9VQPXziE/BlsOIgrL6RlJfuFcEZ8TK3syIfIGQZNCxYhLLUuet2HE6LJYPQ5c0jH4kDooRpcVZ4rBxNwddpctUO2te9UU5/FjhioZQsPvd92qOTsV+8Cyl2fvNhNKD1Uu9ff5AkVIQn4JU23ozdB/R5oUlebwaTE6WZNBs+TA/qPj+5/wi9NH71WRB0hqUoLI2AKKyiPw++FtN4Su1vsdDlrAzDj9ILjpjJKA1ImuVcG329/WTYIKysZ1CWK3zATg9BeCUPAV1pQy8ToXOq+RSYen6winZ2OO93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0NxTulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOmVya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCoB15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onD« |
This comment has been minimized.
Copy link Quote reply
CojocariIon commented Aug 13, 2021
This comment has been minimized.
Copy link Quote reply
CristiCor commented Aug 18, 2021
The license 1W61R3J3UL has been suspended.
This comment has been minimized.
Copy link Quote reply
bim-g commented Aug 23, 2021
in not availlable
This comment has been minimized.
Copy link Quote reply
galni56 commented Sep 14, 2021
This comment has been minimized.
Copy link Quote reply
bim-g commented Sep 15, 2021
This comment has been minimized.
Copy link Quote reply
dimasch commented Sep 17, 2021
I really appreciate it
This comment has been minimized.
Copy link Quote reply
ilhamem commented Sep 17, 2021
This comment has been minimized.
Copy link Quote reply
klim2020 commented Sep 19, 2021
thank you kindly! brave and fair Robin Hood. may god bless you for helping poor programmers.
Источник
PhpStorm 2021.2 Beta: Generics Support Is Coming
PhpStorm 2021.1 Beta is now available. We are adding preliminary support for generics in PHP. Let’s get straight to it.
Support for Generics
Are there generics in PHP?
No. Although generics is one of the most wanted features in the PHP language, according to the JetBrains Developer Ecosystem survey, there are no plans to add them any time in the near future.
Nikita Popov researched the feasibility of this in PHP and even prototyped a PoC. However, the conclusion he came to is that all the various possible ways of implementing them have serious problems.
Generics via annotations
On the bright side, generics have been introduced in static analysis tools such as Psalm and PHPStan. Their adoption has grown quickly and many popular open-source PHP projects now rely on the generics annotations. So there is really no wonder why the `WI-47158 Generics support with @template` ticket is one of the most upvoted in the PhpStorm issue tracker.
We introduced support for Psalm and PHPStan in PhpStorm 2020.3. This support came with a basic “mirror” scenario for generics with the @template annotation. Read more about PhpStorm’s support for Psalm and PHPStan.
What will work in PhpStorm 2021.2?
Collections with @template
One of the most popular applications of generics is collections.
In PhpStorm 2021.2, you’ll be able to use generic class collections. Check out the Generics and why we need them post by Brent Roose to learn more about the advantages of such an approach over arrays.
In short, you get more bugproof code and better code completion.
Here is a simple example of the @template annotated collection class:
With the Doctrine Collections, you will already get a code-completion in simple scenarios:
Iterating over the Doctrine Collection interface does not currently work. Because to support this, two levels of template passing should be implemented: Doctrine Collection => IteratorAggregate .
So a workaround for this could be using a specific collection in the type hints, for example, ArrayCollection . With such annotation, you’ll be able to get code completion in a foreach loop:
Only first-level depth is supported
You can only get type inference and completion for first-level generics in PhpStorm, i.e. generics like Base or Base . For such annotations, PhpStorm will understand the T types.
Nested generics like Base > are not supported, and will likely not be supported in the future, because of the performance overhead.
@class-string
Another application of generics is containers and factories. With such code, it is common to pass a class name string as an argument and receive an object as a result.
If you annotate some parameter with a @class-string tag, PhpStorm will provide you with the appropriate type inference:
In fact, if you use the new operator to instantiate an object from a parameter, then there is no need to add a @class-string annotation – it’ll just work out of the box:
Template inheritance
Basic cases for extending templated classes are also supported. For this, you can use @extends tag.
The @implements is supported but has a known issue when the template annotations form base signature are not inherited.
What is the future scope?
We are bringing the support for generics step-by-step. And plan to continue this work. There are a few known features missing that we’re planning to add in future updates:
- WI-56034 Support generics on a class
- WI-60894 Support parameter wrapping
- WI-61438 Support inference based on IteratorAggregate
- WI-61497 Generics template @implements should inherit annotations from interface
Feel free to create tickets if you find an uncovered case.
How do I submit feedback?
Please report any problems you find to our issue tracker or by commenting on this post.
You can also tweet us on Twitter by mentioning @phpstorm – we do read and respond to messages pretty quickly!
The full list of changes in this build is available in the release notes.
Your JetBrains PhpStorm team
The Drive to Develop
Источник