站长资讯网
最全最丰富的资讯网站

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

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

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

一个一般例子 (推荐学习:phpstorm详解)

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属性调用的时候会有自动提示,非常的方便。

思考

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

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

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号