본문 바로가기

[Terry] PHP

1. PHP 기본1

PHP의 확장자

php에서는 .php 이외에  사용자가 정의한 확장자를 이용할 수 있다.

ex) phpa라는 확장자를 이용하는 방법

  1. mod_php.conf 파일에 사용할 확장자 등록

    1-1. 아파치홈\conf\mod\mod_php.conf 파일을 에디터로 open 한다.

          (최신 버번의 경우, 아파치홈\conf\extra\httpd-php5.conf 파일을 open한다.)

    1-2. 아래와 같이 phpa를 추가해 준다.

        AddType application/x-httpd-php .php .html .phpa

  2. 아파치의 httpd.conf 파일의 DirectoryIndex에 확장자 추가

    DirectoryIndex index.php index.html index.htm index.phpa

 

PHP에서 PHP범위를 지정하는 방법

  1. <script language=php> //이부분에 php코딩 </script>
  2. <?PHP //이부분에 php코딩 ?>  <-- 다른 언어와의 충돌을 피하기 위해 권장하는 방식
  3. <? //이부분에 php코딩 ?>  <-- 가장 많이 사용하는 방식

 

PHP에서의 출력문 (echo)

echo는 PHP에서 화면에 무언가를 출력하는 명령어이다.

일반적으로 숫자는 따옴표 없이 사용하고 단어나 문자열은 따옴표를 사용한다.

사용방법은 상당히 간단하다.

<?

echo "Who are you?";      //띄어쓰기 할 경우 따옴표로 문장을 묶어준다.

echo who , are . you?;    //따옴표를 쓰지 않고 연결연산자(. ,)를 사용할 수 있다.

echo 'Who are you?';     //작은 따옴표로 묶을수도 있다.

echo "My Name is \"Terry\"";    //특수문자를 사용할 경우 \를 붙여준다.

