详解PHP如何更好的利用PHPstorm的自动提示

 更新时间:2017年08月18日 11:17:55   作者:kumfo  
本篇文章主要介绍了详解PHP如何更好的利用PHPstorm的自动提示,具有一定的参考价值,有兴趣的可以了解一下

说明

写了一段时间的java之后,特别不习惯PHP本身的弱类型方式,在写代码的时候总觉得不怎么放心,特别本身PHP又是弱类型的语言,所以在编码的时候,很多时候是没有代码提示的。

一个一般例子

class Data {
  public $name;
  public $gender;
  public $age;
  public function __construct($name,$gender,$age) {
    $this->name = $name;
    $this->gender = $gender;
    $this->age = $age;
  }
}
class Test {
  public function run() {
    $data = [
      new Data('张三','男',18),
      new Data('李四','男',14),
      new Data('王五','男',17),
      new Data('大姨妈','女',23),
    ];
  }
  private function eachData($data) {
    foreach($data as $item) {
      echo $item->name.'=>'.$item->gender.'=>'.$item->age."\n";
    }
  }
}
(new Test)->run();

以上例子来看,一般来说其实也是不存在什么问题的,但是在编写

cho $item->name.'=>'.$item->sex.'=>'.$item->age."\n";

这段代码的时候,在调用属性的时候是没有自动提示的,那么数据量大的时候需要往上翻然后进行copy或者编写下来,降低编码速度,而且有时候心里还没谱,怕写错。

以下是我写的一个完整的利用注释和本身PHP特性的例子:

class Data {
  public $name;
  public $gender;
  public $age;
  public function __construct($name,$gender,$age) {
    $this->name = $name;
    $this->sex = $gender;
    $this->age = $age;
  }
}
class Test {
  public function run() {
    $data = [
      new Data('张三','男',18),
      new Data('李四','男',14),
      new Data('王五','男',17),
      new Data('大姨妈','女',23),
    ];
  }
  /**
   * 遍历输出数据
   * @param array $data
   */
  private function eachData($data) {
    foreach($data as $item) {
      if($item instanceof Data) {
        echo $item->name.'=>'.$item->gender.'=>'.$item->age."\n";
      }
    }
  }
}
(new Test)->run();

这里主要的是加了一个if判断,判断数据类型是否是Data的一个具体实例;

在这个地方,PHPstorm会根据这个判断在做$item属性调用的时候会有自动提示,非常的方便。

思考

从这里得到的一些思考,那就是我们在编写程序的时候可以更好的考虑严谨性,从上面的例子来看,这样子做了,再加一些错误处理机制,能更好的保证数据的安全性和完整性,不仅仅是编辑器提示的方便。

后续再做代码检查和跟踪的时候,将也是一件非常方便的事情,而且业务逻辑也更清晰。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 深入浅析用PHP实现MVC

    深入浅析用PHP实现MVC

    在PHP中使用MVC越来越流行了,特别是在一些开源的框架当中。接下来通过本文给大家介绍PHP实现MVC的相关知识,感兴趣的朋友一起学习吧
    2016-03-03
  • php设计模式之适配器模式实例分析【星际争霸游戏案例】

    php设计模式之适配器模式实例分析【星际争霸游戏案例】

    这篇文章主要介绍了php设计模式之适配器模式,结合星际争霸游戏案例形式分析了PHP适配器模式相关原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • Laravel ORM对Model::find方法进行缓存示例详解

    Laravel ORM对Model::find方法进行缓存示例详解

    这篇文章主要给大家介绍了关于Laravel ORM对Model::find方法进行缓存的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • thinkphp3.2.0 setInc方法 源码全面解析

    thinkphp3.2.0 setInc方法 源码全面解析

    下面小编就为大家分享一篇thinkphp3.2.0 setInc方法 源码全面解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • php cc攻击代码与防范方法

    php cc攻击代码与防范方法

    今天把客户查找后门的时候发现的代码,特分享下,看到这样的代码就是黑客用来攻击别人访问,不断访问指定网站,导致网站无法访问,我们的网站就是帮凶了,同时我们自己的网站或服务器也会无法访问,所以一定要注意防范。
    2012-10-10
  • Yii全局函数用法示例

    Yii全局函数用法示例

    这篇文章主要介绍了Yii全局函数用法,结合实例形式分析了Yii全局函数的功能、定义与使用方法,需要的朋友可以参考下
    2017-01-01
  • PHP Laravel 使用Swagger生成API文档(基本概念和环境搭建)

    PHP Laravel 使用Swagger生成API文档(基本概念和环境搭建)

    Swagger是一种简单、强大的RESTful API表现形式,这篇文章主要介绍了PHP Laravel 使用Swagger生成API文档(基本概念和环境搭建),需要的朋友可以参考下
    2023-09-09
  • PHP获取用户客户端真实IP的解决方案

    PHP获取用户客户端真实IP的解决方案

    获取客户端ip其实不是个简单的活儿,因为存在Ip欺骗,和代理问题,所以获取客户端的IP的真实性会打折扣的,不能百分百准确.但是我们尽量使用比较完善的方法获取客户的ip,下面小编给大家分享PHP获取用户客户端真实IP的方法,一起看看吧
    2016-10-10
  • yii2组件之下拉框带搜索功能的示例代码(yii-select2)

    yii2组件之下拉框带搜索功能的示例代码(yii-select2)

    本篇文章主要介绍了yii2组件之下拉框带搜索功能的示例代码(yii-select2),具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • form自动提交实例讲解

    form自动提交实例讲解

    下面小编就为大家带来一篇form自动提交实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论