PHP 시작하기

Download php eBook

비고

여기에 이미지 설명을 입력하십시오.

PHP (PHP : Hypertext Preprocessor의 재귀 약자)는 널리 사용되는 오픈 소스 프로그래밍 언어입니다. 특히 웹 개발에 적합합니다. PHP의 독특한 점은 초보자와 숙련 된 개발자 모두에게 도움이된다는 것입니다. 그것은 진입 장벽이 낮기 때문에 시작하기 쉽고 동시에 다른 프로그래밍 언어에서 제공되는 고급 기능을 제공합니다.

오픈 소스

그것은 오픈 소스 프로젝트입니다. 부담없이 참여하십시오 .

언어 사양

PHP는 언어 사양을 가지고 있습니다 .

지원되는 버전

현재 지원되는 버전 은 5.6, 7.0 및 7.1입니다.

PHP의 각 릴리스 지점은 초기 안정 릴리스로부터 2 년 동안 완전히 지원됩니다. 이 2 년 간의 적극적인 지원이 끝난 후 각 지점은 중요한 보안 문제에 대해서만 1 년 동안 지원됩니다. 이 기간 동안의 릴리스는 필요에 따라 이루어집니다. 보고서의 수에 따라 여러 점 릴리스가 있거나 없을 수 있습니다.

지원되지 않는 버전

3 년간의 지원이 완료되면 지사의 수명이 다해 더 이상 지원되지 않습니다.

수명이 다한 지점테이블을 사용할 수 있습니다.

이슈 트래커

버그 및 기타 문제는 https://bugs.php.net/ 에서 추적됩니다.

메일 링리스트

PHP 개발 및 사용에 대한 토론은 PHP 메일 링리스트에서 제공 됩니다.

공식 문서

공식 PHP 문서 를 유지 관리하거나 번역하는 데 도움을주십시오.

edit.php.net 에서 편집기를 사용할 수 있습니다. 기고자에 대한 가이드를 확인하십시오.

버전

PHP 7.x

번역 지원까지 출시일
7.1 2019-12-01 2016-12-01
7.0 2018-12-03 2015-12-03

PHP 5.x

번역 지원까지 출시일
5.6 2018-12-31 2014-08-28
5.5 2016-07-21 2013-06-20
5.4 2015-09-03 2012-03-01
5.3 2014-08-14 2009-06-30
5.2 2011-01-06 2006-11-02
5.1 2006-08-24 2005-11-24
5.0 2005-09-05 2004-07-13

PHP 4.x

번역 지원까지 출시일
4.4 2008-08-07 2005-07-11
4.3 2005-03-31 2002-12-27
4.2 2002-09-06 2002-04-22
4.1 2002-03-12 2001-12-10
4.0 2001-06-23 2000-05-22

레거시 버전

번역 지원까지 출시일
3.0 2000-10-20 1998-06-06
2.0 1997-11-01
1.0 1995-06-08

웹 서버의 HTML 출력

PHP를 사용하여 HTML 파일에 내용을 추가 할 수 있습니다. HTML이 웹 브라우저에 의해 직접 처리되는 동안 PHP 스크립트는 웹 서버에 의해 실행되고 결과 HTML은 브라우저로 전송됩니다.

다음 HTML 마크 업에는 Hello World! 추가 할 PHP 문이 들어 있습니다 Hello World! 출력 :

<!DOCTYPE html>
<html>
    <head>
        <title>PHP!</title>
    </head>
    <body>
        <p><?php echo "Hello world!"; ?></p>
    </body>
</html>
 

이 스크립트가 PHP 스크립트로 저장되고 웹 서버에 의해 실행되면 사용자 브라우저에 다음 HTML이 전송됩니다.

<!DOCTYPE html>
<html>
    <head>
        <title>PHP!</title>
    </head>
    <body>
        <p><?php echo "Hello world!"; ?></p>
    </body>
</html>
 
PHP 5.x 5.4

echo 에는 바로 가기 구문이있어서 즉시 값을 인쇄 할 수 있습니다. PHP 5.4.0 이전 버전의이 짧은 구문은 short_open_tag 구성 설정이 활성화 된 경우에만 작동합니다.

예를 들어 다음 코드를 생각해보십시오.

<!DOCTYPE html>
<html>
    <head>
        <title>PHP!</title>
    </head>
    <body>
        <p><?php echo "Hello world!"; ?></p>
    </body>
</html>
 

출력은 다음과 같습니다.

<!DOCTYPE html>
<html>
    <head>
        <title>PHP!</title>
    </head>
    <body>
        <p><?php echo "Hello world!"; ?></p>
    </body>
</html>
 

실제 응용 프로그램에서는 XSS ( 교차 사이트 스크립팅 ) 공격이나 텍스트 손상을 방지하기 위해 PHP가 HTML 페이지에 출력하는 모든 데이터를 적절하게 이스케이프 처리 해야합니다.

참고 자료 : 짧은 태그 ( <?= ... ?> )의 올바른 사용을 포함하여 모범 사례를 설명하는 문자열PSR-1 .

안녕, 세상!

