LANG:PHP

구차니의 잡동사니 위키
이동: 둘러보기, 찾기

목차

홈페이지

php 구성

php-fpm

php-fpm(FastCGI Process Manager)은

  • php를 데몬으로 구동하여 웹 페이지 요청에 대한 fork() 부하를 줄여주고
  • opcode 캐시를 통해 cpu 사용율을 낮춰 웹서버 효율을 올리는 역할을 한다.

php / php-cgi

  • php - 콘솔용 PHP 인터프리터 (php 파일 디버깅시에 용이함)
  • php-cgi - 웹용 PHP 인터프리터

디버깅을 위한 경고 출력

error_reporting(E_ALL);

디버깅을 위한 변수 출력

var_dump();

php.ini 환경설정

<?php 대신 <? 로도 쓸수 있도록 해주는 옵션

XML 태그와의 충돌로 인해 기본적으로 꺼져있음

short_open_Tag = On

문법

HTML을 제외한 PHP 로 스크립팅 되어야 할 부분은 아래의 문장으로 쌓여서 PHP로 인해 해석됨을 알린다.

<?php

?>

변수

$var
${var}

${}는 문자열 내에서 변수치환을 목적으로 사용시 변수뒤에 공백없이 붙을경우 변수명 식별을 위해 사용

global

글로벌 변수를 함수 내부에서 쓰기 위해 사용

슈퍼글로벌변수

php4 이후 부터 사용가능

$GLOBALS

파일 내에서 선언된 변수, 함수에서 쓰기 위해서는 global 키워드로 재정의 해주거나 글로벌 변수로 접근해야 한다.

$_SESSION
session_start();
    $_SESSION['a']++;
    echo $_SESSION['a'];
session_destory();
  • session_start() 사용자 세션을 생성한다. (로그인시 주로 사용)
  • $_SESSION['var'] 세션에 변수를 생성,접근한다.
  • session_destory() 사용자 세션을 파괴한다. (로그아웃시 주로 사용)
$_COOKIE

보안에 치명적이라 잘쓰이지 않지만, 로컬 디스크에 저장하여 로그인 아이디 정도 저장하는 식으로 사용

$_SERVER

서버의 정보를 받아오는 변수

$_POST

HTTP POST에 의해 전달된 변수에 접근

$_GET

HTTP GET에 의해 전달된 변수에 접근

$_REQUEST

HTTP POST와 GET을 합친 변수에 접근. 아래 설정에 따라 GET과 POST의 우선권이 결정된다.

$ vi /etc/php5/apache2/php.ini
; This directive determines which super global data (G,P & C) should be
; registered into the super global array REQUEST. If so, it also determines
; the order in which that data is registered. The values for this directive
; are specified in the same manner as the variables_order directive,
; EXCEPT one. Leaving this value empty will cause PHP to use the value set
; in the variables_order directive. It does not mean it will leave the super
; globals array REQUEST empty.
; Default Value: None
; Development Value: "GP"
; Production Value: "GP"
; http://php.net/request-order
request_order = "GP"

출력

print $var
echo $var
<?=$var?>

변수를 간단하게 출력할 때 사용

문자열

"$str"
'$str'

쌍따옴표는 변수 치환을 수행하고 홀 따옴표는 변수치환을 수행하지 않음

배열

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// as of PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

파일포함하기

include("filename");
include_once("filename");
require("filename");
require_once("filename");
  • include는 없으면 경고(E_WARNING)를 띄우는 반면 require는 없으면 에러(E_COMPILE_ERROR)를 발생시키고 중지한다.
  • _once는 해당 파일을 한번만 불러온다는 의미 (중복되 함수 정의 에러를 피하기 위함)


함수

fuction func_name($var1)
{
    return $var1;
}

ini 파일 관리

database

mysql

  • Procedural
    • mysqli_connect()
    • mysqli_select_db()
    • mysqli_fetch_array()
    • mysqli_query()
    • mysqli_close()
  • OOP
    • new mysqli()
    • mysqli::select_db()
    • mysqli::fetch_array()
    • mysqli::query()
    • mysqli::close()
  • PDO
    • $dbh = new PDO()
    • PDO::prepare('query')
    • PDOStatement::fetch ()
    • $dbh = null;
개인 도구
이름공간

변수
행위
둘러보기
도구모음