IMG-LOGO
공지사항 :

PHP 라이브러리와 확장기능(Extension)

lmkfox - 2025-08-02 06:37:45 27 Views 0 Comment

1. 라이브러리(Library)

정의

PHP 라이브러리는 미리 작성된 PHP 코드 집합으로, 특정 기능(예: 날짜 처리, 이미지 처리, PDF 생성 등)을 제공하여 개발자가 쉽게 활용할 수 있도록 만들어진 모듈입니다.

종류

  • 사용자 정의 라이브러리: 직접 만든 함수나 클래스 집합

  • 외부 오픈소스 라이브러리: 다른 개발자들이 만든 공개 라이브러리

  • 프레임워크 내 라이브러리: Laravel, CodeIgniter 등 프레임워크에서 제공


사용 방법

1) 직접 include

include 'lib/math.php';
$result = add(2, 3);

2) Composer로 설치 (권장)

Composer는 PHP용 패키지 관리자입니다.

composer require phpmailer/phpmailer

composer.json에 의존성 등록되고, vendor/autoload.php로 자동 로드됩니다.

require 'vendor/autoload.php';

use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer();


유명 PHP 라이브러리 예시

라이브러리

기능

PHPMailer

이메일 발송

Guzzle

HTTP 클라이언트

Carbon

날짜/시간 처리

Dompdf

PDF 생성

Monolog

로깅(logging) 처리

Intervention Image

이미지 처리


2. 확장기능 (Extension)

정의

PHP 확장기능은 PHP 엔진(C 엔진 레벨)에 추가되는 저수준 기능 모듈입니다. 주로 성능 향상이나 외부 시스템 연동을 위해 사용됩니다.

  • .so (Linux), .dll (Windows) 형태의 바이너리 파일

  • PHP 코드에서 직접 로드하거나 php.ini에서 설정


설치 및 확인

설치된 확장 확인

php -m        # 설치된 확장 목록 출력
php -i        # phpinfo()와 같은 전체 환경 정보 출력

확장 설치 (예: 

pdo_mysql

)

  • Ubuntu/Debian:

sudo apt install php-mysql

  • RedHat/CentOS:

sudo yum install php-mysqlnd

  • Windows:

    • php.ini에서 주석 해제:

;extension=pdo_mysql
↓
extension=pdo_mysql


동적 로드

if (!extension_loaded('mbstring')) {
    dl('mbstring.so'); // 일부 시스템에서만 동작
}


주요 PHP 확장기능

확장

기능

PDO, mysqli

데이터베이스 연동

mbstring

다국어 문자열 처리

gd, imagick

이미지 처리

curl

HTTP 요청

openssl

암호화/복호화

zip, zlib

압축 처리

intl

다국어 지원

bcmath, gmp

고정소수점/대형 정수 연산

soap

SOAP 웹 서비스 처리


3. 라이브러리 vs 확장기능 차이

구분

라이브러리

확장기능

구현 언어

PHP

C (또는 C++)

설치 방식

include, require, Composer

PHP 빌드 시 포함 또는 OS 패키지 설치

성능

일반적

매우 빠름 (네이티브 수준)

사용 용도

일반 기능

성능 중심, 시스템 연동

PHPMailer, Guzzle

mbstring, curl, gd


4. Composer를 통한 라이브러리 관리

composer.json 예시:

{
  "require": {
    "monolog/monolog": "^2.0"
  }
}

명령어:

composer install       # 처음 설치
composer update        # 버전 업데이트
composer dump-autoload # 자동 로딩 갱신


5. 사용자 정의 라이브러리 만들기

예: math.php

<?php
function add($a, $b) {
    return $a + $b;
}

사용:

include 'math.php';
echo add(2, 3); // 5


결론 요약

항목

설명

라이브러리

PHP 코드로 작성된 기능 집합. 재사용 목적

확장기능

PHP 엔진 레벨의 C 확장. 성능/시스템 연동 목적

Composer

PHP 라이브러리 관리 도구

확장 설치

OS 패키지 설치 또는 php.ini 수정 필요

함께 사용

라이브러리는 확장을 필요로 할 수 있음 (예: Guzzle은 curl 확장 필요)


댓글