mxj / des
maxiaojing 是应用信息。
Requires
- php: >=7.2.5
README
PhpStorm 工作室
在这些材料中,您将了解许多在 PhpStorm 中可用的功能和生产力工具。例如,导航、编辑、检查、实时模板、重构、Composer 和 HTTP 客户端等工具,还有很多其他工具。几乎不可能涵盖 PhpStorm 的每个选项和功能,但我们提供了一些实用的练习,展示我们如何作为 PHP 开发者完成日常工作。
我们还将介绍大量快捷键,以使使用 PhpStorm 更高效。基于 IntelliJ 的其他 IDE 使用相同的快捷键,因此如果您知道如何使用 PhpStorm,那么您也知道如何使用 WebStorm、RubyMine、PyCharm、IntelliJ IDEA 等更多 IDE。您可以在网上找到一份快捷键表,它也包含在工作室下载中。
此工作室是自定步调的,这意味着您可以随时随地进行练习,无需他人指导。练习以 PhpStorm 项目的形式提供,其中每个文件都是一个新练习,可能包含代码和技巧,以完成任务。
先决条件
- Docker for Mac、Docker for Windows 或 Docker (Linux) 1.13+。有关您操作系统的安装说明,请参阅 Docker 文档。
- PhpStorm 2016.3+
获取项目
有几种方法可以开始使用 PhpStorm 工作室材料
-
在 PhpStorm 中创建一个新的 PhpStorm 工作室项目
-
使用 Composer 创建一个新的项目。请注意,您也可以在 PhpStorm 中创建一个新的项目:使用 Composer 项目类型,并搜索 "jetbrains/phpstorm-workshop"
php composer.phar create-project jetbrains/phpstorm-workshop -s dev
-
从 GitHub 克隆项目
git clone https://github.com/JetBrains/phpstorm-workshop.git
git checkout docker
-
下载 ZIP 文件
wget https://github.com/JetBrains/phpstorm-workshop/archive/docker.zip
入门指南
大多数与代码编辑器无关的练习都需要运行 Docker 容器。
开始之前
-
打开 设置/首选项 | 构建、执行、部署 | Docker 并选择如何连接到 Docker 守护进程
-
Windows
- 选择 TCP 套接字。
- 将 引擎 API URL 设置为 tcp://:2375。
- 将 证书文件夹 字段留空。
请确保在 Docker for Windows 设置的 常规 部分中启用 在 tcp://:2375 上暴露守护进程(无 TLS)。
-
macOS
- 选择 Docker for Mac。
-
Linux
- 选择 Unix 套接字。
-
-
在
docker-compose.yml
中更新XDEBUG_CONFIG
变量,其值取决于您的操作系统。这对于 Web 调试是必要的。- Windows/macOS:使用
host.docker.internal
,它会自动解析为主机 Docker 运行的内部地址。 - Linux:在终端中执行
hostname
并使用返回的值。
- Windows/macOS:使用
-
在相同的
docker-compose.yml
中,取消注释sftp
服务的相应行。这对于部署正确工作是必要的。 -
在相同的
docker-compose.yml
中,单击编辑器侧边栏中services:
旁边的 运行 图标以启动所有必需的 Docker 容器。或者,您可以从 查看 | 工具窗口 | 终端 打开内置的 PhpStorm 终端并执行docker-compose up
命令。
关于项目的注意事项
- 项目可以直接在PhpStorm中打开。我们已包含PHP远程解释器、数据库、部署服务器、PHP网络调试、PHPUnit和Behat的配置。
- 所有编号的文件夹中都包含你可以练习的内容。只需逐个打开编号文件,并遵循文件中的注释。大多数练习都是独立的,其他练习则建立在之前的练习之上。
- 一些练习(如这个练习)是Markdown格式。你可以通过在右上角切换查看到仅显示预览来更容易地阅读这些文件。
PhpStorm Reference Card.pdf
是PhpStorm快捷键卡。最新版本始终可在PhpStorm网站找到。
开源和贡献
这个研讨会是开源的,采用Apache 2许可证。如果你想要为研讨会材料做出贡献,请随意fork仓库并发送给我们一个pull请求。或者,如果你有评论、问题或改进建议,请提出问题。