블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total633,817
Today41
Yesterday88
변수의 사용범위를 결정하는것은 변수와 메모리의 사용을 확대하는 좋은 방법이다. 중복되어 변수를 사용하게 되는 경우, 원하지 않는 값이 저장되어 있거나, 유지해야 할 값들이 사라지는 것에 대해서 대비할 수 있다.



전역변수라고 모든곳에서 사용 가능한 것이 아니다.
일반적으로 전역변수라고 하면 함수가 아닌 곳에서와, 함수에서 사용가능한 것이라고 생각하기 쉽다. 물론 어느곳에서든지 동일한 값으로 사용이 가능한 전역변수이지만, 아무런 준비없이 사용가능한 것은 아니다.

<?
  $a = 100;

  function value_print() {
    echo "value of variable \$a is $a.";
  }

  value_print();
?>

위의 소스를 실행하면 원하던 결과 대신 다음과 같은 결과 값을 보게 될 것이다.

value of variable $a is .


위와 같은 결과가 나오는 이유는 함수 안에서의 $a 와 함수 안의 $a 는 서로 다른 변수로 인식이 되기 때문이다. PHP 는 특별히 변수를 선언하는 과정이 없이 변수를 사용하게 되는데, 이러한 특성이 함수안에서 적용되어 echo 안의 $a 는 이미 전역변수로 선언된 $a 와는 다른 새로운 변수로 선언되어 사용되기 때문에 아무것도 없는 'null' 값이 저장되는 것이다.


함수안에서 전역변수 사용하기.
그렇다면 함수안에서 전역변수를 사용하기 위한 방법은 없는 것일까? 함수 안에서 동일한 변수를 전역변수를 참조하도록 선언을 해주면 된다. 함수 안에서 전역변수를 선언하기 위해서는 global 키워드를 사용한다.

<?
  $a = 100;

  function value_print() {
    global $a;          // 전역변수 참조
    echo "value of variable \$a is $a.";
  }

  value_print();
?>

위의 소스를 실행하면 다음과 같이 생각했던 결과를 얻게 된다.

value of variable $a is 100.



$GLOBALS 연관 배열.
PHP 에서는 미리 $GLOBALS 라는 연관배열이 정의되어 있다. 만약 개발자가 전역변수를 참조하기 위해 global 키워드를 사용하게 되면 그 변수는 $GLOBALS 의 연관배열에 저장이 된다. 위와 같이 global $a 라고 선언한다면 $GLOBALS['a']라는 이름으로 저장되는 것이다.

<?
  $a = 100;

  function value_print() {
    echo "value of variable \$a is $GLOBALS['a'].";          // $GLOBALS 배열을 이용한 전역변수 참조.
  }

  value_print();
?>

위와 같은 방법으로도 사용이 가능하게 된다.

Posted by seanhigher

댓글을 달아 주세요

배열은 데이터를 저장하는데 있어서 매우 유용한 방법중의 하나이다. 데이터의 순서와 인덱스를 이용하여 같은 종류나, 묶어두어야 할 자료들을 손쉽게 구분이 가능하게 할 수 있다. 변수 형태의 구분이 없는 PHP 에서는 더욱더 유연하고 다양하게 배열의 변수를 사용할 수 있다.



Array 타입의 변수.
배열은 키(key)와 값(value)의 쌍으로 구성되어 있다. 배열을 구성하는 키는 정수형과 문자열로 표현이 가능하다. 특정한 문자열을 지정하지 않을 경우 '0' 부터 차례대로 키값을 가지게 되는데 이를 인덱싱 된 배열이라고 부른다. 배열의 키가 문자열의 형태로 된 첨자를 가지고 있다면 연관 배열이라고 한다.

<?
  $people[0] = "Betty";          // 인덱싱 배열(첫번째 원소)
  $people[1] = "Jane";          // 인덱싱 배열(두번재 원소)
  $people[2] = "Steven";       // 인덱싱 배열(세번째 원소)

  $people['man'] = "Charley";          // 연관 배열(key = 'man')
  $people['woman'] = "Grace";        // 연관 배열(key = 'woman')
?>

배열은 일반적인 변수형과는 근본이 다르다. 정수형, 실수형, 문자형과 같은 변수형은 기본적인 타입에 속하지만, 배열은 이 기본 형태의 데이터를 조금더 발전시킨 형태라고 할 수 있다. 또한, 키와 값이라는 쌍으로 이루어져 있기 때문에 일반적인 변수의 사용과는 조금은 다른 형태를 취하게 된다.

<?
  $subject = array(0 => "국어", 1 => "수학", 2 => "영어", 3 => "사회");
  $score = array('korean' => '89', 'math' => '93', 'society' => '87');
  $people = array('Betty', 'Jane', 'Steven');
?>

배열변수 '$subject' 같이 키가 숫자로 되어 있는 인덱싱 배열의 경우는 $subject[0], $subject[1] 과 같이 숫자의 첨자로 '국어', '수학' 과 같은 변수값에 접근 할 수 있다. '$score' 는 키가 문자열로 이루어져있는 연관배열은 'korean', 'math' 와 같이 문자열로 이루어진 첨자를 사용할경우엔 $score['korean'], $score['math'] 와 같은 방법으로 그 값인 89, 93 에 접근하여 사용할 수 있다. 만일 '$people' 와 같이 키를 선언하지 않은채로 데이터값만 갖는 경우에는 자동적으로 '0' 부터 차례대로 숫자키가 부여된 인덱싱 배열이 된다. 'Betty' 의 값에 접근하고자 한다면 $people['0']이 되며, 'Jane'에 접근하려고 한다면 $people['1'] 을 통해서 접근이 가능하게 된다.


