PHP의 확장자
php에서는 .php 이외에 사용자가 정의한 확장자를 이용할 수 있다.
ex) phpa라는 확장자를 이용하는 방법
-
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
-
아파치의 httpd.conf 파일의 DirectoryIndex에 확장자 추가
DirectoryIndex index.php index.html index.htm index.phpa
PHP에서 PHP범위를 지정하는 방법
- <script language=php> //이부분에 php코딩 </script>
- <?PHP //이부분에 php코딩 ?> <-- 다른 언어와의 충돌을 피하기 위해 권장하는 방식
- <? //이부분에 php코딩 ?> <-- 가장 많이 사용하는 방식
PHP에서의 출력문 (echo)
echo는 PHP에서 화면에 무언가를 출력하는 명령어이다.
일반적으로 숫자는 따옴표 없이 사용하고 단어나 문자열은 따옴표를 사용한다.
사용방법은 상당히 간단하다.
<?
echo "Who are you?"; //띄어쓰기 할 경우 따옴표로 문장을 묶어준다.
echo who , are . you?; //따옴표를 쓰지 않고 연결연산자(. ,)를 사용할 수 있다.
echo 'Who are you?'; //작은 따옴표로 묶을수도 있다.
echo "My Name is \"Terry\""; //특수문자를 사용할 경우 \를 붙여준다.
?>
echo문에서 큰따옴표(")와 작은 따옴표(')를 사용하는 것에는 차이가 있다.
큰 따옴표를 사용할 경우 : 큰 따옴표 속에 있는 변수의 값을 출력
작은 따옴표를 사용할 경우 : 변수의 값은 해석되지 않고 변수의 이름이 그대로 출력
- <?
-
$test = "테스트 문자열 입니다.";
-
echo "$test";
-
echo '$test';
- ?>
echo문에서 \를 사용해야 하는 특수문자 종류
\" | 큰따옴표 출력 |
\' | 작은 따옴표 출력 |
\n | 다음줄로 이동 |
\r | 엔터키 입력 |
\t | 탭키 입력 |
\\ | \출력 |
\$ | $출력 |
PHP와 HTML사용
PHP와 HTML은 서로 자유롭게 섞어서 사용할 수 있다. 아래와 같이 다양한 방법으로 자유롭게 사용가능하다는 것을 확인하자.
방법1
- <?
-
echo"
-
<html>
-
<head>
-
<title>php와 html 섞어쓰기</title>
-
</head>
-
<body>
-
php와 html 섞어 쓰기 예제1 입니다.
-
</body>
-
</html>
-
";
- ?>
방법2
- <html>
-
<head>
-
<title>php와 html 섞어쓰기</title>
-
</head>
-
<body>
-
<?
-
echo "php와 html 섞어 쓰기 예제2 입니다.";
-
?>
-
</body>
- </html>
방법3
- <html>
-
<head>
-
<title>php와 html 섞어쓰기</title>
-
</head>
-
<body>
-
<? echo "php"; ?>와 <? echo "html" ?> 섞어 쓰기 예제3 입니다.";
-
</body>
- </html>
php에서 html사용시 따옴표 문제 해결 방법
<a href="javascript:test();" >
위 소스를 echo문에 집어 넣는 방법은 다음과 같다.
방법1 : \를 사용해 특수 문자 표시
- <?
-
echo "<a href=\"javascript:test()\">";
- ?>
방법2 : 작은 따옴표를 사용
- <?
-
echo "<a href='javascript:test();' >";
- ?>
변수
php는 미리 변수의 타입(int, String, boolean...etc..)을 선언할 필요가 없는 언어이다.
php에서는 변수선언을 위해 $를 사용한다.
- <?
-
//변수선언
-
$test = 1;
- ?>
변수 명명 규칙
- 변수명은 숫자로만 이루어질수 없으며, 변수명의 제일 앞 글자에는 숫자가 올 수 없다.
- 변수명에는 _를 제외한 특수문자를 사용할 수 없다.
- 변수명은 영문 대소문자를 구분한다.
- 변수명에는 한글 또는 한자를 사용할수 있다. (but 권장하지 않는다.)
변수 형변환
php는 변수의 값에 따라 변수의 타입을 자동으로 정한다. 하지만 경우에 따라 변수의 타입을 강제로 변환해야 하는 경우가 있을수 있다.
그럴때는 다음과 같이 강제로 변환해 준다.
변수a = (변수형) 변수b
- <?
-
$test = 3.14;
-
echo $test."\t".gettype($test)."<br>" ; //변수값 변수의타입
-
$test = (integer)$test;
-
echo $test."\t".gettype($test)."<br>" ; //변수값 변수의타입
- ?>
php에서 변환할 수 있는 변수형은 다음과 같다.
int, integer | 정수형 |
real, double, float | 실수형 |
string | 문자열 |
array | 배열 |
object | 객체 |
gettype(변수명) : 변수형을 알아볼 때 사용
settype(변수명, 변수형) : 변수형을 변경할 때 사용
가변변수(변수의 값을 변수명으로 사용)
php에서는 변수를 만들때 $변수명 형식으로 사용한다.
이때 $변수명 앞에 $를 더 붙여 변수의 값을 변수명으로 사용할 수 있는데 이를 가변 변수라고 한다..
- <?
-
$test = "test_1";
-
$$test = "test_2"; //$+$test --> $test_1 --> $test_1="test_2"
- ?>
전역변수/지역변수/static 변수 - 함수부분에서 설명
상수
상수는 미리 지정되어 있거나 한번 지정하면 그 값을 바꿀수 없다.
상수는 변수와 달리 $를 붙이지 않으며 변수에 상수 값을 넣어주거나 출력할 때 따옴표를 붙이지 않는다.
php에서 기본적으로 제공하는 상수는 다음과 같다.
__FILE__ | 현재 실행중인 파일의 절대 경로와 파일명 |
__LINE__ | 현재 실행 중인 명령의 줄 번호 |
PHP_VERSION | 현재 사용중인 PHP 해석기의 버전 |
PHP_OS | 현재 PHP를 해석하고 있는 서버의 OS |
TRUE | 참 |
FALSE | 거짓 |
상수의 정의
define이라는 명령어로 상수를 정의할 수 있다. 형식은 아래와 같다.
미리 정의되어 있는 상수와 달리 임의로 정의한 함수는 페이지의 실행이 완료되면 사라진다.
상수를 정의할 때 제약조건은 변수와 같으며 이미 정의되어 있는 상수를 재정의 할 수 없다.
- <?
-
define("TEST", "테스트입니다.); //상수 정의
-
echo TEST; //상수 출력
-
echo "\t";
-
define("PHP_VERSION", "1.0"); //PHP_VERSION 재정의
-
echo PHP_VERSION; //PHP_VERSION 출력
- ?>
환경변수
환경변수는 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가 실행되고 있는 서버의 이름을 알고 싶다면 다음과 같다.
- <?
-
echo $SERVER_NAME;
- ?>
PHP 환경 변수
PHP환경변수는 PHP 자신이 만들어 내는 환경변수이다. PHP환경변수를 사용하기 위해서는 아파치 환경변수를 사용하는 것과 같이 $를 사용한다.
PHP 환경변수에서 가장 자주 쓰이는 변수는 PHP_SELF 이다. 그 외의 변수들은 phpinfo()를 실행해서 살펴보면 된다.
PHP_SELF는 현재 실행중인 파일의 이름을 값으로 가진다.
- <?
-
echo $PHP_SELF;
- ?>
이 글은 스프링노트에서 작성되었습니다.