몽상실현개발주의

[생활코딩] 17.2 함수와 객체의 비교 본문

Language/php

[생활코딩] 17.2 함수와 객체의 비교

migrationArc 2021. 6. 5. 23:50

[생활코딩] 17.2 함수와 객체의 비교

생활코딩 php 강좌

17. PHP의 객체 지향 프로그래밍

17.2 함수와 객체의 비교

// file_compare.php
<?php
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));
?>
  • 함수를 이용한 file 제어
    • php 의 기본 제공 내장 함수 : api
    • php 가 oop 를 채택하지 않았을 때 만들어 졌기 때문에, 함수의 형태로 제공 됨

 

// file_oop.php
<?php
$file = new SplFileObject('data.txt', 'rw+');
var_dump($file->isFile());
var_dump($file->isDir());
var_dump($file->fread($file->getSize()));
$file->rewind();
$file->fwrite(rand(1, 100));
?>
  • SPL File Object Class
    • SPL : Standard PHP Library
      • 객체 지향 방식으로 php 를 제어 하는 새로운 Library
    • 객체 지향 방식으로 File 을 제어 할 수 있음
  • data.txt File 을 객체로 만들어 $file 에 초기화
    • File Object 의 Method 를 사용하여 File 제어
  • Object 의 구성
    • Class : SplFileObject
    • Instance : $file
    • Method(function) : isFile, isDir, fread
    • state : 'data.txt'

 

 

 

  • 함수 중심 코드
    • 함수가 각각 독립적이기 때문에 입력값의 중복이 발생
    • 여러 함수들의 연관성을 파악하기 힘듬
  • 객체 중심 코드
    • 여러가지 함수 들이 하나의 파일에 대해 동작하므로 입력값이 발생하지 않음
    • 특정 객체와 연관된 함수들임을 파악하기 쉬움

 

 


이 글의 모든 사진과 내용의 출처는 생활코딩에 있음을 알려드립니다.

http://www.inflearn.com/course/%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9-php-%EA%B0%95%EC%A2%8C/lecture/230?tab=note

 

생활코딩 - PHP 기본 A 부터 Z 까지 - 인프런 | 학습 페이지

지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요....

www.inflearn.com

 

 

 

Comments