배열을 사용하는 또 하나의 방법.
배열을 사용하게 될 경우에는 배열을 선언하면서, 그 값을 입력해 주어야 한다. 하지만, 그 값이 완전히 준비되어 있지 않을 경우에는 배열의 각 원소별로 값을 정해줄 수 있다.

<?
  $people[] = "Betty";
  $people[] = "Jane";
  $people[] = "Steven";
?>



배열의 배열, 다차원 배열
배열을 더 유용하게 만드는 것중 하나는 배열을 중첩하여 사용이 가능하다는 것이다. 물론 너무 많은 중첩을 하게 된다면 PHP를 해석하는 파서에 무리가 가겠지만, 적절한 중첩을 이용한 배열은 변수의 사용가능성을 수십, 수백배 배가 시켜준다. 배열을 중첩한 다차원 배열의 사용법은 일반적인 배열의 사용법과 같다. 단지, 배열의 값에 일반적인 값 대신 배열의 값이 들어간다는 것이 다를 뿐이다.

<?
  $people = array(
                 array('name' => 'Betty', 'sex' => 'female', 'age' => '24'),
                 array('name' => 'Jane', 'sex' => 'female', 'age' => '29'),
                 array('name' => 'Steven', 'sex' => 'male', 'age' => '28')
                 );
?>


위의 배열에서 steven 의 나이인 28 의 값에 접근을 하고 싶다면 $people[2]['age'] 와 같이 사용할 수 있다. 차수가 높아질수록 첨자가 하나씩 늘어나게 된다.

Posted by seanhigher

댓글을 달아 주세요

String 타입은 문자열의 집합이라고 할 수 있다. PHP 에서의 String 타입은 큰 따옴표와, 작은 따옴표의 종류에 따가 그 사용방법에 조금의 차이가 있다.


String 타입의 변수.
String 타입의 변수는 다음과 같이 선언될 수 있다.

<?
  $name = "Devist";
  $say = ' welcome to devist blog~ ';
?>


문자열 안에서 변수의 값을 출력하려면?
다양한 변수의형태를 통해서 값을 저장하고, 사용하였다. 하지만 변수라고 하는 값은 가변적으로 그 값이 출력되어 사용되어 질때 그 영향을 발휘하고, 필요성이 생기는 것이다.


큰 따옴표를 사용하는 String 변수.
큰 따옴표를 사용하는 변수안에서는 백슬래쉬 문자를 사용한 특수문자를 사용할 수 있다. PHP 는 스크립트 언어이기 때문에 HTML과 결합되어 사용되어 진다. 이렇게 HTML 태그과 결합되어 사용되면서 특수한 문자의 사용이나, 필요성이 많아지게 된다. 큰 따옴표 안에서 사용할 수 있는 특수 문자는 다음과 같다.

\n : 커서를 다음행으로 이동시킨다. 개행문자
\r : 커서를 현재 행의 맨 처음으로 이동시킨다.
\t : 커서를 탭만큼 이동시킨다.
\" : 큰 따옴표를 출력한다.
\\ : 백슬래쉬를 출력한다.
\$ : 달러문자를 출력한다.
\0 : NULL 값을 갖는다.

큰 따옴표를 사용한 스트링 변수는 그 안에서 사용된 변수의 값이 원래의 값으로 변환되어 나오게 되어 있다.

<?
  $age = 28;
  $say = "나의 나이는 $age살 입니다.";
  echo $say;
?>


위의 소스를 실행시키면 다음과 같은 결과가 나타나게 된다.

나의 나이는 28살 입니다.



작은따옴표를 사용하는 String 변수
작은 따옴표를 사용하는 변수의 경우에는 특수문자를 사용할 수 없게 된다. 큰 따옴표를 사용할때 가능하던 특수문자를 사용할 수 없지만, 특수문자들을 그대로 출력이 가능하게 된다. 하지만, 작은따옴표와 백슬래쉬의 두가지 특수문자만은 인식이 가능하다. 위의 소스를 작은따옴표를 이용하여 나타내면 다음과 같은 결과가 나타나게 될 것이다.

나의 나이는 $age살 입니다.


하지만 큰 따옴표를 사용하지 않고 작은따옴표만을 사용하여 나타내야 할 경우도 있을 것이다. 그럴 경우에는 어떻게 해야 할것인가? 스트링변수는 점 연산자형을 제공하고 있다. 각각의 문자열을 연결하기 위해 점(.) 연산자를 사용하여 이어주는 것이 가능하다.

<?
  $age = 28;
  $say = '나의 나이는'.$age.'살 입니다.';
  echo $say;
?>


스트링 변수는 문자열을 출력하기 위한 변수이기때문에 매우 중요한 변수이고, 자주 사용되어진다. 하지만, 큰 따옴표와 작은따옴표의 사용에 대해서 잘 구분하여 사용하지 않는다면 생각지도 못한 결과를 얻게 될 수도 있을 것이다.

Posted by seanhigher

댓글을 달아 주세요

프로그래밍 언어에 있어어 변수는 매우 중요한 요소이다. 변수가 없다면 프로그래밍이라는것 자체가 성립되지 않을 것이다. PHP 에서의 변수는 다른 프로그래밍 언어와는 차별된 유연성을 가진다. 이러한 사실 또한 PHP 를 매력적으로 만드는 요소이다.



