说明
写了一段时间的java之后,特别不习惯PHP本身的弱类型方式,在写代码的时候总觉得不怎么放心,特别本身PHP又是弱类型的语言,所以在编码的时候,很多时候是没有代码提示的。
一个一般例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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(); |
以上例子来看,一般来说其实也是不存在什么问题的,但是在编写
1
|
cho $item ->name. '=>' . $item ->sex. '=>' . $item ->age. "\n" ; |
这段代码的时候,在调用属性的时候是没有自动提示的,那么数据量大的时候需要往上翻然后进行copy或者编写下来,降低编码速度,而且有时候心里还没谱,怕写错。
以下是我写的一个完整的利用注释和本身PHP特性的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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属性调用的时候会有自动提示,非常的方便。
思考
从这里得到的一些思考,那就是我们在编写程序的时候可以更好的考虑严谨性,从上面的例子来看,这样子做了,再加一些错误处理机制,能更好的保证数据的安全性和完整性,不仅仅是编辑器提示的方便。
后续再做代码检查和跟踪的时候,将也是一件非常方便的事情,而且业务逻辑也更清晰。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://segmentfault.com/a/1190000010723243