?>

 echo문에서 큰따옴표(")와 작은 따옴표(')를 사용하는 것에는 차이가 있다.
  큰 따옴표를 사용할 경우 : 큰 따옴표 속에 있는 변수의 값을 출력
  작은 따옴표를 사용할 경우 : 변수의 값은 해석되지 않고 변수의 이름이 그대로 출력

  1. <?
  2. $test = "테스트 문자열 입니다.";

  3. echo "$test";

  4. echo '$test';

  5. ?>

 

echo문에서  \를 사용해야 하는 특수문자 종류

 \" 큰따옴표 출력
 \' 작은 따옴표 출력
 \n 다음줄로 이동
 \r 엔터키 입력
 \t 탭키 입력
 \\ \출력
 \$ $출력

 

 

PHP와 HTML사용

 PHP와 HTML은 서로 자유롭게 섞어서 사용할 수 있다. 아래와 같이 다양한 방법으로 자유롭게 사용가능하다는 것을 확인하자.

 방법1

  1. <?
  2. echo"

  3. <html>

  4. <head>

  5. <title>php와 html 섞어쓰기</title>

  6. </head>

  7. <body>

  8. php와 html 섞어 쓰기 예제1 입니다.

  9. </body>

  10. </html>

  11. ";

  12. ?>

 

 방법2

  1. <html>
  2. <head>

  3. <title>php와 html 섞어쓰기</title>

  4. </head>

  5. <body>

  6. <?

  7. echo "php와 html 섞어 쓰기 예제2 입니다.";

  8. ?>

  9. </body>

  10. </html>

 

 방법3

  1. <html>
  2. <head>

  3. <title>php와 html 섞어쓰기</title>

  4. </head>

  5. <body>

  6. <? echo "php"; ?>와 <? echo "html" ?> 섞어 쓰기 예제3 입니다.";

  7. </body>

  8. </html>

 

 

php에서 html사용시 따옴표 문제 해결 방법

<a href="javascript:test();" >

위 소스를 echo문에 집어 넣는 방법은 다음과 같다.

방법1 : \를 사용해 특수 문자 표시

  1. <?
  2. echo "<a href=\"javascript:test()\">";

  3. ?>

방법2 : 작은 따옴표를 사용

  1. <?
  2. echo "<a href='javascript:test();' >";

  3. ?>

 

 

 변수

php는 미리 변수의 타입(int, String, boolean...etc..)을 선언할 필요가 없는 언어이다.

 php에서는 변수선언을 위해 $를 사용한다.

  1. <?
  2. //변수선언

  3. $test = 1;

  4. ?>

 

변수 명명 규칙

  1. 변수명은 숫자로만 이루어질수 없으며, 변수명의 제일 앞 글자에는 숫자가 올 수 없다.
  2. 변수명에는 _를 제외한 특수문자를 사용할 수 없다.
  3. 변수명은 영문 대소문자를  구분한다.
  4. 변수명에는 한글 또는 한자를 사용할수 있다. (but 권장하지 않는다.)

 

 변수 형변환

php는 변수의 값에 따라 변수의 타입을 자동으로 정한다. 하지만 경우에 따라 변수의 타입을 강제로 변환해야 하는 경우가 있을수 있다.

그럴때는 다음과 같이 강제로 변환해 준다.

변수a = (변수형) 변수b

  1. <?
  2. $test = 3.14;

  3. echo $test."\t".gettype($test)."<br>" ;   //변수값   변수의타입

  4. $test = (integer)$test;

  5. echo $test."\t".gettype($test)."<br>" ;   //변수값   변수의타입

  6. ?>

 php에서 변환할 수 있는 변수형은 다음과 같다.

 int, integer  정수형
 real, double, float  실수형
 string  문자열
 array  배열
 object  객체

 

gettype(변수명) : 변수형을 알아볼 때 사용

settype(변수명, 변수형) : 변수형을 변경할 때 사용

 

 가변변수(변수의 값을 변수명으로 사용)

php에서는 변수를 만들때 $변수명 형식으로 사용한다.

이때 $변수명 앞에 $를 더 붙여 변수의 값을 변수명으로 사용할 수 있는데 이를 가변 변수라고 한다..

  1. <?
  2. $test = "test_1";

  3. $$test = "test_2";   //$+$test --> $test_1 --> $test_1="test_2"

  4. ?>

 

 전역변수/지역변수/static 변수 - 함수부분에서 설명

상수

 상수는 미리 지정되어 있거나 한번 지정하면 그 값을 바꿀수 없다.

상수는 변수와 달리 $를 붙이지 않으며 변수에 상수 값을 넣어주거나 출력할 때 따옴표를 붙이지 않는다.

php에서 기본적으로 제공하는 상수는 다음과 같다.

 __FILE__  현재 실행중인 파일의 절대 경로와 파일명
 __LINE__  현재 실행 중인 명령의 줄 번호
 PHP_VERSION  현재 사용중인 PHP 해석기의 버전
 PHP_OS  현재 PHP를 해석하고 있는 서버의 OS
 TRUE  참
 FALSE  거짓

 

 상수의 정의

define이라는 명령어로 상수를 정의할 수 있다. 형식은 아래와 같다.

define("상수명", "상수값");

 미리 정의되어 있는 상수와 달리 임의로 정의한 함수는 페이지의 실행이 완료되면 사라진다.

상수를 정의할 때 제약조건은 변수와 같으며 이미 정의되어 있는 상수를 재정의 할 수 없다.

  1. <?
  2. define("TEST", "테스트입니다.);   //상수 정의

  3. echo TEST;   //상수 출력

  4. echo "\t";

  5. define("PHP_VERSION", "1.0");   //PHP_VERSION 재정의

  6. echo PHP_VERSION;   //PHP_VERSION 출력

  7. ?>

 

환경변수

환경변수는 phpinfo() 함수를 사용해 확인 가능하다.

<?

phpinfo();

?>

 

Apache 환경변수

아파치 환경변수는 아파치 서버로부터 생성된 변수로, 아파치 서버의 설정에 따라 그 값이 달라지거나 변수 자체가 생성되지 않을 수 있다.

자주 사용되는 아파치 환경변수는 다음과 같다.

 Variable Value
 SERVER_PROTOCOL  현재 PHP가 실행되고 있는 서버의 프로토콜
 SERVER_NAME  현재 PHP가 실행되고 있는 서버의 이름
 SERVER_PORT  현재 PHP가 실행되고 있는 서버의 포트번호
 SERVER_SIGNATURE  현재 PHP가 실행되고 있는 서버의 버전과 이름, 포트번호
 DUCUMENT_ROOT  현재 PHP가 실행되고 있는 서버의 루트
 HTTP_REFERER  현재 페이지로 이동하기 전의 페이지 주소 (링크일 경우)
 REMOTE_ADDR  클라이언트의 IP주소
 REMOTE_PORT  서버와 통신중인 클라이언트의 포트번호
 SCRIPT_FILENAME  현재 실행중인 파일의 절대경로
 SCRIPT_NAME  현재 실행중인 파일의 이름

 위에서 사용된 환경변수들을 사용하기 위해서는 변수명앞에 $를 사용해야 한다.

예를 들어 현재 PHP가 실행되고 있는 서버의 이름을 알고 싶다면 다음과 같다.

  1. <?
  2. echo $SERVER_NAME;

  3. ?>

 

PHP 환경 변수

PHP환경변수는 PHP 자신이 만들어 내는 환경변수이다. PHP환경변수를 사용하기 위해서는 아파치 환경변수를 사용하는 것과 같이 $를 사용한다.

PHP 환경변수에서 가장 자주 쓰이는 변수는 PHP_SELF 이다. 그 외의 변수들은 phpinfo()를 실행해서 살펴보면 된다.

PHP_SELF는 현재 실행중인 파일의 이름을 값으로 가진다.

  1. <?
  2. echo $PHP_SELF;

  3. ?>

 

 

이 글은 스프링노트에서 작성되었습니다.