Phpstorm是JetBrAIns 公司开发的一款商业的 PHP 集成开发工具。Phpstorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能和 * TML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。另外,它还是跨平台。在Windows和MacOS下都可以使用。Phpstorm-让开发更智能,而不是更困难。
优点
跨平台。
对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..." 弹出来可被复写的方法:
连写的例子:
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);}
希望这篇详细教程可以帮助到大家。


猜你喜欢
- 我们在上网的时候,不可缺少的就是浏览器了,有一大部分人喜欢用360浏览器的,都不知什么情况,最近使用360浏览器不管是普通网页还是带视频窗口
- 今天分享几个模式化的表格公式,大家有类似问题可以直接套用。各位新人朋友们入门学习可以看看,高手请按返回键。1查找重复内容=IF(COUNTI
- UC浏览器是热门的浏览器之一,很多用户都会使用它来看新闻或着小说,有时我们重装UC浏览器或在新的手机上安装UC浏览器,该如何恢复书签呢?下面
- 为了使wps演示文稿美观一点,我们可以通过设置背景图片的方式来实现,下面就让小编告诉你wps演示背景图片怎样设置。wps演示背景图片设置的方
- 在打印Excel表格的时候,你可能遇到过这种情况,有些表格在有限的纸张内没有办法容纳,这时候就要另起一页了,可是打印出来后面的页面却没有了表
- 今天我要在我的电脑上添加集群的IP与域名的对应关系,然后修改C:\Windows\System32\drivers\etc下的hosts文件
- 在WPS演示文稿中如果我们插入了几个段落的文本内容,或者是按段落格式显示的文本等内容,我们就可以为其添加一定的编号,比如阿拉伯数字效果的编号
- PPT绘制总分结构循环图表放大之后看是这样的。 这种手绘风格还萌萌的,居然把看饿了。到底能不能绘制呢?熟话说玩PPT,画遍天下都
- 隐藏文件是拥有隐藏属性的文件,有些重要的系统文件我们就会将其隐藏。很多朋友设置隐藏后不知怎么将它显示出来。下面,小编给大家带来了显示win7
- 小编今日文章奉上,继续往下看吧~~初入Mac系统,对于惯用Windows的同学会有诸多不习惯,比如「右键新建文件」,小编带你探索New Fi
- 相信喜欢PC的朋友都听说过海盗船的大名,他们一直在推出内存模块,电源和水冷设备,海盗船也制造键盘和鼠标等周边设备,但是他们的野心还不止于此,
- 这篇文章主要介绍了windows如何关闭安全警报及自定义调整安全警报类型,全程操作以图文形式介绍,需要的朋友可以参考下一、关闭安全警报服务我
- 我们在使用win10系统电脑的时候,如果遇到了系统文件想要删除但是不知道会有什么不良影响,我们可以看下是在哪个文件夹下的文件,再进行操作。对
- 最近有用户在玩命运2游戏的时候,游戏老是掉线,基本上两分钟掉线一次,而且总是掉线,刚重新连接上以后,又立马掉线,非常的烦,那么这个问题需要我
- 还在寻找一个好看的Mac图形设计工具吗?别急,今天小编给大家带来了6个实用Mac图形设计工具合集,帮您创建引人注目的图像。每一个图像设计工具
- 在Excel中录入好数据之后都要进行打印,打印时有些需要打印当前页码的,或许有些朋友还不会如何设置起始页码。接下来是小编为大家带来的exce
- 说到绘图,我们第一时间可能会想到Photoshop,有没有想过用PPT来完成图形的绘制呢?用PPT绘画,其实已经不是什么新鲜事,本教程我们尝
- wps画图怎么组合?wps作为一款专业的文字处理排版软件,还可以用来画图。操作起来方便简单。掌握好wps绘图技巧,足以应付办公中绝大多数的需
- 还有十几天才发工资,这个月又光了……日常生活中总有很多看不到,或者没有注意到的消费,有的人比较细心,做任何事情都懂得去做一个安排和规划,而对
- 最近有很多小伙伴都在询问,主板声卡坏了有什么表现,要怎么判断主板是不是损坏了呢,其实方法挺简单的,一般声卡损坏了电脑就没有声音,以下小编提供