반응형
<h1> Procedural </h1>
<?php
var_dump(is_file('phpinfo.php'));
echo "</br>";
var_dump(is_dir('phpinfo.php'));
?>
<h1> Object Oriented </h1>
<?php
$file = new splfileobject('phpinfo.php');
var_dump($file->isFile());
echo "</br>";
var_dump($file->isDir());
?>
소스코드의 위쪽 Procedural 부분이 절차적 프로그래밍 코드이고, 밑에 Object Oriented 부분이 객체지향 코드입니다.
절차적(순차적) 코드를 보면 특정 함수 사용 시 "phpinfo.php" 라는 인자값을 각각 넣어주었습니다.
파일이 변경된다고 하면 해당 인자를 전부 바꿔줘야 합니다.
객체지향 코드를 보겠습니다.
splfileobject 라는 php에서 제공하는 클래스를 이용하여 file 이라는 객체(인스턴스)를 생성하였습니다.
(해당 인스턴스의 인자는 phpinfo.php 입니다)
그 다음이 splfileobject 라는 클래스 내에서 만들어져있는 메소드(isFile, isDir 등)를 호출한 모습입니다.
사용법은 객체->메소드() 형태가 됩니다.
웹페이지의 결과를 보면 똑같이 나오는 걸 볼 수 있습니다.
$file->isFile() 이라는 코드는 is_file('phpinfo.php') 와 정확히 같은 역할을 하는 코드입니다.
객체지향이냐 아니냐에 따라 코드만 달라질 뿐, 기능은 동일한 것 입니다.
반응형
'php' 카테고리의 다른 글
클래스 및 객체(4) - $this-> 의 이해 (0) | 2021.08.05 |
---|---|
클래스 및 객체(3) (0) | 2021.08.05 |
클래스 및 객체(1) (0) | 2021.08.03 |
함수 (0) | 2021.07.18 |
기타 제어문 (0) | 2021.07.17 |