SQL 데이터베이스에 REST API를 추가하는 단일 파일 PHP 스크립트.
https://github.com/mevdschee/php-crud-api
MySQL 5.6 InnoDB 데이터베이스에 REST API를 추가하는 단일 파일 PHP 7 스크립트. PostgreSQL 9.1 및 MS SQL Server 2012는 완벽하게 지원됩니다.
NB : 이것은 PHP의 TreeQL 참조 구현입니다.
관련 프로젝트 :
다음 위치에도 이 스크립트의 포트가 있습니다.
PHP, Java, Go, C # .net core, Node.js 및 Python에서 기본 REST CRUD 기능 만 지원하는 이 스크립트의 개념 증명 포트도 있습니다.
요구 사항
설치
이것은 단일 파일 응용 프로그램입니다! 어딘가에 "api.php"를 업로드하고 즐기십시오!
로컬 개발의 경우 PHP의 내장 웹 서버를 실행할 수 있습니다.
php -S localhost:8080
다음 URL을 열어 스크립트를 테스트합니다.
http://localhost:8080/api.php/records/posts/1
파일 하단에서 구성을 수정하는 것을 잊지 마십시오.
또는 이 프로젝트를 원하는 웹 프레임 워크에 통합 할 수 있습니다. 다음을 참조하십시오.
이러한 통합에서 Composer는 이 프로젝트를 종속성으로 로드 하는 데 사용됩니다.
구성
"api.php"파일 하단에서 다음 줄을 편집합니다.
$config = new Config([
'username' => 'xxx',
'password' => 'xxx',
'database' => 'xxx',
]);
다음은 모든 구성 옵션과 대괄호 사이의 기본값입니다.
모든 구성 옵션은 환경 변수로도 사용할 수 있습니다. 구성 옵션을 대문자, "PHP_CRUD_API_"접두사 및 단어 분리를 위한 밑줄로 작성하십시오. 예를 들면 다음과 같습니다.
환경 변수는 PHP 구성보다 우선합니다.
한계
이러한 제한 및 제약이 적용됩니다.
특징
다음 기능이 지원됩니다.
편집
다음 명령어를 사용하여 이 프로젝트의 모든 종속 항목을 설치할 수 있습니다.
php install.php
다음을 사용하여 모든 파일을 단일 "api.php"파일로 컴파일 할 수 있습니다.
php build.php
주의 : 설치 스크립트는 PHP 7.0 호환성을 위해 공급 업체 디렉토리의 종속성을 패치합니다.
개발
다음 URL에서 컴파일 되지 않은 코드에 액세스 할 수 있습니다.
http://localhost:8080/src/records/posts/1
컴파일 되지 않은 코드는 "src"및 "vendor"디렉토리에 있습니다. "공급 업체"디렉토리에는 종속성이 포함되어 있습니다.
종속성 업데이트
다음 명령어를 사용하여 이 프로젝트의 모든 종속성을 업데이트 할 수 있습니다.
php update.php
이 스크립트는 Composer를 설치하고 실행하여 종속성을 업데이트합니다.
주의 : 업데이트 스크립트는 PHP 7.0 호환성을 위해 공급 업체 디렉토리의 종속성을 패치합니다.
TreeQL, a pragmatic GraphQL
TreeQL을 사용하면 SQL 데이터베이스 구조 (관계) 및 쿼리를 기반으로 JSON 개체의 "트리"를 만들 수 있습니다.
느슨하게 REST 표준을 기반으로 하며 json : api에서 영감을 받았습니다.
CRUD + List
예제 posts 테이블에는 몇 개의 필드 만 있습니다.
posts
=======
id
title
content
created
아래의 CRUD + List 작업은 이 테이블에서 작동합니다.
Create
레코드를 생성하려면 요청을 다음과 같은 URL 형식으로 작성할 수 있습니다.
POST /records/posts
다음을 포함하는 본문을 보내야 합니다.
{
"title": "Black is the new red",
"content": "This is the second post.",
"created": "2018-03-06T21:34:01Z"
}
그리고 새로 생성 된 레코드의 기본 키 값을 반환합니다.
2
Read
이 테이블에서 레코드를 읽으려면 요청을 다음과 같은 URL 형식으로 작성할 수 있습니다.
GET /records/posts/1
여기서 "1"은 읽으려는 레코드의 기본 키 값입니다. 다음을 반환합니다.
{
"id": 1
"title": "Hello world!",
"content": "Welcome to the first post.",
"created": "2018-03-05T20:12:56Z"
}
읽기 작업에서 조인을 적용 할 수 있습니다.
Update
이 테이블의 레코드를 업데이트하기 위해 요청을 다음과 같은 URL 형식으로 작성할 수 있습니다.
PUT /records/posts/1
여기서 "1"은 업데이트 할 레코드의 기본 키 값입니다. 본문으로 보내기 :
{
"title": "Adjusted title!"
}
게시물의 제목을 조정합니다. 반환 값은 설정된 행 수입니다.
1
Delete
이 테이블에서 레코드를 삭제하려는 경우 요청을 다음과 같은 URL 형식으로 작성할 수 있습니다.
DELETE /records/posts/1
그리고 삭제 된 행의 수를 반환합니다.
1
List
이 테이블의 레코드를 나열하기 위해 요청을 다음과 같은 URL 형식으로 작성할 수 있습니다.
GET /records/posts
다음을 반환합니다.
{
"records":[
{
"id": 1,
"title": "Hello world!",
"content": "Welcome to the first post.",
"created": "2018-03-05T20:12:56Z"
}
]
}
목록 작업에서 필터와 조인을 적용 할 수 있습니다.
등록된 댓글이 없습니다.