很多朋友还不是很会使用phpStorm吗?带来phpStorm的正确操作教程,大神小白均可收藏备用
发布时间:2023-11-27 04:10:22
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);}
希望这篇详细教程可以帮助到大家。
猜你喜欢
- Excel中排名具体该如何计算呢?下面是由小编分享的excel中排名的计算教程,以供大家阅读和学习。excel中排名的计算教程:排名步骤1:
- office2007破解版在哪下载,office2007免费版是微软Office办公软件史上最具创新与革命性的一个版本,下面是office2
- excel中像素和厘米让我们不知道实际的尺寸和含义,那么excel中1像素等于多少厘米呢?小编为大家整理了怎样换算office word和e
- wps怎么添加视频?在运用wps过程中,难免会遇到需要插入网络上的视频的情况,今天为大家介绍两种在wps 2013插入网络上的视频的方法。方
- 当我们使用win10操作系统时,有些小伙伴用的可能是32位系统,那么如果想要将32位系统升级到64位系统的话,就可以用下载的方式升级到64位
- Visual Studio Code是一款在计算机上运行的语言代码转换编辑工具,VSCode代码为了排版更整洁,想要设置文本行限制,应该怎么
- 无论是手动输入还是复制粘贴,我们发现EXCEL表格里的行高是默认的,一些长的字符在表格中就会被自动隐藏。那么如何调整高呢?今天,小编就教大家
- wps中的橡皮擦功能是很强大和实用的,对于新手来说,可能不知道如何使用该功能,下面就让小编告诉你wps怎样使用橡皮擦功能的方法,希望对大家有
- Excel中有很多变身功能,今天跟大家一起探秘行列互换变身。请看以下选择性粘贴法操作步骤。首先,选择需要行列互换的表格,包括所有行或列,然后
- word功能强大,只有我们想不到的,没有word做不到的,下面小编就为大家介绍word2003简单制作电子公章方法,希望能对大家有所帮助电子
- 我们在工作时,常常会遇到一些特殊情况,比如停电、电脑死机,或者各种意外。那么我们辛辛苦苦做的文档还来不及保存就没掉了,针对这个问题,WPS当
- 我们经常会遇到这样的一些工作,就是将纸张上面的内容录入到wps中,进行二次编辑。其实,我们可以借助一些OCR文字识别软件,来帮助我们将文字提
- 在使用Excel表格过程中,有时会出现文件被覆盖的问题。文件覆盖就是指原来有的文件被新出现的名字一样的文件覆盖,然后导致之前的数据丢失。那么
- 有不少用户发现,在自己给电脑安装某些软件或者是重装了自己的win10系统后,自己无法给电脑进行亮度的调整,这样该怎么办呢?,今天小编就教一教
- 在Word2007文档中,我们常常使用图形插入,但这些图形都不是立体的,而作为一个独立的图形对象,用户可以对SmartArt图形进行设置。在
- Excel2013工作表保护密码忘记怎么办?1、启动Excel2013,打开被保护的工作簿,提示有密码。 Excel2013②按下键盘上的C
- 1、切换到“插入”选项卡的“符号”组,在“公式”下拉菜单中选择“插入新公式”,文档中就会出现如下图右侧所示的公式编辑框。2、选中公式编辑框中
- word四周四个像直角的符号怎么显示?平时使用word时,每页的四个角上都有直角符号。但是有时这个符号不见了。小编告诉你怎样让word直角符
- 下面为大家分享excel表格如何制作考勤表1、桌面新建一个excel表,打开以后在表格里填写考勤表一些信息,如编号、姓名等,如图;2、鼠标左
- 本文述如何连接用户窗体与ADO记录集,最终创建一个与Access窗体相似的用户窗体,可以导航至前一条记录、下一条记录、第一条记录、最后一条记