Search by

php simple framework

Package info

github.com/jonathanbak/psf

Type:project

pkg:composer/jonathanbak/psf

Statistics

Installs: 326

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v2.0.0 2026-09-24 13:59 UTC

README

What is PSF?

PSF는 PHP Simple Framework 로 간단한 파일(configure.json) 설정 만으로 다중 사이트를 운영할수 있게 도와주는 프레임워크 입니다.

1.x → 2.0 업그레이드 (PHP 8.1 이상) PSF 버전이나 PHP 버전을 올리기 전에 UPGRADE-2.0.md 를 먼저 확인하세요. 프로젝트에 설치된 경우 경로는 vendor/jonathanbak/psf/UPGRADE-2.0.md 입니다. AI 코딩 도구로 마이그레이션할 때도 이 문서를 먼저 읽도록 지시하세요.

Features

PSF supports the following:

  • configure.json 설정만으로 여러 사이트를 한 코드베이스에서 운영
  • URL 경로와 컨트롤러 클래스를 자동으로 연결하는 라우팅
  • mysqlilib 기반 모델

Requirements

PSF PHP mysqlilib 상태
2.x 8.1 이상 ^1.4 현재 버전
1.x 5.3 이상 (8.0 이하 권장) ~1.2 (lock 에 따라 1.2 ~ 1.4) 버그 수정만
  • Composer - Dependency Management for PHP
  • PHP mysqli 확장, mysqlnd 드라이버 (2.x)

1.x 에서 올리는 경우 UPGRADE-2.0.md 를 먼저 확인하세요. 버전별 변경 사항은 CHANGELOG.md 에 있습니다.

Note: php composer 를 설치하고 PSF를 추가하면 자동으로 의존성 라이브러리들을 설치합니다.

Installation

  1. Download and install Composer by following the official instructions.

  2. Create a composer.json defining your dependencies. Note that this example is a short version for applications that are not meant to be published as packages themselves. To create libraries/packages please read the documentation.

    {
        "require": {
            "jonathanbak/psf":"^2.0"
        }
    }

    PHP 8.1 미만 프로젝트는 "~1.1" 을 사용합니다.

  3. Run Composer: php composer.phar install

Start First Project

터미널에서 아래 스크립트를 실행후 데이터를 입력하시면 자동으로 폴더가 구성됩니다.

$ php ./vendor/jonathanbak/psf/bin/init.php 
Create database configuration file [N/y]?y
Input db file name (domain name) : sample.com
Input db host : 127.0.0.1
Input db user : test
Input db password : testpassword
Input database name : db_test 
Input db alias name : dbalias
Create new db..
.../config/db/sec.wendybook.loc.json

Create site configuration file [N/y]?y
Input site namespace : SampleSite
Input site domain : www.sample.com
Input db file name : sample.com
Create new site..
OK.

Folder Structure

PSF 사용시 추천하는 폴더 구조는 아래와 같습니다.

.
├── app
│   └── com.example         # example.com 사이트 루트 폴더
│       ├── _tmp            # 임시폴더, 캐쉬파일과 로그 생성
│       ├── controllers     # URL에서 접근하는 controller 파일
│       ├── models          # 모델 파일, 주요 로직
│       └── views           # View 폴더
│           ├── css             # css 파일
│           ├── image           # images 파일
│           ├── js              # javascript 파일
│           └── tpl             # tpl 파일 (html 파일)
├── config              # 설정 파일
│   ├── db              # DB 정보 설정 파일
│   └── site            # 사이트 설정 파일
├── html                # 실제 웹서버의 DOCUMENT_ROOT
└── vendor              # Composer 라이브러리 폴더

app 폴더 하위 구조는 config/site/usersiteurl.json 파일안에서 별도 정의가 가능합니다.

app 폴더 상위 구조는 configure.json 파일 에서 별도 정의가 가능합니다.