설명
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";
이 코드를 작성할 때 속성을 호출할 때 자동으로 프롬프트가 표시되지 않으므로 데이터의 양이 늘어나게 됩니다. 글을 쓰려면 위로 스크롤해서 복사하거나 적어야 하므로 코딩 속도가 느려지고, 어떤 내용을 써야 할지 모르겠고, 실수할까봐 두려울 때도 있습니다.
다음은 주석과 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 판단을 추가하는 것입니다.
여기에서는 PHPstorm 기반; 이 판단에 따라 $item 속성을 호출할 때 자동으로 프롬프트가 표시되므로 매우 편리합니다.
생각
여기서 얻은 몇 가지 생각은 프로그램을 작성할 때 엄격함을 더 잘 고려할 수 있다는 것입니다. 위의 예에서 이렇게 하고 일부 오류 처리 메커니즘을 추가하면 데이터 보안과 무결성을 보장하는 것이 더 좋습니다. 편집자 프롬프트의 편의성 그 이상입니다.
나중에 코드 검사 및 추적을 할 때 매우 편리하고 비즈니스 로직도 더 명확해질 것입니다.