Creating and Managing Projects
Whatever you do in PhpStorm, you do that in the context of a project. A project is an organizational unit that represents a complete software solution. It serves as a basis for coding assistance, bulk refactoring, coding style consistency, and so on.
A project in PhpStorm is represented in the Directory Based Format. A root project directory contains the .idea directory, with the following files:
.iml file that describes the project structure.
workspace.xml file that contains your workspace preferences.
A number of xml files. Each xml file is responsible for its own set of settings, that can be recognized by its name: projectCodeStyle.xml, encodings.xml, vcs.xml, and so on.
Thus, for example, adding a new run/debug configuration and changing encoding will affect two different xml files. This helps avoid merge conflicts when the project settings are stored in a version control system and modified by the different team members.
The .idea directory is not visible in the Project view of the Project tool window Alt+1.
Share project settings through VCS
List of non-shareable configuration files
PhpStorm identifies configuration files and adds them to the list of ignored files automatically. However, if you are sharing your project manually, we recommend that you avoid placing these files and folders under version control:
For the full list of files, refer to How to manage projects under Version Control Systems and JetBrains.gitignore.
Copy global settings to the project level
Once you have opened a folder in PhpStorm, the .idea subfolder is added to it where PhpStorm stores its internal configuration settings, for example, for the project code style or the version control system.