PHPEASY는 API 중심 PHP 프레임 워크입니다. 프레임 워크가 아닌 PHP 언어 자체에 가까운 코드.
I. 소개
II. 사전 반품
III. 설치
이것은 바닐라 PHP와 단순함을 좋아하는 사람을위한 것입니다. 오늘날 PHP를 사용하여 웹 개발을 수행하려면 코딩 표준 (OOP, Solid, Dry 등) 및 MVC 프레임 워크를 따라야합니다. PHP 프레임 워크에는 너무 많은 파일, 구성, 클래스 및 종속성이 제공됩니다. PHP 개발자가 PHP 언어 자체를 마스터하고 즐기면서 웹 개발을 더 빨리 할 수 있도록이 미니 프레임 워크를 만들었습니다 (예! 많은 라이브러리를 배우지 않아도됩니다).
Composer- 루트 또는 HTDOCS 폴더 내부의 터미널을 열고 아래 명령을 실행하십시오.
composer create-project vgalvoso/phpeasy my_phpeasy
[my_phpeasy]를 원하는 프로젝트 이름으로 변경할 수 있습니다.
이제 브라우저를 열고 http : // localhost/my_phpeasy로 이동하십시오
내부보기 폴더를 만듭니다.
보기 경로는보기 폴더 구조에 따라 자동으로 작성됩니다.
아래 예제를보십시오.
보기 파일의 이름이 [index.php] 인 경우 파일 이름을 ommit 할 수 있습니다.
(SPA) 단일 페이지 응용 프로그램은 뷰 구성 요소로 구성됩니다.
보기 구성 요소는 AJAX 요청을 통해서만 액세스 할 수 있습니다.
Core/Helper/Component ()로 전화하십시오. 보기 파일 상단에서 뷰 구성 요소로 지정합니다.
예 :보기/admin/users_table.php
< ?= Core/Helper/component(); ? >
< table >
< thead >
< tr >
< th > Username </ th >
< th > First Name </ th >
< th > Last Name </ th >
</ tr >
</ thead >
< tbody id =" users_tbl " >
< tr > < td > No Contents </ td > </ tr >
</ tbody >
</ table > Phpeasy는 REST API를 지원합니다.
모든 API는 API 폴더 내부에 배치됩니다.
API 경로는 API 폴더 파일 구조를 통해 자동으로 만들어지고 HTTP Verbs (get (), post (), patch ())와 이름이 지정된 PHP 파일 내에서 기능을 구현합니다.
예를 들어 Delete () 함수를 생략했으며 Delete API/Users/{ID} 호출 할 수 없습니다.
다음은 사용자가 REST API의 예입니다.
API 파일 경로 : [API/Users.php]
경로 :
<?php
use Core DAL ;
use function Core Helper error ;
use function Core Helper getRequestBody ;
use function Core Helper response ;
use function Core Helper startAPI ;
startAPI ();
function get (){
$ db = new DAL ();
//GET user by id
if ( defined ( ' URI_PARAM ' )){
$ query = " SELECT * FROM users WHERE id = :id " ;
$ param = [ " id " => URI_PARAM ];
if (! $ user = $ db -> getItem ( $ query , $ param ))
response ([]);
response ([ $ user ]);
}
//GET All users
$ query = " SELECT * FROM users " ;
$ users = $ db -> getItems ( $ query );
response ( $ users );
}
function post (){
$ db = new DAL ();
$ rq = ( object ) getRequestBody ();
$ values = [
" username " => $ rq -> username ,
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ,
" usertype " => $ rq -> usertype ,
" password " => password_hash ( $ rq -> password , PASSWORD_BCRYPT )
];
if (! $ db -> insert ( " users " , $ values ))
error ( $ db -> getError ());
response ( " New User added! " );
}
function delete (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
if (! $ db -> delete ( " users " , " id=:id " ,[ " id " => $ id ]))
error ( $ db -> getError ());
response ( " User Deleted Successfuly! " );
}
function patch (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
$ rq = ( object ) getRequestBody ();
$ values = [
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ];
$ params = [ " id " => $ id ];
$ db = new DAL ();
if (! $ db -> update ( " users " , " id=:id " , $ values , $ params ))
error ( $ db -> getError ());
response ( " User Updated Successfuly " );
}
//EOF Phpeasy의 API는 절차 적 코딩 스타일을 장려하고
API 구현에서 사용할 수있는 기능 목록은 다음과 같습니다.
PHP 파일을 REST API로 초기화하십시오.
이 기능을 호출 한 후 HTTP 동사를 함수로 구현할 수 있습니다.
예:
<?php
use function Core Helper startAPI ;
startAPI ();
function get (){
//Handle GET request to api/users
}GET 이외의 HTTP 방법을 사용하여 요청하려고하면 오류 응답이 접수됩니다.
요청 본문을 가져 와서 ASSOR 배열로 변환하십시오.
예:
<?php
use Core Helper getRequestBody ;
$ rq = getRequestBody ();
$ username = $ rq [ " username " ];
$ password = $ rq [ " password " ];
//you can convert it to object for easy access
//$rq = (object)$rq;
//$username = $rq->username;
//$password = $rq->password; 유효성 검사 규칙에 따라 키 값 쌍 어레이를 검증하십시오.
$inputs - 검증 할 연관 배열.$validations - $ 데이터와 값의 키와 일치하는 키가 포함 된 연관 배열은 유효성 검사 규칙입니다.예:
<?php
use function Core Helper getRequestBody ;
use function Core Validator validate ;
$ rq = getRequestBody ();
$ dataRules = [ " uname " => " required|string " ,
" upass " => " required|string " ,
" firstName " => " required|string " ,
" lastName " => " required|string " ];
validate ( $ rq , $ dataRules );400 상태 코드 및 오류 메시지를 사용한 출력 응답
$message - 문자열 | 배열 오류 메시지 컨텐츠 유형 및 상태 코드 설정 다음 컨텐츠를 출력하고 스크립트를 종료합니다.
$content 문자열 | 배열 - 출력 컨텐츠$statusCode Int- 응답 상태 코드 (기본값 200)$contentType 문자열 - 컨텐츠 유형 (기본 응용 프로그램/json). 사용 가능한 컨텐츠 유형 : [Application/JSON | 평원/텍스트 | 텍스트/html] 지정된보기를 포함하십시오
$route String- 파일 경로보기주로 스파 구성 요소를 호출하는 데 사용됩니다
지정된보기로 리디렉션합니다.
경로가 지정되지 않은 경우 세션을 기반으로 리디렉션하십시오.
$view -보기 경로 htmlspecialchars의 짧은 구문 ()
$string 소독 할 문자열무작위 영숫자 코드를 생성합니다
$length - 생성 할 코드 길이 (기본 6) 객체 키와 값을 추출하고 세션 배열에 저장
$object - 예제를 추출 할 객체 : <?php
use Core DAL ;
$ db = new DAL ();
if (! $ user = $ db -> getItem ( 1 ))
invalid ( " User does not exist! " );
objToSession ( $ userInfo );새 파일 이름을 생성하고 파일을 업로드하십시오
string $uploadFile $ _file 키string $uploadPath 위치는 "/"끝에 추가해야합니다.세션 변수를 받기/설정하십시오
$sessionVar 세션 키$value - null이면 세션 값을 설정합니다 객체 배열을 지정된 항목의 값을 포함하는 색인 배열로 변환합니다.
$objArr 배열 ibjects 변환$item - 추출 할 객체 항목 Phpeasy는 데이터베이스 작업을 위해 dal () 클래스를 소개합니다. MySQL, MSSQL 및 SQLite를 지원합니다.
config/database.php에서 데이터베이스 구성을 설정합니다
다음은 dal () 함수입니다
$ db = new DAL ();삽입 문을 실행합니다.
$table - 삽입 할 테이블 이름입니다$values - 테이블 필드와 삽입 할 값과 일치하는 키를 포함하는 연관 배열.예:
$ values = [ " username " => $ uname ,
" password " => $ upass ,
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ db -> insert ( " users " , $ values );업데이트 문을 실행합니다
string $table 테이블 업데이트string $condition 조건 예 : ID = : IDarray $values 업데이트 할 값을 포함하는 연관 배열 eg. ["age" => 27]array $params 값 예를 들어. [ "ID"=> 1]예:
$ values = [
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ params = [ " id " => 1 ];
$ db = new DAL ();
$ db -> update ( " users " , " id=:id " , $ values , $ params );삭제 명령문을 실행합니다
string $table 에서 삭제할 테이블string $condition 조건. id = : id and name = : namearray $params 값 예를 들어. [ "id"=> 1, "name"=> "Juan Dela Cruz"]]]예:
$ delete ( " users " , " id=:id " ,[ " id " => 1 ]);여러 항목을 선택하십시오
string $query select 문array $inputs 준비 된 명령문 기본값 (null)에 대한 매개 변수예:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE lastname = :surname " ;
$ params = [ " surname " => $ lastName ];
$ users = $ db -> getItems ( $ sql , $ params );단일 행 쿼리를 선택하십시오
string $query select 문array $inputs 준비 된 명령문 기본값 (null)에 대한 매개 변수예:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE id=:userId " ;
$ params = [ " userId " => 1 ];
$ users = $ db -> getItem ( $ sql , $ params );데이터베이스 트랜잭션을 시작하십시오.
데이터베이스 거래를 커밋합니다.
롤백 데이터베이스 트랜잭션.
데이터베이스 오류를 반환합니다
데이터베이스에 마지막으로 삽입됩니다
string $field LastID 필드, 기본 NULL을 지정합니다 현재 사용중인 데이터베이스 프리버를 얻으십시오.
- api/getAllUser.php
```php
<?php
$db = new DAL();
$users = new Users($db);
$usersList = $users->getAll();
프로젝트 요구 사항에 따라 모델을 사용할 수 있습니다.
DAL 클래스는 API 파일에서 직접 액세스 할 수 있으며 모델을 작성하지 않고 API 구현에서 직접 쿼리를 실행할 수 있습니다.
PHPEASY는 프로그레시브이며, 원하는 경우 모델, 서비스를 추가 할 수 있으며 다른 디렉토리를 추가하면 Composer.json 파일을 업데이트 할 수 있습니다.
보다