본문으로 건너뛰기

TailwindPHP

TailwindCSS의 4.x를 PHP로 포팅했습니다. 순수 PHP로 Tailwind 유틸리티 CSS를 생성하며, Node.js이나 빌드 단계가 필요 없습니다. cn(), tailwind-merge, CVA, 타이포그래피 및 폼 플러그인과 CLI를 포함합니다.

터미널
composer require tailwindphp/tailwindphp

최신 릴리스 v1.7.0 MIT PHP 8.2+

실제 사용

마크업과 선택적 입력 CSS를 단일 PHP 호출에 전달하면 스타일시트가 반환됩니다.

PHP에서 CSS 생성

tw::generate()는 마크업에서 클래스 이름을 스캔하고 해당 클래스에 필요한 CSS만 반환합니다. 두 번째 인수로 입력 CSS를 전달하면 @theme에 정의된 색상을 유틸리티로 사용할 수 있습니다.

cn()는 클래스 문자열을 만들고 Tailwind 충돌을 해결하므로, 충돌하는 유틸리티 중 마지막 항목이 우선합니다.

PHP
use TailwindPHP\tw;

$css = tw::generate(
    '<div class="bg-brand p-4">Hello</div>',
    '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }'
);
// .bg-brand now resolves to var(--color-brand)

순수 PHP

Node.js이나 빌드 단계가 필요 없습니다. 표준 mbstring 및 ctype 확장 기능을 갖춘 PHP 8.2+에서 실행됩니다. composer require 명령으로 설치하면 바로 사용할 수 있습니다.

TailwindCSS v4.3.3 추적

Tailwind v4.3.3를 포팅해 동일한 유틸리티, 변형 및 지시문을 제공합니다. Tailwind와의 알려진 차이점은 문서화되어 있습니다.

4,400개 이상의 테스트

TypeScript 소스에서 추출한 TailwindCSS 자체 테스트 모음과 출력을 대조하며, 푸시할 때마다 다시 실행합니다.

모든 유틸리티 및 변형

전체 유틸리티와 모든 변형을 지원합니다: hover, focus, 반응형, 다크 모드, 컨테이너 쿼리 및 임의 값.

CSS 지시문

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin 및 @source를 PHP에서 파싱하고 확인합니다.

런타임 생성

HTML, 데이터베이스 콘텐츠 또는 템플릿 변수에서 유틸리티 CSS를 즉시 생성합니다. 빌드 단계가 필요 없습니다.

필요한 기능 모두 포함

cn(), merge(), join(), variants(): clsx, tailwind-merge 및 CVA를 PHP로 포팅했으며 추가 패키지는 필요하지 않습니다.

플러그인

@tailwindcss/typography 및 @tailwindcss/forms를 PHP로 포팅했으며, 자체 유틸리티와 컴포넌트를 위한 PHP 플러그인 API도 제공합니다.

CLI

bin/tailwindphp는 -i, -o, --watch 및 --minify를 사용해 입력 CSS 파일에서 스타일시트를 빌드합니다.

테마 검사

PHP에서 클래스의 원시 속성값과 계산된 속성값, 색상, 중단점 및 간격을 바로 확인하세요.

캐시 및 압축기

내장 CSS 압축기와 TTL이 적용된 파일 캐시로 반복 빌드 속도를 높이고 출력을 간결하게 유지합니다.

WordPress 및 PHP 프레임워크

Node.js를 사용하지 않는 스택에서 Tailwind 기반 테마와 플러그인을 배포하세요. TailwindPHP는 단일 Composer 종속성입니다.

TailwindPHP를 사용하는 이유

프로덕션에서 하나의 런타임 사용

Tailwind를 도입하는 PHP 프로젝트는 보통 Node.js와 npm 설치, CI 및 Docker의 빌드 단계도 추가합니다. 대신 TailwindPHP는 PHP 프로세스 안에서 CSS를 컴파일합니다.

런타임에 알 수 있는 콘텐츠를 위한 CSS

데이터베이스, 사용자 입력 또는 템플릿 변수의 마크업을 tw::generate()에 바로 전달하면 해당 클래스에 필요한 CSS만 반환합니다.

고정된 Tailwind 릴리스 기준 검증

저장소에 고정된 Tailwind 소스에서 테스트 사례를 추출해 PHP 출력과 대조하므로 결과가 달라지면 CI가 실패합니다. 1.7.0 릴리스는 Tailwind v4.3.3의 4,427개 테스트를 기준으로 검증했습니다.

컴파일러 하나로 페이지별 CSS 생성

tw::compile()로 테마를 한 번 컴파일한 다음 각 페이지마다 generateExact()를 호출하세요. 각 호출은 테마를 다시 파싱하지 않고도 해당 페이지를 새로 tw::generate()했을 때 생성될 내용을 반환합니다.

비교 대상

Tailwind Labs는 Tailwind CSS를 빌드하는 자체 방법을 제공합니다. TailwindPHP의 차이점은 다음과 같습니다.

TailwindPHP와 다른 도구 비교
Tailwind CLI (@tailwindcss/cli) 잘하는 점Tailwind의 자체 명령줄 도구로, npm에서 설치합니다. HTML 파일, 컴포넌트 및 템플릿에서 클래스 이름을 스캔하고 일치하는 스타일을 정적 CSS 파일에 씁니다. TailwindPHP와의 차이점TailwindPHP는 Node.js나 npm 설치 없이 PHP 내부에서 컴파일합니다. 고정된 Tailwind 릴리스(1.7.0의 v4.3.3)를 추적하며, 자체 벤치마크에서는 원본 TypeScript이 저수준 작업을 더 빠르게 실행하는 것으로 나타났습니다.
독립 실행형 Tailwind CLI 잘하는 점Tailwind를 Node.js 설치 없이 사용하려는 프로젝트를 위한 독립 실행 파일로서의 CLI입니다. TailwindPHP와의 차이점실행 파일은 별도의 바이너리로, 빌드 단계에서 실행됩니다. TailwindPHP는 PHP 코드에서 호출하는 Composer 패키지이므로 데이터베이스 콘텐츠나 템플릿 변수로 요청 시점에 CSS를 생성할 수도 있습니다.
Tailwind Play CDN 잘하는 점빌드 단계 없이 시험해 볼 수 있도록 브라우저에서 Tailwind를 실행하는 스크립트 태그입니다. Tailwind 문서에 따르면 개발용으로 설계되었으며 프로덕션용은 아닙니다. TailwindPHP와의 차이점TailwindPHP도 빌드 단계가 필요 없지만, 서버의 PHP에서 CSS를 생성해 문자열로 반환합니다. 예를 들어 스타일시트 파일에 쓸 수 있습니다.

질문과 답변

TailwindPHP 문서의 간단한 답변.

Composer로 패키지를 설치하고 시작하기 가이드를 따라 PHP에서 첫 스타일시트를 생성하세요.