이름만 봐도 변수인지 알 수 있다.
PHP 의 변수는 개발자가 아닌 어느 누가 봐도 단번에 변수 인지 알 수 있다. PHP 의 모든 변수 앞에는 '$' 표시가 포함되기 때문이다. 이름을 저장하기 위해 'name' 라는 이름을 가진 변수를 사용하고 싶다면 '$name' 라고 쓰면 된다.

<?
  $name = "무른모 공방";
  $address = "http://devist.tistory.com";
?>



아무거나 다 되는 변수!
PHP 에서의 변수 사용은 고민을 할 필요가 없다. 변수의 형태를 선언할 필요가 없기 때문이다. C 언어나 자바같은 경우는 변수를 사용하기 전에 사용하고자 할 데이터가 어떤 형태를 지니는지 곰곰히 생각해 봐야 했다. 하지만, PHP 에서는 그런 고민이나 걱정은 하지 않아도 된다. PHP 파서가 다 알아서 해주기 때문이다.

<?
  $number = 1028;
  $character = "ABC";
?>



형변환 함수? 그런거 몰라도 된다.
C나 자바같은 프로그래밍 언어에서는 문자의 형태로 받아진 숫자를 숫자의 형태로 바꾸기 위해서 다양한 함수들을 사용해야 했다. 이런 부분을 해결하기 위해 작성해야 할 코드도 적지 않은 부분을 차지하였고... 하지만, PHP 에서는 형 변환 함수에 대해서 공부해야 할 필요가 없다. 변수 자체에 형태를 선언해주지 않기 때문에 문맥의 상황에 맞추어서 자동으로 형변환이 이루어지게 된다.

<?
  $a = 100;
  $b = "이백";
  $b = 200;
  $sum = $a + $b;
?>


$a 는 100이라는 숫자를 받으므로 숫자형태의 데이터를 저장하는 변수가 된다. $b 는 "이백"이라는 문자를 받는 문자형 변수가 된다. 다음 줄에서 $b 는 200 이라는 숫자를 입력받게 된다. 200 이라는 숫자를 받았다고 해서 숫자형이라고 단정지을 수는 없기 때문에 여전히 문자형을 갖게 되지만, 다음줄에서 $b는 계산을 하기 위한 변수로 사용이 되기 때문에 그 순간부터 문자형에서 숫자형 변수로 형태가 바뀌게 되는 것이다.


PHP 언어의 변수형
PHP 에서는 변수의 형태를 파서가 자동으로 선언해주고, 변환해 주지만 어떠한 타입의 변수를 선언해 주는지에 대해서 알아볼 필요는 있다. 내가 입안에서 씹고 있는 음식이 무엇으로 만들어졌는지 모르는것과 아는 것에는 큰 차이가 있다.
boolean : true 와 false 값을 갖는 데이터 형이다.
interger : 정수의 값을 갖는 데이터 형이다. 시스템마다 저장할 수 있는 범위에 차이는 있지만, C 언어의 long 타입과 같다고 할 수 있다.
float : 부동소수값, 또는 실수의 값을 갖는 데이터 형이다.
string : 문자형태의 값을 갖는 데이터 형이다. C 나 JAVA 의 경우는 문자 하나와 문자열을 구분지어 사용하는데, PHP 에서는 문자와 문자열을 다르게 보지않고 동일한 형테의 데이터 형으로 본다.
array : 연관된 자료들의 집합을 나타낸다. C 나 JAVa 와는 다르게 한 배열에 속해있는 자료들의 형태가 같지 않아도 사용이 가능하다.
object : 오브젝트 타입의 클래스 객체를 참조하기 위한 변수 타입이다.
resource : mysql 이나 oci 와 같은 함수를 통해 연결된 데이터이터베이스 등 특별한 함수의 반환값이나, 외부 자원을 가리키는데 사용 가능한 데이터 타입이다.
null : 아무런 값도 갖지 않는 데이터 타입이다.




'Dev Center > PHP start' 카테고리의 다른 글

Arrary 타입 변수 사용하기.  (0) 2010.05.03
String 타입의 변수 사용하기.  (0) 2010.05.02
PHP 의 변수.  (0) 2010.05.01
timezone 설정하기.  (0) 2010.04.30
PHP 에 무슨 문제라도??  (0) 2010.04.29
HTML 과 PHP 함께 사용하기.  (3) 2010.04.27
Posted by seanhigher

댓글을 달아 주세요

php 에 관한 환경설정은 모두 php.ini 파일에 포함되어 있다. php.ini 파일만 잘 다룰 줄 안다면 php 를 설정하고 사용하는데는 전혀 어려움이 없을 것이다. 물론 그렇지 않아도 약간의 부담을 감수하고 사용하는데는 큰 무리가 없긴 하지만...


timezone 설정하기.
php 스크립트 중에서 시간과 관련된 'date()' 와 같은 함수를 사용할 경우 다음과 같은 메세지가 나올 경우가 있다.

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in /Users/seanhigher/Sites/PHPinHTML.php

