본문 바로가기
PHP 박살내기/PHP

[PHP기초] 함수와 객체의 비교

by 인생여희 2017. 9. 1.
반응형

 함수와 객체의 비교



<h1>function</h1>
<?php

//08.31 함수를 통해서 프로그램을 제어한다.
//파일이 있는지 찾는것
//단점: 입력값의 중복이 발생하고 있다. data.txt
var_dump(is_file('data.txt'));
var_dump(is_dir('data.txt'));
var_dump(file_get_contents('data.txt'));
file_put_contents('data.txt',rand(1,100));

?>


<h1>object</h1>

<?php
//객체 사용

//파일의 이름만 바꾸면 밑의 함수들은 동일하게 작동한다.
//연관되어 있는 함수라는 것을 안다.

//data.txt를 대상으로 하는 객체
$file = new SplFileObject('data.txt');

//객체의 매소드(함수가 클래스에 들어있으면 메소드가 된다.) 호출
var_dump($file->isFile());
var_dump($file->isDir());
var_dump($file->fread($file->getSize()));
$file->fwrite(rand(1,100));


//php 문서에는 이미 SplFileObject라는 class 가 존재한다.
//data2.txt를 대상으로 하는 객체
$file2 = new SplFileObject('data2.txt');
var_dump($file2->isFile());
var_dump($file2->isDir());
var_dump($file2->fread($file2->getSize()));
$file2->fwrite(rand(1 ,100));



//SqlFileObject : class - 설계도
// class 에 new를 붙이면 객체를 리턴한다.
// $file, $file2: instance - 설계도를 통해 만들어진 결과물
// isFile, isDir, fread : method(function)
// data.txt , data2.txt : status

?>



<h1>array function style</h1>

<?php

$adata = array('apple','peach','lemon');


//배열에 원소 추가
array_push($adata,'grape');

//반복문
foreach($adata as $item){

echo $item.'<br>';

}

//배열 원소 개수 파악
var_dump(count($adata));
?>


<h1>array object style</h1>

<?php

//배열 객체 생성
$odata = new ArrayObject(array('apple','peach','lemon'));

$odata ->append('grape');

// 반복문
foreach($odata as $item){

echo $item.'<br>';
}

var_dump($odata->count());

?>


반응형

댓글