Server Side Scripting Language라고 불리는 PHP는 HTML 문서 내에 PHP 코드를 삽입하여 동적인 웹 페이지를 생성하는 데 사용되는 언어입니다. PHP는 다른 서버 측 스크립트 언어와 마찬가지로 서버에서 실행되기 때문에 클라이언트에게 PHP 코드를 보여주지 않습니다.
- PHP는 HTML 문서 내에 삽입되어 사용되기 때문에 HTML 문법을 그대로 사용할 수 있습니다.
- PHP는 다양한 데이터베이스와 호환되는 데이터베이스 연동 기능을 제공합니다.
- PHP는 다양한 서버와 호환되는 서버 연동 기능을 제공합니다.
- PHP는 다른 서버 측 스크립트 언어에 비해 속도가 느립니다.
- PHP는 다른 서버 측 스크립트 언어에 비해 보안에 취약합니다.
- PHP는 다른 서버 측 스크립트 언어에 비해 확장성이 떨어집니다.
PHP 코드는 <?php로 시작하여 ?>로 끝납니다. PHP 코드는 HTML 문서 내에 삽입되어 사용되기 때문에 HTML 문법을 그대로 사용할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo "Hello World!";
?>
</body>
</html>위의 코드는 <!DOCTYPE html>부터 </html>까지는 HTML 문법을 사용하고 있고, <?php부터 ?>까지는 PHP 코드를 사용하고 있습니다. PHP 코드는 echo 함수를 사용하여 출력할 수 있습니다.
PHP 코드 내에 주석을 사용할 수 있습니다. PHP의 주석은 // 또는 #로 시작하여 줄의 끝까지 주석으로 처리할 수 있습니다. 또한 /*로 시작하여 */로 끝나는 여러 줄의 주석을 사용할 수 있습니다.
<?php
// 박주석
# 이주석
/*
김주석
*/
?>PHP의 변수는 $로 시작합니다. 변수의 이름은 문자나 밑줄로 시작해야 하며, 숫자로 시작할 수 없습니다. 변수의 이름은 대소문자를 구분합니다.
<?php
$txt = "Hello World!";
$x = 5;
$y = 10.5;
?>위의 코드에서 $txt는 문자열을 저장하는 변수, $x는 정수를 저장하는 변수, $y는 실수를 저장하는 변수입니다.
PHP는 다음과 같은 데이터 타입을 지원합니다.
- String
- Integer
- Float
- Boolean
- Array
- Object
- NULL
- Resource
PHP의 문자열은 작은따옴표(') 또는 큰따옴표(")로 묶어서 사용할 수 있습니다. 작은따옴표로 묶은 문자열은 그대로 출력되지만, 큰따옴표로 묶은 문자열은 변수의 값이 출력됩니다.
<?php
$txt1 = "Hello World!";
$txt2 = 'Hello World!';
echo $txt1;
echo "<br>";
echo $txt2;
?>위의 코드에서 $txt1은 큰따옴표로 묶인 문자열이기 때문에 변수의 값이 출력되고, $txt2는 작은따옴표로 묶인 문자열이기 때문에 그대로 출력됩니다.
PHP의 상수는 define() 함수를 사용하여 정의할 수 있습니다. 상수는 대소문자를 구분하지 않습니다.
<?php
define("GREETING", "Welcome to W3Schools.com!");
echo GREETING;
?>위의 코드에서 GREETING이라는 상수를 정의하고, GREETING 상수를 출력하고 있습니다.
PHP는 다양한 연산자를 지원합니다. 산술 연산자, 비교 연산자, 논리 연산자, 문자열 연산자, 배열 연산자 등이 있습니다.
<?php
$x = 10;
$y = 6;
echo $x + $y; // 16
echo $x - $y; // 4
echo $x * $y; // 60
echo $x / $y; // 1.6666666666667
echo $x % $y; // 4
?>위의 코드에서는 산술 연산자를 사용하여 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 수행하고 있습니다.
PHP는 if, else, elseif 등의 조건문을 지원합니다.
<?php
$t = date("H");
if ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>위의 코드에서는 현재 시간을 구하여 $t 변수에 저장하고, if 조건문을 사용하여 현재 시간이 20시보다 작으면 "Have a good day!"를 출력하고, 그렇지 않으면 "Have a good night!"를 출력하고 있습니다.
PHP는 for, while, do...while, foreach 등의 반복문을 지원합니다.
<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x <br>";
}
?>위의 코드에서는 for 반복문을 사용하여 0부터 10까지의 숫자를 출력하고 있습니다.
PHP의 배열은 다양한 데이터 타입을 저장할 수 있는 데이터 구조입니다. PHP는 숫자로 된 인덱스 배열과 문자열로 된 연관 배열을 지원합니다.
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>위의 코드에서는 $cars 배열에 세 개의 자동차 브랜드를 저장하고, echo 함수를 사용하여 배열의 값을 출력하고 있습니다.
PHP는 사용자 정의 함수를 지원합니다. 함수는 function 키워드를 사용하여 정의할 수 있습니다.
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>위의 코드에서는 writeMsg라는 함수를 정의하고, writeMsg 함수를 호출하고 있습니다.
PHP는 파일을 읽고 쓰는 기능을 제공합니다. 파일을 읽기 위해서는 fopen(), fread(), fclose() 함수를 사용하고, 파일을 쓰기 위해서는 fopen(), fwrite(), fclose() 함수를 사용합니다.
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>위의 코드에서는 webdictionary.txt 파일을 읽어서 파일의 내용을 출력하고 있습니다.
PHP는 에러 처리를 위한 다양한 함수를 제공합니다. die(), trigger_error(), set_error_handler() 등의 함수를 사용하여 에러를 처리할 수 있습니다.
<?php
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr";
}
set_error_handler("customError");
echo($test);
?>위의 코드에서는 set_error_handler() 함수를 사용하여 사용자 정의 에러 핸들러를 등록하고 있습니다. 그리고 echo($test) 코드에서 에러가 발생하면 customError 함수가 호출됩니다.
PHP는 문자열 연결을 위해 . 연산자를 사용합니다.
<?php
$txt1 = "Hello";
$txt2 = " world!";
echo $txt1 . $txt2; // Hello world!
?>