어렵지 않게 짐작했겠지만, 시간과 관련된 설정이 되어 있지 않을 경우 나오는 메세지이다. 물론 자동적으로 위치를 검색해서 제대로 된 시간이 나오긴 하지만, 위와 같은 메세지는 그리 달갑지가 않다. 위의 메세지가 더이상 나오지 않게 하기 위한 방법으로는 두가지가 있는데 하나는 'date()' 함수를 사용하기전에 'date_default_timezone_set('Asia/Seoul');' 와 같이 timezone 을 설정해주는 것이다. 간단하게 해결할 수 있기는 하지만, 매번 'date()' 함수가 사용되는 페이지마다 선언한다는 것은 상당히 불필요한 작업이 될 수 있다. 두번째 방법은 'php.ini' 파일에서 설정해 주는 것이다. 첫번째 방법이 일회용이라고 하면, 두번째 방법은 한번만 수고하면 영원히 사용할 수 있는 영구적인 방법이다. 'php.ini' 파일은 php 에 관련한 환경설정들이 들어있는 환경설정 파일이다. php.ini 파일이 있는곳은 각 플랫폼마다 다르다. 하지만, phpinfo() 함수를 통해 나타난 php 의 정보중에 Configuration File (php.ini) Path 항목을 확인하면 php.ini 파일이 있는 곳을 알 수 있다.


그림1. 폴더로 이동

'/etc' 폴더의 경우 숨김 폴더로 되어 있기 때문에 파인더에서 클릭을 하여서 이동하는 방법으로는 이동이 불가능하다. 위 그림과 같이 파인더의 '이동' -> '폴더로 이동' 항목을 선택하여 '/etc' 폴더로 이동한다.


그림2. '/etc' 폴더

하지만, 아무리 찾아보아도 'php.ini 파일을 찾을 수가 없다. PHP5 버전 이후 부터는 'php.ini' 파일 대신에 'php.ini-dist', 'php.ini-production', 'php.ini.default' 와 같은 파일 이름을 사용하기도 한다. 이런 경우에는 이 파일을 'php.ini' 파일로 복사하여 사용하면 된다. 이제 준비된 'php.ini' 파일을 살펴보면 date.timezone 항목이 비어있는 것을 볼 수 있다.


그림3. php.ini 파일

위 화면의 박스안에 있는 부분에 다음의 소스를 넣으면 된다.

;date.timezone = Asia/Seoul

timezone 항목으로 들어가는 인자는 http://php.net/timezone 페이지에서 확인할 수 있다. 이제 date() 함수를 사용하여도 위와 같은 warning 메세지를 보지 않아도 될 것이다.

'Dev Center > PHP start' 카테고리의 다른 글

String 타입의 변수 사용하기.  (0) 2010.05.02
PHP 의 변수.  (0) 2010.05.01
timezone 설정하기.  (0) 2010.04.30
PHP 에 무슨 문제라도??  (0) 2010.04.29
HTML 과 PHP 함께 사용하기.  (3) 2010.04.27
eclipse에 PDT 설치하기.  (0) 2010.03.27
Posted by seanhigher

댓글을 달아 주세요

PHP 는 PHP 이고 HTML 은 HTML 인데... 이 둘을 함께 사용하려면 어떻게 해야 할까? PHP는 ASP, JSP와 같은 스크립트 형태의 언어이기 때문에 HTML 태그에 내장되는 형태로 사용이 된다. PHP를 선언하는 태그를 HTML 문서에 포함시킨후, 태그 안에 PHP 소스를 넣으면 된다.



PHP임을 알리는 HTML 태그.
HTML 문서에 PHP임을 알리는 태그는 매우 간단하다. '<?php ?>' 또는 '<? ?>' 이다. 가운데 빈 공간에 PHP 스크립트 코드를 써 넣으면 되는 것이다. 사실 HTML 문서나, PHP 문서나 똑같은 웹 문서일 뿐이다. 확장자의 이름만 다를 뿐이다. HTML 과 PHP 문서를 구분짓는 것은 그 안에 사용되는 태그를 어떻게 사용하느냐이다. 확장자명을 PHP로 한다고 할찌라도 일반적인 HTML 태그를 사용한 소스만을 사용한다면 HTML 문서와 똑같이 작용할 뿐이다. 그렇기 때문에 PHP 로 시작하는 문서는 보통 '<?' 로 시작하게 된다.


HTML 문서안에 PHP 포함시키기.
HTML 문서에 PHP 소스를 포함시키기 위해서는 '<? ?>' 태그안에 PHP 소스를 작성하면 된다.

<PHPinHTML.html>
<HTML>
  <HEAD>
    <TITLE>HTML 안에 PHP</TITLE>
  </HEAD>
  <BODY>
    지금 시간은 <b> <? echo date("Y-m-d H:i:s") ?> </b> 입니다.
  </BODY>
</HTML>


'echo' 는 C 언어의 printf문과 같은 역할을 한다. 다음에 나오는 인자를 화면에 출력해주는 역할을 한다. date() 함수는 현재의 날짜, 시간을 출력해주는 함수이다. 위의 'PHPinHTML.html' 문서를 실행하면 다음과 같은 결과가 나오게 된다.


그림1. HTML 안에 PHP

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in /Users/seanhigher/Sites/PHPinHTML.php on line 8

만약 위와 같은 warning 메시지를 보게된다면 타임존이 설정되지 않은것이다. 아래와같이 타임존을 설정해주는 소스를 추가해주면 에러메세지가 사라질 것이다.

<PHPinHTML.html>
  <HEAD>
    <TITLE>HTML 안에 PHP</TITLE>
    <? date_default_timezone_set('Asia/Seoul'); ?>
  </HEAD>