PHP에서 출력물을 출력하기 위해 가장 널리 사용되는 언어 구조는 echo :

echo "Hello, World!\n";
 

또는 print 를 사용할 수도 있습니다.

echo "Hello, World!\n";
 

두 명령문 모두 약간의 차이점을 제외하면 동일한 기능을 수행합니다.

  • echovoid 반환을, print1 의 값을 갖는 int 를 반환한다.
  • echo 는 인자를 여러 개 취할 수 있지만 (괄호는 사용하지 않음), print 인자는 하나의 인수 만 받는다.
  • echoprint 보다 약간 빠릅니다.

echoprint 는 둘 다 함수가 아닌 언어 구조입니다. 즉, 자신의 주장을 괄호로 묶지 않아도됩니다. 함수와의 외관상 일관성을 위해 괄호를 포함 할 수 있습니다. echoprint 의 광범위한 사용 예제는 다른 곳에서 구할 수 있습니다 .

다음 예제와 같이 C 스타일 printf 및 관련 함수를 사용할 수 있습니다.

echo "Hello, World!\n";
 

PHP에서 출력 변수를 포괄적으로 소개하려면 변수 값 출력하기를 참조하십시오.

명령어 분리

다른 C 스타일의 언어와 마찬가지로 각 문장은 세미콜론으로 끝납니다. 또한 종료 태그는 PHP 블록의 마지막 코드 행을 종료하는 데 사용됩니다.

PHP 코드의 마지막 줄이 세미콜론으로 끝나면 마지막 줄의 코드 다음에 코드가없는 경우 닫는 태그는 선택 사항입니다. 예를 들어, echo "No error"; 후 닫기 태그를 생략 할 수 있습니다 echo "No error"; 다음 예제에서 :

<?php echo "No error"; // no closing tag is needed as long as there is no code below
 

그러나 PHP 코드 블록 다음에 다른 코드가 있으면 닫는 태그는 더 이상 선택 사항이 아닙니다.

<?php echo "No error"; // no closing tag is needed as long as there is no code below
 

해당 코드 블록에 닫는 태그가있는 경우 PHP 코드 블록의 마지막 구문의 세미콜론을 생략 할 수도 있습니다.

<?php echo "No error"; // no closing tag is needed as long as there is no code below
 

일반적으로 항상 세미콜론을 사용하고 마지막 PHP 코드 블록을 제외한 모든 PHP 코드 블록에 대해 종료 태그를 사용하는 것이 좋습니다 (PHP 코드 블록 다음에 코드가 더 이상없는 경우).

따라서 코드는 기본적으로 다음과 같이 보입니다.

<?php echo "No error"; // no closing tag is needed as long as there is no code below
 

웹 서버의 HTML이 아닌 출력

경우에 따라 웹 서버로 작업 할 때 웹 서버의 기본 컨텐츠 유형을 대체해야 할 수도 있습니다. 예를 들어 데이터를 plain text , JSON 또는 XML 로 보낼 필요가있을 수 있습니다.

header() 함수는 원시 HTTP 헤더를 보낼 수 있습니다. Content-Type 헤더를 추가하여 브라우저에 전송할 콘텐츠를 알릴 수 있습니다.

Content-Typetext/plain 으로 설정하는 다음 코드를 살펴 보겠습니다.

header("Content-Type: text/plain");
echo "Hello World";
 

그러면 다음 내용이 포함 된 일반 텍스트 문서가 생성됩니다.

안녕하세요 세계

JSON 컨텐츠를 생성하려면 대신 application/json 컨텐츠 유형을 사용하십시오.

header("Content-Type: text/plain");
echo "Hello World";
 

그러면 다음과 같은 내용으로 application/json 유형의 문서가 생성됩니다.

{ "응답": "Hello World"}

header() 함수는 PHP가 어떤 결과물을 생성하기 전에 호출되어야합니다. 그렇지 않으면 웹 서버는 이미 응답 헤더를 보낸 것입니다. 다음 코드를 살펴 보겠습니다.

header("Content-Type: text/plain");
echo "Hello World";
 

이렇게하면 경고가 나타납니다.

경고 : 헤더 정보를 수정할 수 없습니다 - 이미 보낸 헤더 (/dir/example.php:2에서 시작한 출력)는 /dir/example.php의 3 행에 있습니다.

header() 사용할 때 출력은 서버에서 보낸 첫 번째 바이트 여야합니다. 이런 이유로 PHP 시작 태그 <?php 앞에 파일의 시작 부분에 빈 줄이나 공백이 <?php 합니다. 같은 이유로, 그것이 최선의 방법으로 간주된다 ( PSR-2 는 PHP 종료 태그를 생략) ?> 에만 PHP가 포함 된 파일에서와 PHP 코드 블록에서 파일의 맨 끝에.

출력 버퍼링 섹션 을보고 나중에 출력 할 변수에 내용을 '붙잡는'방법을 배우십시오 (예 : 헤더 출력 후).

PHP 내장 서버

