最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解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";

這段代碼的時候,在調(diào)用屬性的時候是沒有自動提示的,那么數(shù)據(jù)量大的時候需要往上翻然后進行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),
    ];
  }
  /**
   * 遍歷輸出數(shù)據(jù)
   * @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判斷,判斷數(shù)據(jù)類型是否是Data的一個具體實例;

在這個地方,PHPstorm會根據(jù)這個判斷在做$item屬性調(diào)用的時候會有自動提示,非常的方便。

思考

從這里得到的一些思考,那就是我們在編寫程序的時候可以更好的考慮嚴謹性,從上面的例子來看,這樣子做了,再加一些錯誤處理機制,能更好的保證數(shù)據(jù)的安全性和完整性,不僅僅是編輯器提示的方便。

后續(xù)再做代碼檢查和跟蹤的時候,將也是一件非常方便的事情,而且業(yè)務邏輯也更清晰。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 深入淺析用PHP實現(xiàn)MVC

    深入淺析用PHP實現(xiàn)MVC

    在PHP中使用MVC越來越流行了,特別是在一些開源的框架當中。接下來通過本文給大家介紹PHP實現(xiàn)MVC的相關知識,感興趣的朋友一起學習吧
    2016-03-03
  • php設計模式之適配器模式實例分析【星際爭霸游戲案例】

    php設計模式之適配器模式實例分析【星際爭霸游戲案例】

    這篇文章主要介紹了php設計模式之適配器模式,結(jié)合星際爭霸游戲案例形式分析了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攻擊代碼與防范方法

    今天把客戶查找后門的時候發(fā)現(xiàn)的代碼,特分享下,看到這樣的代碼就是黑客用來攻擊別人訪問,不斷訪問指定網(wǎng)站,導致網(wǎng)站無法訪問,我們的網(wǎng)站就是幫兇了,同時我們自己的網(wǎng)站或服務器也會無法訪問,所以一定要注意防范。
    2012-10-10
  • Yii全局函數(shù)用法示例

    Yii全局函數(shù)用法示例

    這篇文章主要介紹了Yii全局函數(shù)用法,結(jié)合實例形式分析了Yii全局函數(shù)的功能、定義與使用方法,需要的朋友可以參考下
    2017-01-01
  • PHP Laravel 使用Swagger生成API文檔(基本概念和環(huán)境搭建)

    PHP Laravel 使用Swagger生成API文檔(基本概念和環(huán)境搭建)

    Swagger是一種簡單、強大的RESTful API表現(xiàn)形式,這篇文章主要介紹了PHP Laravel 使用Swagger生成API文檔(基本概念和環(huán)境搭建),需要的朋友可以參考下
    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自動提交實例講解

    下面小編就為大家?guī)硪黄猣orm自動提交實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論

龙州县| 通江县| 舞阳县| 井冈山市| 蒙自县| 龙江县| 当阳市| 甘泉县| 高邑县| 永和县| 溆浦县| 江门市| 察隅县| 吉木萨尔县| 夹江县| 边坝县| 南溪县| 文成县| 南宁市| 封开县| 彭山县| 大石桥市| 淮南市| 滦南县| 通许县| 木兰县| 西盟| 若羌县| 通江县| 曲沃县| 株洲县| 敖汉旗| 阿勒泰市| 会同县| 和龙市| 阜城县| 囊谦县| 云南省| 烟台市| 防城港市| 哈巴河县|