PHP 문서안에 HTML 포함시키기.
반대로 PHP 문서안에 HTML 태그를 포함시킬 수 도 있다. PHP 는 이렇게 유연한 방식으로 개발자들을 대하기 때문에 개발자의 사용습관에 따라 편한대로 사용할 수 있다. PHP 문서안에 HTML 태그를 포함시키기 위해서는 'echo' 함수를 사용할 수 있다. echo 는 C 에서의 printf 문과 마찬가지로 이후의 내용을 출력하는 역할을 하기 때문에 echo 의 인자로 HTML 태그를 포함시킴으로 HTML 태그를 표현할 수 있게 된다.

<HTMLinPHP.php>
<?
  echo "<HTML><HEAD><TITLE>PHP 안에 HTML</TITLE></HEAD>
  <BODY>지금 시간은 <b>";
  echo date("Y-m-d H:i:s");
  echo "</b> 입니다.</BODY></HTML>";
?>


위의 소스코드를 실행하면 'PHPinHTML.html' 문서를 실행한것과 같은 결과를 보게 될 것이다.


그림2. HTMLinPHP.html

PHP 를 사용하는 방법은 다양하다. 하지만 다양하다고 해서 편하다는 것은 아니다. 분명, 일반적인 위지윅 방식의 HTML 편집기와 함께 사용하려고 한다면 어려움이 있기 마련이다. 하지만 이런 문제를 단번에 해결하면서도 좀더 효율적으로 PHP 소스를 활용할 수 있는 방법이 있다. include() 함수가 그 방법이다!


통째로 포함시키기.
수십페이지에 달하는 웹 페이지를 제작하려고 하는 개발자가 있다. 하지만, 모든 페이지가 대부분 같은 폼을 가지고 있다. 똑같은 작업을 수십번 반복해야 하는 것이다. 만들때는 새로 만들어서 복사하면 된다고 하지만, 수정을 해야 할때는 대책없이 수십개의 문서를 일일이 수정해 주어야 한다. 이럴때, 템플릿을 활용하면 훨씬 수월하게 작업을 하고, 웹페이지 유지보수를 할 수 있다. 똑같은 형식을 갖는 부분을 템플릿으로 만들고 수십개의 문서에 그것을 포함시키는 형식으로 적용을 시키는 것이다. 수정을 할 때는 템플릿만 수정을 하게 되면 모든 템플릿을 포함한 모든 문서에 똑같이 적용이 되는 것이다.


그림3. 템플릿의 활용

템플릿은 HTML 문서로 작성하여도, PHP 문서로 작성하여도 무방하다. 템플릿 문서를 포함하고자 하는 문서에 '<? include "템플릿 문서"; ?>' 와 같은 형식을 취하면 된다.

<TimeTemplate.php>
<?
  echo "지금 시간은";
  echo date("Y-m-d H:i:s");
  echo "입니다";
?>

<documentA.html>
<HTML>
  <HEAD>
    <TITLE>템플릿의 활용</TITLE>
  </HEAD>
  <BODY>
  <? include "TimeTemplate.php"; ?>
  </BODY>
</HTML>


위의 두개의 파일을 실행하면 다음과 같이 실행되는 것을 알 수 있다.


그림4. documentA.html (include TimeTemplate.php 포함)

위에서 설명한 예제는 간단하지만, 좀더 큰 규모의 웹 페이지를 제작하게 될 경우에 템플릿을 사용하여 효율성을 극대화 하는 것은 꼭 필요한 기능이다.



'Dev Center > PHP start' 카테고리의 다른 글

PHP 의 변수.  (0) 2010.05.01
timezone 설정하기.  (0) 2010.04.30
PHP 에 무슨 문제라도??  (0) 2010.04.29
HTML 과 PHP 함께 사용하기.  (3) 2010.04.27
eclipse에 PDT 설치하기.  (0) 2010.03.27
PHPeclipse 설치하기.  (2) 2010.03.15
Posted by seanhigher

댓글을 달아 주세요

  1. 2010.04.28 00:54  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. 2015.12.31 22:34 신고 소울라이어  댓글주소  수정/삭제  댓글쓰기

    제가 개념이 없어서 그러는데요.
    티스토리 블로그에 글쓰기를 한다음 HTML모드에서 이 코드를 적으면요
    <HTML>
    <HEAD>
    <TITLE>HTML 안에 PHP</TITLE>
    </HEAD>
    <BODY>
    지금 시간은 <b> <? echo "ㅇㅇㅇㅇㅇㅇㅇ"; ?> </b> 입니다.
    </BODY>
    </HTML>

    안나오는게 정상인가여?

절대적인 자바 개발툴로 사랑을 받고 있는 이클립스. 그렇다면 이클립스에서는 자바 개발만 할 수 있는 것일까? 다양한 플러그인으로 무장한 이클립스에 대해 그런 생각을 가지고 있다면 굉장한 오산이다. 이클립스 자체가 플러그인으로 이루어져 있을만큼 다양한 플러그인으로 변경이 가능하기 때문에, 어떠한 언어에도 완변하게 대응할 수 있다. 그에 걸맞는 플러그인만 가지고 있다면...


PDT(PHP Development Tool)
이클립스에서 웹 개발, 특히 PHP를 개발하기 위해서는 그에 걸맞는 설정이 필요하다. 그리고 이미 준비가 되어 있다. 기본적으로 eclipse JEE 버전을 받으면 웹 개발에 필요한 대부분의 기능을 사용할 수 있지만, 이클립스 자체가 통합적인 업데이트가 이루어지기 때문에, 웹 개발을 위해서라면 웹 개발 부분의 기능을 향상시켜주는 업데이트를 하고, 더 나은 플러그인을 설치해주는 것이 좋다. 특히  PDT는 PHP 개발자들을 위해 특화된 플러그인이라고 할 수 있고, 공식적인 플러그인이기 때문에 매우 안정적이다.


