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

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深入理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。javascript

百科简介: PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具。PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能和智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。另外,它仍是跨平台。在Windows和MacOS下均可以使用。PhpStorm-让开发更智能,而不是更困难。php

优势

  1. 跨平台。java

  2. 对PHP支持refactor功能。mysql

  3. 自动生成phpdoc的注释,很是方便进行大型编程。git

  4. 内置支持Zencode。github

  5. 生成类的继承关系图,若是有一个类,屡次继承以后,能够经过这个功能查看他全部的父级关系。sql

  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;

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" 而后选择全部属性,它就会把全部的属性设置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 Entity\Person;
$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 插件

Languages & Frameworks -> Javascript -> Libraries

选择add须要的框架

安装symfony2插件,搜索插件,而后点install

而后重启phpStorm 就完事了....

注意

  • 灰色+波浪线: 变量未使用

  • 黄色波浪线: 变量未名单词拼写问题

  • 红色波浪线: 变量未定义

  • 还有好多我就不一一举例了,多是由于我代码写得太好,出错的东西比较少吧...

右边栏出现红色,这点是必需要杜绝的,好的代码不该该出现红色的任何提示...一旦出现必定要立刻解决,好的代码不该该出现一个黄、红色的提示。

 

TODO 表示待办事件,当提交到vcs、svn或git的时候,会提示是还有未处理的事件,须要确认提交。

写得有点多了,想写的东西比较多,要不分两篇写好了?算了,我比较懒,就这样吧,等我之后想写了再写吧,谢谢阅读!!!!!

其实有不少东西能够写的,我只是想偷懒而已......
相关文章
相关标签/搜索