PHP 5.4+는 내장 된 개발 서버와 함께 제공됩니다. nginx 또는 Apache와 같은 프로덕션 HTTP 서버를 설치하지 않고도 응용 프로그램을 실행할 수 있습니다. 기본 제공 서버는 개발 및 테스트 목적으로 만 사용하도록 설계되었습니다.

-S 플래그를 사용하여 시작할 수 있습니다.

php -S <host/ip>:<port>
 

사용 예

  1. 다음을 포함하는 index.php 파일을 만듭니다.
php -S <host/ip>:<port>
 
  1. 명령 행에서 php -S localhost:8080 명령을 실행하십시오. http:// 포함하지 마십시오. 그러면 문서 루트로있는 현재 디렉토리를 사용하여 포트 8080에서 수신 대기중인 웹 서버가 시작됩니다.

  2. 브라우저를 열고 http://localhost:8080 . "Hello World"페이지가 나타납니다.

구성

기본 문서 루트 (즉, 현재 디렉토리)를 덮어 -t 려면 -t 플래그를 사용하십시오.

php -S <host/ip>:<port>
 

예를 들어 프로젝트에 public/ 디렉토리가 있다면 php -S localhost:8080 -t public/ 사용하여 해당 디렉토리에서 프로젝트를 제공 할 수 있습니다.

로그

개발 서버에서 요청할 때마다 아래의 것과 같은 로그 항목이 명령 행에 기록됩니다.

php -S <host/ip>:<port>
 

PHP CLI

PHP는 CLI (Command Line Interface)를 사용하여 명령 행에서 직접 실행할 수도 있습니다.

CLI는 기본적으로 웹 서버의 PHP와 동일하지만 표준 입력 및 출력 측면에서 차이가 있습니다.

트리거링

PHP CLI는 PHP 코드를 실행하는 네 가지 방법을 제공합니다 :

  1. 표준 입력. 인수없이 php 명령을 실행하지만 PHP 코드를 파이프에 전달하십시오.
    echo '<?php echo "Hello world!";' | php
  2. 인수로 파일 이름. PHP 소스 파일의 이름을 첫 번째 인수로 사용하여 php 명령을 실행하십시오.
    echo '<?php echo "Hello world!";' | php
  3. 인수로 코딩하십시오. php 명령에서 -r 옵션을 사용하고 실행 코드를 사용하십시오. 인수의 모든 것이 PHP 코드로 간주되므로 <?php open 태그는 필요하지 않습니다.
    echo '<?php echo "Hello world!";' | php
  4. 대화 형 셸. 대화식 쉘을 시작하려면 php 명령에서 -a 옵션을 사용하십시오. 그런 다음 PHP 코드를 입력 (또는 붙여 넣기)하고 return을 누릅니다 .
    echo '<?php echo "Hello world!";' | php

산출

웹 서버 PHP에서 HTML 출력을 생성하는 모든 함수 또는 컨트롤은 stdout 스트림 (파일 설명자 1)에서 출력을 생성하는 데 사용할 수 있으며 웹 서버 PHP의 오류 로그에 출력을 생성하는 모든 작업은 stderr 스트림 (파일 기술자 2).

Example.php
echo '<?php echo "Hello world!";' | php
셸 명령 줄
echo '<?php echo "Hello world!";' | php

입력

참조 : 명령 행 인터페이스 (CLI)

PHP 태그

파일에 PHP 블록을 나타내는 세 가지 종류의 태그가 있습니다. PHP 파서는 코드를 해석 할 수 있도록 여는 태그와 (있는 경우) 닫는 태그를 찾고 있습니다.

표준 태그

이 태그는 PHP 코드를 파일에 삽입하는 표준 방법입니다.

<?php
    echo "Hello World";
?>
 
PHP 5.x 5.4

에코 태그

이 태그는 모든 PHP 버전에서 사용할 수 있으며 PHP 5.4는 항상 활성화되어 있기 때문에 사용할 수 있습니다. 이전 버전에서는 에코 태그를 짧은 태그와 함께 사용할 수있었습니다.

<?php
    echo "Hello World";
?>
 

짧은 태그

short_open_tag 옵션을 사용하여 태그를 사용 또는 사용 중지 할 수 있습니다.

<?php
    echo "Hello World";
?>
 

짧은 태그 :

  • 모든 주요 PHP 코딩 표준 에서 허용되지 않습니다.
  • 공식 문서 에서 권장하지 않는다.
  • 대부분의 배포판에서는 기본적으로 비활성화되어 있습니다.
  • 인라인 XML 처리 명령에 간섭
  • 대부분의 오픈 소스 프로젝트에서 코드 제출시 허용되지 않습니다.
PHP 5.x 5.6

ASP 태그

asp_tags 옵션을 사용하면 ASP 스타일 태그를 사용할 수 있습니다.

<?php
    echo "Hello World";
?>
 

이들은 역사적인 특질이며 절대로 사용해서는 안됩니다. 그것들은 PHP 7.0에서 삭제되었습니다.

Stats

8517 Contributors: 70
Wednesday, August 2, 2017
아래 라이선스: CC-BY-SA

와 제휴하지 않음 Stack Overflow
Rip Tutorial: info@zzzprojects.com

eBook 다운로드