이클립스에 PDT 플러그인 설치
처음으로 이클립스를 실행하게 되면, 개발 환경을 나타내는 퍼스펙티브가 설치 버전에 따라 Java, JEE, 등으로 되어 있을 것이다. 여기에 PDT를 설치하여 PHP 개발에 최적화된 퍼스펙티브를 추가할 수 있다.


그림1. 새로운 플러그인 설치.

메뉴바에서 'HELP' -> 'Install New Software...'를 선택한다. 이클립스에서는 '플러그인 설치' 라는 메뉴 대신에 '새로운 소프트웨어 설치'라는 항목을 사용하고 있다.


그림2. 사이트 추가.

위의 화면과 같은 창이 나오게 되면 오른족 부분에 'Add...' 버튼을 눌러서 'Add Site'라는 창이 나오면, 설치 파일을 제공하는 사이트의 URL을 입력하도록 한다. PDT를 다운로드 받을 수 있는 URL은 'http://download.eclipse.org/tools/pdt/updates/2.0/'이다. 이름부분에는 자신이 알아볼 수 있도록 아무 이름이나 사용해도 상관 없다. 이클립스에서는 위와 같이 사이트에서 직접 파일을 다운로드 하여 설치할 수 있돌고 제공하고 있지만 인터넷 접속이 어려울 경우 직접 파일을 다운로드 받아 설치 할 수 있는 방법도 가능하다. 'Add Site'창에서 'Local'버튼을 클릭하여 다운로드 받은 파일이나 폴더가 있는 위치를 지정해 주면 동일하게 진행 할 수 있다.


그림3. 설치 가능한 플러그인.

설치 사이트를 입력하고 'OK' 버튼을 누르면 자동으로 설치 가능한 플러그인들을 검색해준다. 위 그림에서는 PDT SDK 2.0.1 버전과 PDT SDK 2.1.2 버전이 나오게 되는데 둘중 하나만 선택하여 설치하도록 한다. 만약 두개를 다 선택하면 플러그인끼리 충돌이 일어나서 설치가 이루어지지 않기 때문에 비슷한 플러그인의 경우엔 한가지만 설치하도록 한다.


그림4. 라이센스 동의.


그림5. 설치 진행 화면


그림6. 이클립스 재시작.


그림7. 퍼스펙티브 추가

설치가 완료 되었다고 해서 PDT를 바로 사용할 수 있는 것은 아니다. PHP퍼스펙티브를 추가해 주어야 사용이 가능한 상태가 된다. 이클립스의 오른쪽 윗 부분에 있는 빨간네모와 같은 그림을 클릭하면 위와 같은 메뉴를 볼 수 있게 된다. 기본으로 PHP가 없기 때문에 'Other...'을 선택하여 추가해야 한다.


그림8. PHP 퍼스펙티브 선택

위와 같이 메뉴가 나오면 PHP를 선택하여 PHP퍼스펙티브를 추가할 수 있다.


그림9. PHP Project 메뉴가 추가된 화면

이제 매인 화면으로 돌아가 새로운 프로젝트를 생성해보자. 위의 그림과 같이 'PHP project'라는 새로운 메뉴가 생긴것을 볼 수가 있다.

이클립스의 다양한 플러그인을 설치하는 방법은 위의 방법과 거의 동일하다. 플러그인 파일을 다운로드 받거나, URL을 입력하여 설치하면 된다. 자신이 사용하기에 가장 알맞고, 최적화된 자신만의 이클립스를 만들 수 있을 것이다. 또, 그것이 너무 효율적이라면 다른사람에게 소개하는 아량을 베푸는 것도 좋을 것이다.

'Dev Center > PHP start' 카테고리의 다른 글

PHP 의 변수.  (0) 2010.05.01
timezone 설정하기.  (0) 2010.04.30
PHP 에 무슨 문제라도??  (0) 2010.04.29
HTML 과 PHP 함께 사용하기.  (3) 2010.04.27
eclipse에 PDT 설치하기.  (0) 2010.03.27
PHPeclipse 설치하기.  (2) 2010.03.15
Posted by seanhigher

댓글을 달아 주세요

웹 기반의 개발을 하기위해서는 그에 걸맞는 웹 개발 도구가 필요하다. 테스트 환경을 만들기 위한 웹 서버를 만들어야 하고, 웹 페이지를 제작할 수 있는 툴이 있어야 한다. 웹 서버를 구축하는 것은 고정된 상황을 만드는 것이기 때문에 선택의 여지가 적지만, 툴을 선택하는 것은 너무나도 많은 가능성을 가지고 있다. 세련된걸 좋아할 수도, 고전적인걸 좋아할 수도...

 


Aptana studio.
Apatana는 전혀 새로운 도구가 아닌 이클립스 기반의 웹 언어 개발 도구이다. stand alone 형태의 독립된 플랫폼으로 설치할 수도 있으며, 이클립스에 Apatana라는 플러그인 형태로 제공되기도 한다. 또한 이클립스에서 사용하는 모든 플러그인을 설치하여 사용할 수 있다. 프로그램명과 동일한 Aptana에서 만들어졌으며, Windows, Linux, Solaris등 대부분의 운영체제에서 사용 가능하다. 자바스크립트, CSS, HTML등의 다양한 웹 언어를 지원하고, ftp와 local 디렉토리 구조가 가능하여 웹 프로젝트를 효율적으로 관리하도록 도와준다.


