우리가 이전에 변수, 파일의 제어, 함수, 배열에 대해서 알아보았는데 PHP 객체는 이러한것을 정리정돈하여 좀더 편리하게 하고 유지보수를 쉽게하기 위한것이라고 할수가 있습니다.
다시말해 지금까지 배워온것만으로도 프로그래밍을 하는데에는 지장이 없지만 PHP 객체지향을 생성하여 많은 데이터량을 관리하고 기록하여 하나로 묶어서 사용할수가 있습니다.
서로 연관되어진 함수들을 그룹으로 묶어서 객체로 만들고 이것을 변수로 처리할수가있으며, 함수가 작은상자라면 객체는 큰상자라고 할수가 있고 이것을 변수로 처리할수가 있는것입니다.
함수로 파일의 제어
예제를 보면 var_dump(is_file(‘data.txt’)); 는 data.txt 파일이 서버내에 있는지를 확인하는것으로 있다면 true, 없다면 false를 출력합니다.
var_dump(is_dir(‘data.txt’)); 는 디렉토리 경로로 틀리다면 false 가 출력되며, file_get_contents(‘data.txt’) 는 데이터 글자수를 출력하며, file_put_contents(‘data.txt’, rand(1, 100)); 은 랜덤한 값을 data.txt 파일에 저장을 합니다.
객체와 함수의 비교
위에서 함수로 출력한것을 객체지향으로 출력하기 위해서는 new SplFileObject(‘data.txt’); 는 객체를 만들기 위한 코드로 변수 $file 에 담았습니다.
위에 함수와 동일하게 객체로 출력을 하기위해서는 $file->isFile(); 는 $file이라는 변수에 객체로 data.txt 파일을 담았으므로 isFile() 는 파일이 있는지를 확인합니다.
계속해서 $file->isDir() 은 디렉토리 경로에 파일이 있는지를 확인하며, $file->fread($file->getSize()) 는 데이터 글자수, $file->fwrite(rand(1,100)) 은 랜덤한 값을 data 파일에 저장하는것입니다.

함수와 객체 출력
위에 예제는 함수와 객체가 정확하게 동일한것이므로 때문에 출력값이 파일이 존재한다면 true, 디렉토리 경로는 false, 데이터 글자수 2, 랜덤 1~100 숫자가 출력이 되었습니다.

실제로 함수와 객체가 동일하게 출력되고 코드 길이도 비슷하지만 파일이 수천개 수만개라고 가정한다면 객체로 data와 같은파일을 data2, data3등만을 수정해야하지만 함수는 모든 파일이름을 변경해야 합니다.
그렇기 때문에 불러와야하는 데이터가 많다면 객체로 하나의 파일을 묶어서 사용하는것이 편리하고 이후에도 유지보수나 수정을 할때에 편리합니다.
지금까지 php 객체지향 생성 기본문법과 함수와 객체의 비교 예제를 통해서 출력을 하였습니다.