PHP

함수와 객체의 비교

수업소개

객체를 만들기 전에 객체를 사용하는 것은 먼저입니다. 사용자가 되서 객체가 무엇인가에 대해서 충분히 느낀 후에 객체를 만드는 것이 더 좋은 접근이라고 생각합니다. 이 수업에서는 PHP를 통해서 파일을 다루는 두가지 방법을 살펴봅니다. 하나는 함수를 이용하는 것이고, 다른 하나는 객체를 사용하는 것입니다. 객체를 도입했을 때 어떤 좋은 효과가 생기는지를 느껴보는 시간이 되시길 바랍니다. 

수업

함수 방식

객체 방식 

 

함수와 객체의 비교 

 

소스코드

<h1>Function</h1>
<?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));
?>
<h1>Object</h1>
<?php
$file = new SplFileObject('data.txt');
var_dump($file->isFile());
var_dump($file->isDir());
var_dump($file->fread($file->getSize()));
$file->fwrite(rand(1,100));

$file2 = new SplFileObject('data2.txt');
var_dump($file2->isFile());
var_dump($file2->isDir());
var_dump($file2->fread($file2->getSize()));
$file2->fwrite(rand(1,100));

// SplFileObject : Class
// $file, $file2 : Instance
// isFile, isDir, fread : Method(function)
// data.txt, data2.txt : state
?>

 

댓글

댓글 본문
작성자
비밀번호
  1. 노마드
    모양은 Atom editor인것 같으네요,,
    대화보기
    • Shresol
      여기서 사용하는 개발도구는 무슨프로그램이신가요?
    • 고맙습니다~
    • egoing
      같은 의미가 맞습니다~ object access operator라고도 하죠~
      대화보기
      • 폭스킴
        PHP에서 ->가 Python & Ruby에서 . 하고 같은 의미의 문법인거죠?
        제가 초보기도 하고, PHP 수업을 너무 뜨문뜨문 봐서 못보고 지나친건가해서 질문드려요~
        PHP에서 .을 이미 사용하고 있어서 그런거 같은 추측을 하게 되는데,
        객체지향 프로그래밍 소개 동영상 후에 바로 모르는 문법이 나오니까 약간 당황하게 되네요~ ㅎ
        그리고, Python & Ruby 수업을 버리지 말아주세요 ㅜ_ㅜ
      • 이고잉님!!!pdo수업도부탁드려요ㅠㅠㅠㅠㅠ!!!
      • 폭스킴
        맞춤형 수업을 듣게 되다니 저는 럭키가이입니다~!! 늘 빚진 마음입니다~ 감사합니다~ ^^
        대화보기
        • egoing
          ㅋㅋ 이거 하고 가셔야 좀 편하실꺼예요~
          대화보기
          • 폭스킴
            PHP 이틀 안으로 수업 완강하고 바로 코드이그나이터 수업 들어가려고 들떠 있었는데, 수업이 추가돼서 당황스럽네요 ㅎㅎ
          • egoing
            고맙습니다~
            대화보기
            • 구녹수수
              정말 듣고 싶었던 강의인데 이고잉 님이 강의해주셔서 정말 유용할 것 같습니다! 감사합니다 ㅎㅎ
            • egoing
              객체지향수업을 완성하고
              객체지향 이전 수업도 차차로 새롭게 리뉴얼하려고요
              대화보기
              • 구녹수수
                이고잉님!!php강의를 다시 만드시는건가요? 아님 이어서 진행하시는 건가요?!
                이어서 진행하신다면 예전에 만들어놓았던 강의를 그대로 이어서 공부하면 되는건가요?!!!
              버전 관리
              egoing
              현재 버전
              선택 버전
              graphittie 자세히 보기