Aptana studio 설치하기.
Aptana studio는 무료로 공개되어 있는 도구이다. 현재 2.0버전이 새로 나와 있으며 Apata.org에서 다운로드 받을 수 있다.


그림1. Aptana.org 홈페이지


그림2. Apatana Studio 다운로드 페이지

Apatana Studio는 Standalone 과 plug-in의 두가지 형태의 배포되고 있으며, 자신의 OS와 다운로드 파일을 인스톨러/압축파일 중에서 선택할 수 있다. 자신의 필요에 따라 알맞게 선택을 하면 된다.


그림3. 다운로드 받은 Aptana Studio.dmg 파일

폴더를 자신이 설치하고자 하는 디렉토리에 옮겨서 설치를 한다.


그림4. aptana studio의 실행 화면

이것으로 간단하게 강력한 이클립스 기반의 aptana studio의 설치를 마쳤다. 이제 웹 프로그램의 개발만 남아 있다.

Posted by seanhigher

댓글을 달아 주세요

eclipse는 강력한 프로그래밍 언어 저작도구이다. 특히 Java 개발자들을 통해서 많이 알려지게 되었다. 이클립스의 장점인 다양한 plug-in을 통한 무한한 기능의 확장은 프로그래머들이 더욱더 편안하게 개발에 집중할 수 있도록 돕고 있다. 웹 스크립트 언어인 PHP를 개발할 수 있는 플러그인 역시 지원하고 있는데 'PHPeclipse'이다.



PHPeclipse?
이클립스에서 PHP 프로그래밍을 할 수 있도록 돕는 플러그인인 PHPeclipse는 Trac open source project를 통해서 만들어졌다. Trac은 쉬운 사용에 초점이 맞추어진 웹기반의 소프트웨어 프로젝트 관리도구이며 버그/이슈 트랙킹 시스템이다. PHPeclipse는 PHP뿐만 아니라, XAMPP를 사용하여 웹서버, 데이터베이스등을 손쉽게 사용할 수 있게끔 만들어준다. 또한 X-debuger는 잘못된 프로그램을 개선할 수 있는 여지를 제공한다. 이클립스가 그렇듯, PHPeclipse 역시 작은 플러그인의 모음인 것이다.


PHPeclipse 설치하기.
먼저 이클립스가 설치되어 있어야 PHPeclipse를 설치할 수 있다. 이클립스는 다양한 플로그인을 지원하기 때문에, 웹사이트에서 플러그인을 다운로드 받아 설치 할 수 있는 메뉴를 제공하고 있다. 하지만 온라인이 아닌 오프라인으로도 충분히 설치가 가능하다.


그림1. 이클립스에서 플러그인 설치.

이클립스의 메뉴에서 Help -> Install New Software... 를 선택한다.


그림2. 플러그인 항목 추가.

한번 온라인을 통해서 설치를 하게된 플러그인에 대해서, 지속적인 업데이트가 되도록 플러그인 항목을 등록하게 되어있다. 'Add' 버튼을 눌러서 PHPeclipse의 플러그인 항목을 등록한다. Name 항목에는 사용자가 알아 볼 수 있는 적당한 이름을 적어놓고, Location 항목에는 업데이트가 가능한 플러그인의 업데이트 url을 입력한다. PHPeclipse를 설치하기 위해서는 'http://update.phpeclipse.net/update/stable/1.2.x'를 적어 넣는다.


그림3. 가능한 플러그인 검색.

이클립스에서 자동으로 플러그인을 업데이트 항목으로 검색을 하여 보여준다. 업데이트 하고자 하는 항목을 체크하고, 설치를 진행한다.


그림4. 플러그인 설치항목


그림5. 라이센스 동의.


그림6. 설치 진행 화면


그림7. 설치 완료

간단하게 라이센스를 동의하고나고 설치를 진행하면 별 무리 없이 설치가 진행된다. 도중에 메시지가 나오더라도 무시하고 진행하도록 한다. 설치가 완료된 후에는 이클립스를 재시간해야지 PHPeclipse를 실행할 수있으므로 'Yes'를 눌러서 재시작 하도록 한다.


PHP perspective.
PHPeclipse를 설치하였다면, 그것을 사용하기 위해 PHP 퍼스펙티브로 변경을 해야 한다. 이클립스에서는 퍼스펙티브를 통해서 플러그인을 사용할 수 있도록 지원하고 있다. 아무리 플러그인을 설치했다고 해서 설정을 해주지 않는다면 사용할 수 없다.


그림8. 퍼스펙티브 선택

이클립스를 보면 오른쪽 윗 부분이 퍼스펙티브를 선택하는 부분이다. 자신이 선택하여 설치한 퍼스펙티브가 기본으로 설정되어 있을 것이다. 그림에서는 'Java EE'가 기본 퍼스펙티브이다. 다른 퍼스펙티브로 변경하기 위해서 빨간 사각형으로 선택되어 있는 부분을 선택하면 다른 퍼스펙티브를 선택할 수 있는 메뉴가 나오는데 PHP는 없다. 하지만, 'Other'를 선택하면 더많은 다른 퍼스펙티브 메뉴들이 나온다.


그림9. 퍼스펙티브 선택.


그림10. PHP 퍼스펙티브 화면.

