按照惯例依然是从百科上复制一条简介: PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具。PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能和智能HTML/CSS /JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。另外,它还是跨平台。在Windows和 MacOS下都可以使用。PhpStorm-让开发更智能,而不是更困难。
听说phpStorm 10支持php7呃
优点
- 跨平台。
- 对PHP支持refactor功能。
- 自动生成phpdoc的注释,非常方便进行大型编程。
- 内置支持Zencode。
- 生成类的继承关系图,如果有一个类,多次继承之后,可以通过这个功能查看他所有的父级关系。
- 支持代码重构,方便修改代码。
- 拥有本地历史记录功能(local history功能)。
- 方便的部署,可以直接将代码直接upload到服务器。
总之它很牛逼就是了,什么都能干
快捷键
phpStorm有非常非常多并且好用的的快捷键,我下面就举一些经常用的的快捷键演示,还有一些不常用的就不举例了,绝对能提高你开发的效力率...
(Windows与Mac类似,只要把command
键换成ctrl
)
查询相关
-
command + f
查找当前文件 -
command + r
查找替换 -
command + e
打开最近的文件 -
command + shift + o
快速查询文件 -
command + shift + f
关键字查找,更强大的查询器(机器不好的,最好还是先确定一下目录) -
command + shift + r
高级替换 -
command + alt + b
找到当剪类的所有子类 -
alt + shift + c
查找最近修改的文件 -
alt + f7
直接查询选中的字符 -
ctrl + f7
文件中查询选中字符 -
command + 鼠标点击
跳到类或方法或变量等声明处 -
command + shift + tab
切换tab页文件 -
command + shift + +,-
展开或缩起 -
command + .
折叠或展开选中的代码
自动代码
-
alt + 回车
导入包,自动修正 -
command + n
快事为每个成员属性生成 getter 及 setter 方法 -
ctrl + i
快速生成插入魔术方法 -
ctrol + o
复写父类方法 -
command + alt + l
对当前文件进行格式化排版 -
command + d
复制当剪行 -
command + /
// 注释 -
command + shift + /
// 注释
以command + n
举个例子
我创建了一个Person
类在/Entity/
目录下,然后我设置一些私有的属性如下代码:
namespace Entity; class Person { private $sign = ''; private $name = ''; private $age = 0; private $work = ''; private $sex = '女'; }
然后咱们使用command + n
在弹出来的窗口选择"PHPDoc Blocks..." 如下图:
再再弹出的窗口选择所有属性再点"OK":
namespace Entity; /** * Class Person * @package Entity */ class Person { /** * @var string */ private $sign = ''; /** * @var string */ private $name = ''; /** * @var int */ private $age = 0; /** * @var string */ private $work = ''; /** * @var string */ private $sex = '女'; }
然后它就对刚刚所选择属性加上了注释...... 是不是灰常神奇。
ok,咱们继续,再次使用command + n
键选择Contructor...
弹出需要进行传参赋值的属性:
/** * Person constructor. * @param string $sign */ public function __construct($sign) { $this->sign = $sign; }
如果不选择的话将不需要对成员属性进行设置。
然后咱们再来看看其他功能,比如"Implement Methods..."这个是快速生成魔术方法。
通常咱们设置、获取一个成员属性时最好不要直接使用$person->name = $name
这种方式进行设置参数或取得参数值,建议是对每个属性都开放一个 getter
跟 setter
方法,这样可以很方便得对传进或传出去的值进行处理,这就是上面我为什么要把成员属性设置置为私有的原因之一
同样的command + n
选择"Getters and Stetters" 然后选择所有属性,它就会把所有的属性设置getter
及setter
方法,这里要注意的是Person
的sign
是唯一的,不可进行修改,所以咱们要把设置sign
的方法去掉。注意: 最好setter
方法设置完后返回当剪对象,这样的话咱们就可以连写了并且phpStorm的提示还相当友好下面有例子:
/** * @return string */ public function getSign() { return $this->sign; } /** * @return string */ public function getName() { return $this->name; } /** * @param string $name * @return $this */ public function setName($name) { $this->name = $name; return $this; } /** * @return int */ public function getAge() { return $this->age; } /** * @param int $age * @return $this */ public function setAge($age) { $this->age = $age; return $this; } /** * @return string */ public function getWork() { return $this->work; } /** * @param string $work * @return $this */ public function setWork($work) { $this->work = $work; return $this; } /** * @var string */ private $sex = '女'; /** * @return string */ public function getSex() { return $this->sex; } /** * @param string $sex * @return $this */ public function setSex($sex) { $this->sex = $sex; return $this; }
连写的例子:
use Entity\Person; $person = new Person(); $person->setName("蛋蛋") ->setAge(17) ->setWork('student');
最后再演示一个快速复写被继承类的功能。咱们新建一个Man
类,然后继承Person
类,上面的Person类缺省是女性别,所以我们需要重写它并且加上"中国男人"。同样的使用command + n
打开快捷窗口选择 "Override Methods..." 弹出来可被复写的方法:
然后咱们选择getSex
跟setSex
方法,然后确定,在Man
方法下生成以下方法。
namespace Entity; /** * Class Man * @package Entity */ class Man extends Person { /** * @return string */ public function getSex() { return parent::getSex(); // TODO: Change the autogenerated stub } /** * @param int $sex * @return $this */ public function setSex($sex) { return parent::setSex($sex); // TODO: Change the autogenerated stub } }
咱们把return parent::getSex()
跟return parent::setSex( $age )
删除掉,不需要这样,然后改成如下模式。
/** * @return string */ public function getSex() { if ( ! mb_strpos(parent::getSex(), "中国") ) return "中国".parent::getSex(); return parent::getSex(); } /** * @param int $sex * @return $this */ public function setSex($sex) { if( ! mb_strpos($sex, "中国") ) $sex = "中国".$sex; return parent::setSex($sex); }
碉堡了有木有。
工具类等
看起来好多的样纸,我懒,不想讲可不可以?我就挑几个好不好?
- 连拉ssh 照着配就行了,很简单
- composer 这个也很明了吧,不多说了,平时咱们都是通过命令行来实现的
- vagrant 这个phpstorm 10集成了vagrant,介于咱们自己已经搭建好了自己的vagrant环境,就不使用phpstorm所集成的啦
参考: 《使用Virtual Box和Vagrant搭建开发环境》
Database 工具
phpStorm所集成的database工具十分强大,当然它还有单独的database工具叫做: DataGrip,当然需要独立购买,咱们phpStorm有集成,就使用它好啦哈哈....(咱们的PhpStorm可是花钱买的,请支持正版)
Database工具一般在右侧栏,如果没有的话搜一下就好了,多简单的事儿呀...
开始创建一个数据库连接吧...
选择如上图的那个"+"号,然后选择Data Source
数据来源,再选择数据库类型,一般咱们都是使用mysql吧,这次咱们试试新的,比如SQLite
选择sqlite
数据文件的地址,然后选择驱动,如果没有的话得先下载安装sqlite的驱动插件,这个很简单,在Driver下有提示,照做就是了...
咱们先看一下mysql的配制吧...
mysql的也非常简单,如果需要ssh/ssl连接的话,需要在SSH/SSL选项卡上配配地址入连接密码或sshkey...
配制好了,打开选择的数据库:
上图是连接的数据库的表及表字段信息... 来演示一下查询... 点击那"QL"样的dos窗口图标会弹出一个tab页,咱们可以在这里写sql语句。
咱们查询User
表下的所有数据,可以看到会有相当提示,这是相当的好使啊...查询完成后在下面的Database Console
上会有显示表数据,可对它进行修改,等等操作增加数据也可以。
快捷键command + alt + l
不但对代码进行格式化,也sql语句也是非常有效的,如上图。
在"Database Console"栏上点"Output"选项卡可以查看sql语句执行的情况、记录及所消耗的时间等等信息...
-
command + 回车
执行sql语句或执行选中的sql语句
关于database工具的用法还有很多很多,我就不一一讲解了,大家可以自己慢慢去研究,真的非常好用
CVS 和 Git
command + k
command + shift + k
关于FTP的配制,由于我不推荐使用,所以这里就不多说啦!
都到这了,那咱们就说说在phpStorm上如何使用git工具吧
算了,还是举一个例子吧,配辣么多太累了,一会我看下有没有已经配好的,如果有的话一会拉出来截个图看看就行吧,反正现在svn用得也比较少了,还是git用得爽,分布式嘛,离线嘛,多好...关于svn -> git可以参考我之前写的一篇文章
从git服务器上把代码抓到本地
选择CVS -> Checkout from Version Control -> Git
在弹出的窗口输入自己的git仓库信息:
注意 conle 的时间如果没有设置你的github账号的话可能会提示你输入账号信息,咱们输入就行了。如果需要修改的话则在设置里面进行修改,咱们可以使用command + ,
打开"Preferences" 然后找到"Version Control"选项目的"GitHub"进行设置,还有"Git"路径。
从mster创建分支
创建分支以通过命令行进行创建,咱们可以通过phpstrom的窗口进行创建,如下:
这个东西在右下角,"Git:master" 然后弹出上面窗口选择"New Branch" 然后输入新分支的名称就好了,它会自动切换到新分支下。
是不是超级简单呀...
提交代码至远程分支
当咱们修改完代码后,咱们需要把代码提交到远程分支上,使用快捷键command + k
提交相当修改后的代码,双击文件可以进行对比。在"Commit Message"写上修改的东西然后点提交,这时就把代码提交到本地分支上了。
不使用快捷键的话,可以使用"CVS -> Commit Changes"提交,也会弹出下面窗口...
提交到本地分支后,咱们需要把代码推到远程分支上,所以需要使用快捷键: command + shif + k
提交远程分支...
也可以使用"CVS -> Git -> Push"进行提交...效果是一样的
注意svn木有 command + shift + k
这一步
合并分支
分并非常简单,只要选择需要合并的分支,然后merge就行了,如下图:
这样就合并完成,当然,如果有冲突的话会提交有冲突,并让你解决,如果没有的话就直接合并成功了...然后就可以push了......
Compare
是对合并的分支进行对比...
使用svn...
灰常抱歉,我电脑上木有找到相关Svn项目的代码,就不多说了...
安装插件
这里讲一个javascript 的安装,使用快捷键cmd + ,
打开 Preferances
安装 JavaScript 插件
Languages & Frameworks
-> Javascript
-> Libraries
选择add需要的框架
安装symfony2插件,搜索插件,然后点install
然后重启phpStorm 就完事了....
注意
- 灰色+波浪线: 变量未使用
- 黄色波浪线: 变量未名单词拼写问题
- 红色波浪线: 变量未定义
- 还有好多我就不一一举例了,可能是因为我代码写得太好,出错的东西比较少吧...
右边栏出现红色,这点是必须要杜绝的,好的代码不应该出现红色的任何提示...一旦出现一定要马上解决,好的代码不应该出现一个黄、红色的提示。
TODO 表示待办事件,当提交到vcs、svn或git的时候,会提示是还有未处理的事件,需要确认提交。
写得有点多了,想写的东西比较多,要不分两篇写好了?算了,我比较懒,就这样吧,等我以后想写了再写吧,谢谢阅读
其实有很多东西可以写的,我只是想偷懒而已......
The End: 2016年01月09日 下午18时许
原文 : 如何优雅的使用 phpStorm
相关推荐
然而,在使用PHPStorm开发Laravel项目时,开发者可能会遇到代码提示(IDE的类名下出现波浪线)的问题,这可能是由于IDE没有正确地识别Laravel框架的类和函数。为了解决这个问题,可以使用PHPStorm的插件。尽管有些...
在本文中,我们将深入探讨如何使用"Laravel开发-laravel-phpstorm-stubs"来提升你在PHPStorm中的Laravel项目开发效率。Laravel是一个流行的开源PHP框架,以其优雅的语法和强大的功能受到开发者的喜爱。而PHPStorm是...
本文将详细讲解如何在PhpStorm中优雅地调试Hyperf应用,通过配置快速重启和使用内置的REST Client功能,提升开发效率。 首先,我们来看如何实现Hyperf的快速重启。在PhpStorm中,我们可以自定义PHP脚本来方便地启动...
这个工具提供了Laravel的实时模板,也就是代码片段,让开发者在使用PhpStorm时能快速输入常见的Laravel框架代码,提高开发效率。 **描述解析:** 描述中提到的 "PhpStorm的Laravel实时模板" 意味着这个项目为...
当开发者在PhpStorm中使用intellij-nette插件时,编辑器将能够识别这些魔术方法,并提供代码补全功能。这意味着在编写代码时,开发者无需记住所有属性名,只需开始输入,PhpStorm会自动列出可能的getter和setter方法...
有许多类似的工具,包括一些内置于 IDE 的工具(我经常使用 PHPStorm,我推荐它)……但是,关键是这在您可能受到限制的情况下提供了非常快速的结果。 它使用 javascript/jQuery(包括在内)。 它针对现代浏览器...
同时,注重界面友好性、代码优雅性和系统稳定性,平衡功能、实用性和稳定性的关系,以适应业务需求和时代发展。 Web应用的开发流程包括脚本编写、静态网页仿站、UI设计、视图模块化、动态网页原生代码编写或使用...
7. **Linux 的优雅** - Linux 的软件安装通常通过包管理器进行,如 apt、yum 或 dnf,使得安装、更新和卸载软件变得更加方便和统一,避免了广告和捆绑软件的问题。 综上所述,Linux 为开发者提供了高效、稳定、...
Laravel是一个优雅的PHP框架,它提倡简洁、优雅的编码风格,而IDE助手则能进一步提升这种体验。 描述中的“用一个简短的命令生成IDE助手文件”,意味着通过执行特定的Artisan命令,我们可以自动生成帮助IDE理解...
5. **编辑器集成**:知道如何配置 IDE 或编辑器(如 VSCode、PhpStorm 等)以支持 Laravel 和 Mozart,包括插件安装、项目设置等。 6. **依赖注入**:理解 Laravel 的依赖注入机制,这对于利用 Laravel 的服务容器和...
8. **错误处理和异常处理**:理解如何使用try-catch语句捕获和处理异常,以及如何自定义错误处理函数,以优雅地处理程序中的错误。 9. **内存泄漏检测**:当程序运行时间较长或占用内存过大时,学会检测和解决内存...
- IDE(集成开发环境):如PhpStorm、Visual Studio Code等,提供代码提示和调试功能。 - Git:版本控制系统,用于协同开发和代码管理。 9. 部署与维护: - 服务器环境配置:如LAMP(Linux、Apache、MySQL、PHP...
- 异常处理:使用`try-catch`结构捕获运行时异常,提供优雅的错误处理。 - 使用`error_reporting()`设置错误级别,过滤不重要的错误。 通过以上内容,初学者可以开始搭建PHP环境,编写并调试代码,逐步掌握PHP的...
4. **IDE集成**:与流行的代码编辑器(如Visual Studio Code、PhpStorm等)集成,提供插件或扩展,实现从编辑器内部直接进行安装操作。 5. **版本控制**:确保新安装的库被正确地添加到版本控制系统(如Git)中,...
Laravel 开发者通常会使用 IDE(如 PhpStorm)的特定插件,这些插件提供语法高亮、代码提示、自动完成以及与 Artisan 命令的集成,提升编码体验。 6. **PHPUnit**: PHPUnit 是 PHP 的单元测试框架,用于编写和...
- **Laravel**:一个现代化的PHP框架,提供了简洁、优雅的语法,非常适合构建Web应用程序。 - **访问地址**:https://laravel.com/ 2. **开发工具**: - **PHPStorm**:一款功能强大的PHP集成开发环境(IDE),...
- **集成开发环境(IDE)的选择**:对于初学者来说,选择一个易于使用的IDE非常重要,如NetBeans、Eclipse PDT、PHPStorm等。 ##### 3. 基础语法 - **变量**:PHP中的变量使用美元符号`$`开头,例如`$name`。变量...
在本地开发时,我们通常会使用诸如VSCode、PhpStorm等编辑器,并通过Vagrant或Docker等虚拟化技术在虚拟机中运行Laravel项目。当发生错误时,Whoops会显示一个包含堆栈跟踪的错误页面。但是,如果直接点击这些文件...