首页 > 编程 > PHP > 正文

如何优雅的使用 phpStorm 开发工具

2020-03-22 16:26:08
字体:
来源:转载
供稿:网友
  • 按照惯例依然是从百科上复制一条简介: PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具。PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能和智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。另外,它还是跨平台。在Windows和MacOS下都可以使用。PhpStorm-让开发更智能,而不是更困难。

    听说phpStorm 10支持php7呃

    优点
    1. 跨平台。
    2. 对PHP支持refactor功能。
    3. 自动生成phpdoc的注释,非常方便进行大型编程。
    4. 内置支持Zencode。
    5. 生成类的继承关系图,如果有一个类,多次继承之后,可以通过这个功能查看他所有的父级关系。
    6. 支持代码重构,方便修改代码。
    7. 拥有本地历史记录功能(local history功能)。
    8. 方便的部署,可以直接将代码直接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; html' target='_blank'>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这种方式进行设置参数或取得参数值,建议是对每个属性都开放一个gettersetter方法,这样可以很方便得对传进或传出去的值进行处理,这就是上面我为什么要把成员属性设置置为私有的原因之一

          同样的command + n选择'Getters and Stetters' 然后选择所有属性,它就会把所有的属性设置gettersetter方法,这里要注意的是Personsign是唯一的,不可进行修改,所以咱们要把设置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 EntityPerson; $person = new Person(); $person->setName('蛋蛋') ->setAge(17) ->setWork('student');

          最后再演示一个快速复写被继承类的功能。咱们新建一个Man类,然后继承Person类,上面的Person类缺省是女性别,所以我们需要重写它并且加上'中国男人'。同样的使用command + n打开快捷窗口选择 'Override Methods...' 弹出来可被复写的方法:

          然后咱们选择getSexsetSex方法,然后确定,在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可以参考我之前写的一篇文章

                  《将代码库从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 插件

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表