이제 이클립스를 가지고 PHP를 개발할 준비가 되어 있다. 이제 새 프로젝트를 생성하여 멋지고 효율적인 웹 프로젝트를 제작할 수 있다.

'Dev Center > PHP start' 카테고리의 다른 글

PHP 의 변수.  (0) 2010.05.01
timezone 설정하기.  (0) 2010.04.30
PHP 에 무슨 문제라도??  (0) 2010.04.29
HTML 과 PHP 함께 사용하기.  (3) 2010.04.27
eclipse에 PDT 설치하기.  (0) 2010.03.27
PHPeclipse 설치하기.  (2) 2010.03.15
Posted by seanhigher

댓글을 달아 주세요

  1. 2010.03.29 11:06 강뽕  댓글주소  수정/삭제  댓글쓰기

    덕분에 순조롭게 설치를 완료하였습니다.
    글내용 많이 참조할게요^^

웹 개발을 하기 위해서는 먼저 자신의 컴퓨터에 웹 서비스가 이루어질 수 있는 테스트 환경이 만들어져야 한다. 기본적으로 웹 서버가 있어야 하고, 수많은 데이터들을 구성하기 위해서는 데이터베이스가 필요하다. 또, PHP나 Perl을 사용하기 위해서는 그것들을 해석하기 위한 해석기가 필요하다. 하지만, 이런 모든것들을 배우고나면 이미 많은 시간이 지나버렸을 것이다.


 

XAMPP?
흔히 웹 개발 환경을 APM라고 부른다. Apache 웹 서버 + MySQL 데이터 베이스 + PHP 의 앞글자를 따서 만들어진 것이다. 이것을 하나하나 시스템에 맞추어서 설치를 하는것은 결코 쉬운 일이 아니다. 그래서 쉽게 APM환경을 만들어주는 소프트웨어들을이 개발되어 있다. 대표적인것으로는 APM SETUPXAMPP가 있다. 이중 XAMPP는 Mac OS X 이외에도 Windows, Linux, solrais 와 같은 다양한 OS를 무료로 지원하고있다. 현재 XAMPP에서 제공하고 있는 환경에는 다음과 같다.

Apache, MySQL, PHP, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype, libjpeg, libpng, libungif, zlib, expat, Ming, Webalizer, pdf class, mod_perl, SQLite, gdbm, libxml, libxslt, openldap, imap, gettext, libmcrypt, mhash, zziplib, bzip2, freetds


XAMPP 설치.
XAMPP에 관한 정보를 제공하는 곳은 Apachefriends.org이다. 이곳에서는 XAMPP의 다운로드와 릴리즈 정보, 포럼등을 통해 다양한 정보를 확인할 수 있다.


그림1. ApacheFriends 사이트

메인화면에서는 XAMPP에 대해서 간단히 소개하고 있다. 위에 있는 메뉴중에 XAMPP메뉴를 선택하면 각 OS별로 XAMPP의 버전을 선택할 수 있다. 각자 자신의 플랫폼에 맞게 선택하고 설치파일을 다운로드하도록 한다. 다양한 종류의 OS를 지원하기는 하지만, 모든 OS에 동일한 버전을 제공하지는 않는다.


그림2. Mac OS X 용 XAMPP 다운로드

처음 설치하는 것이기 때문에 Universal Binary버전을 다운로드 받는다. 다운로드받은 파일을 마운트 하면 다음과 같은 창을 볼 수 있다.


그림3. XAMPP for Max OS X를 마운트한 화면

XAMPP를 설치하는 것은 매우 간단하다. 여느 맥용 어플리케이션과 마찬가지로 XAMPP폴더를 Applications폴더로 드래그하면 된다. 그리고 XAMPP Control을 실행하면 모든설치가 완료된다. 한가지 주의할 점은 웹 공유가 켜져있다면 웹공유가 꺼진 상태에서 설치를 해야 한다. 그렇지 않으면 Apache를 설치하는 과정에서 서로 충돌할 수 있기 때문이다.


XAMPP 실행.
XAMPP는 XAMPP Control이라는 컨트롤러를 제공한다. start버튼만 있는 간단한 프로그램이지만, 간단하기때문에 편리하기도 하다.

그림4. XAMPP Control 실행


그림5. XAMPP Control을 실행한 화면

XAMPP Control을 실행하면 위와 같이 두개의 창을 볼 수가 있다. 왼쪽의 큰 창은 Apache 웹 서버와  MySQL에 대한 간략한 정보를 표시한다. 오른쪽의 Controls 창은 Apache, MySQL, FTP를 시작하고 멈출 수 있는 버튼을 제공한다. 당연한 이야기겠지만, Start버튼을 클릭하면 각각의 서비스가 시작된다. 아파치를 시작하고 localhost에 접속하였을때 다음과 같은 화면이 나온다면 아파치 서버가 제대로 작동하고 있는 것이다.


그림6. XAMPP의 localhost 페이지.

XAMPP의 설치가 잘 완료되었다. 이보다 더 간단하게 웹 서버를 구동하는 방법은 없을 것이다!

Posted by seanhigher

댓글을 달아 주세요

  1. 2010.07.23 18:28  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. 2010.10.23 23:48 창한이  댓글주소  수정/삭제  댓글쓰기

    혹시 FTP 서버 설정하려면 어떻게 하는지.. 아시는지요 윈도우에는 admin기능이 있던데 맥용에서는 없네요

최근에 달린 댓글

글 보관함