Phpslides는 주로 Router , Api 및 database management 작성하는 데 사용 된 이미 생성 된 기초 템플릿을 위해 설계된 PHP 프레임 워크입니다.
매우 기본적인 보안 라우터, API 및 데이터베이스를 작성하는 데 Phpslides를 사용하여 수락하는 내장형 템플릿 데이터베이스를 작성하십시오. MySql 및 Sqlite 데이터베이스도 다른 데이터베이스를 설정할 수 있습니다.
기본적으로 SQL 주입을 방지하는 데 기본적으로 XXS 공격 및 CSRF에서 프로젝트를 방지합니다.
PHP의 초보자가 phpslides 로 시작하는 것은 좋은 관행입니다.
Phpslides를 사용하면 서버에서 오는 모든 요청이 라우팅 검증을 위해 Phpslides로 리디렉션됩니다. 요청이 등록 된 경로와 일치하는지 확인하면 404 찾기 페이지를 반환합니다.
라우팅에 지정되지 않으면 PhpSlides 프로젝트에서 파일이나 폴더에 대한 요청이 없습니다.
기본적으로 파일이나 폴더 또는 등록되지 않은 경우받은 요청을 탐색하는 경우 404 찾을 수 없습니다.
파일을 직접 방문하고 싶습니까? 슬라이드 구성 파일에서 구성되지만 지정된 경우 공개 디렉토리의 파일에만 액세스 할 수 있습니다.
또한 액세스 할 파일 유형을 지정하거나 공개 디렉토리 또는 모든 폴더의 각 폴더에서 요청할 수있는 특정 확장을 지정할 수 있습니다.
모든 유형의 파일, 이미지, 비디오, 오디오, 문서 또는 일반 텍스트를 허용합니다.
phpslides 기본 코드를 읽고 각 코드 기능을 이해하면 코드가 깔끔하고 읽을 수 있습니까?.
먼저, 작곡가가 이미 설치된 경우 터미널 에서이 명령을 실행하여 슬라이드 프로젝트를 만듭니다.
composer create-project dconco/php_slides slide_project 여기서 slide_project 는 프로젝트 이름을 작성하고 프로젝트 디렉토리입니다. 그리고 설치하는 대상 디렉토리에서 지정된 이름으로 프로젝트를 만들 것입니다.
작곡가가 아직 설치되지 않은 경우 실행하여 설치하십시오.
pkg install composer그리고 우리는 모두 설정되어 있습니다.
VSCODE 또는 PHPSTORM 또는 기타 PHP 편집기에서 프로젝트를 열 것입니다.
브라우저에서 프로젝트를 시작하겠습니다. XAMPP 또는 기타 PHP 서버에서 Apache 서버를 설정하고 시작합니다. 전화를 사용하는 경우 PHP 서버에 Awebserver를 사용할 수 있습니다. 브라우저에서 호스트를 열면 기본 템플릿이 표시됩니다.
요청 경로에는 여러 가지가 있습니다. 이 경로 방법은 클라이언트 측에서 요청을받는 데 사용됩니다.
편집기에서 routes/route.php 파일을 엽니 다. routes 폴더, route.php 파일을 엽니 다. 기본적으로 대시 보드 경로가 등록 된 것을 볼 수 있으시면 처음부터 시작하기 위해 제거 할 수 있습니다.
예를 들어 간단한 블로그 슬라이드를 만들어 봅시다. 따라서 경로를 등록하면 Login Page , Register , Profile 및 Posts Page 필요합니다. route.php 파일에 PUR 경로를 등록하고 예제를 작성하겠습니다.
<?php
include_once dirname ( __DIR__ ) . " /vendor/autoload.php " ;
use PhpSlides Route ;
use PhpSlides view ;
Route:: config ();
Route:: view ( " /login " , " ::Login " );
?>위 의이 예는 다음과 같습니다.
먼저 공급 업체 디렉토리에서 Autoload 파일을 가져 와서 모든 클래스 이름을 사용할 수 있습니다.
use PhpSlidesRoute 하여 사용할 루트 클래스를 가져 오는 데 사용합니다.
Route::config 함수는 코드 시작시 지정해야합니다. Phpslides가 웹 사이트 경로를 구성하고 라우팅 및 요청 된 경로를 구성하는 데 액세스 할 수 있도록 매우 보안을 제공합니다.
Route::config function은 1 부울 매개 변수를 사용하여 로그 요청을 허용할지 여부를 나타냅니다. 기본적으로 true로 설정됩니다. 따라서 각 요청에서 요청 헤더 정보를 .log 파일에 씁니다.
Route::view 기능을 사용하면 뷰 경로를 만들 수 있습니다.
전달 된 매개 변수는 2가됩니다. 첫 번째 매개 변수는 두 번째 매개 변수를 렌더링하도록 요청 해야하는 경로를 지정합니다.
두 번째 매개 변수는 :: ( Double Colon ) 및 파일 이름으로 액세스 할 수있는보기 디렉토리의 파일을 렌더링합니다. View 디렉토리에서 생성하는 모든 파일은 fileName.view.php 형식이어야하며 fileName 은보기 파일의 이름이고 .view.php 는 파일 확장자이므로 PhpsLides는보기 파일임을 알 수 있습니다.
경로에 등록한대로 Login.view.php 라는 새 파일을 만들어 봅시다. 그런 다음 작은 예제 HTML 코드를 작성할 수 있습니다.
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h2>Login Page</h2>
<input type="email" name="emai" />
<input type="password" name="password" />
<button type="submit">Login</button>
</body>
</html>GET 경로 방법의 예
<?php
use PhpSlides Route ;
use PhpSlides view ;
Route:: config ();
Route:: get ( " /login " , Route:: view ( " ::Login " ));
?> View & Get Route의 차이점이 있습니다. Route View에서는 Route::view 사용하여보기 파일을 가져올 필요가 없습니다. 두 번째 매개 변수의 문자열로보기를 작성합니다.
그러나 Get Route에서 콜백 함수로 사용되는 두 번째 매개 변수는 모든 유형의 코드를 취합니다. 예를 들어, 문자열, 배열, 기능. 클라이언트쪽에 직접 반환되므로. GET 경로를 사용하면 수신 할 특정 URL의 요청 메소드는 모든 경로 방법과 같이 GET 요청이어야합니다.
클로저 기능 방법으로 경로를 얻으십시오
Route:: get ( " /login " , function () {
return Route:: view ( " ::Login " );
});로그인보기 페이지를 반환하고 모든 PHP 값을 브라우저로 반환 할 수 있습니다.
모든 경로 메소드에는 함수 메소드 또는 기타 메소드를 취하는 콜백 함수로서 두 번째 매개 변수가 있습니다.
폐쇄가있는 URL 매개 변수로 경로 방법을 가져옵니다
Route:: get ( " /posts/{id} " , function ( int $ id ) {
return " Posts ID = " . $ id
});이 예제는 ID의 함수 폐쇄 매개 변수로 GET 요청을받는 /게시물 요청이 포함 된 새 Get Route를 등록합니다. 요청이/post/2 인 경우 "post id = 2"를 반환하면 ID 값이 가져와 클라이언트 측/브라우저로 전송됩니다.
포스트 경로 방법의 예
<?php
use PhpSlides Route ;
use PhpSlides view ;
Route:: config ();
Route::post( " /add_user " , ());
?>Post Method를 호출하면 Post Route 함수가 request_method가 게시물 요청 인 경우에만 실행할 수 있음을 나타냅니다. 양식 데이터를 제출하는 데 사용할 수 있습니다.
두 번째 매개 변수는 비어 있고 JSON 형식을 반환 할 수 있습니다. Post 메소드는 일반적으로 JSON 형식으로 데이터를 반환하는 게시물 요청을 보내는 데 사용되므로 2nd 매개 변수는 콜백 함수에 대한 형식을 포함 할 수 있습니다.
그것이 나머지 경로 방법의 방식입니다.
PUT 경로 방법의 예
Route::put( " /user " , ());Put 메소드는 특정 파일 또는 데이터베이스에 정보 또는 데이터를 추가 할 때 게시물 요청과 같습니다.
업데이트 경로 방법의 예
Route::update( " /user/{id} " , ());업데이트 방법은 일반적으로 데이터베이스와 같은 정보를 업데이트하는 데 사용됩니다.
경로 삭제 방법의 예
Route::delete( " /user/{id} " , ());삭제 방법은 일반적으로 데이터베이스에서 정보를 삭제하는 데 사용됩니다.
모든 경로 방법의 예
Route::any( " /user/{id} " , ()); Route::any() 메소드를 사용할 수 있습니다. 요청 된 경로 방법에 따라 게시, GET, PIT, 업데이트 또는 삭제할 수 있습니다.
무의미한 경로 방법의 예
Route:: any ( " * " , Route:: view ( " ::errors::404 " )); 이 위 의이 예제에서, 우리는 모든 경로를 만들고 첫 번째 매개 변수를 만들어 * 로 반환 할 때마다 요청 된 URL과 일치 할 때마다 반환합니다.
NotFound 경로는 등록 된 경로의 결말에 있어야하므로 위의 모든 경로가 불일치 할 때 실행할 수 있습니다.
두 번째 매개 변수에서 폴더를 view 위해 탐색하고 view 디렉토리 내부에서 errors 라는 폴더를 만들고 404.view.php 라는 페이지를 만듭니다.
페이지 나 함수를 렌더링하는 여러 경로 URL을 생성 할 수 있습니다.
배열 및 URL 목록이있는 여러 URL을 만듭니다. 모든 경로 방법을 사용할 수 있습니다.
참고 : {} Curly Braces와 함께 경로 매개 변수를 사용할 때는 여러 URL을 사용할 수 없습니다.
Route:: view ([ " / " , " /index " , " /dashboard " ], " ::dashboard " ); 이 예는 요청 된 URL이 배열에 지정된 URL과 일치 할 때마다 브라우저에서 dashboard.view.php 렌더링합니다. 모든 경로 방법은 여러 URL을 허용합니다. 404 페이지의 여러 URL을 생성 할 수도 있습니다.
PhpSlides 사용하면 클래스 컨트롤러에서 경로 매개 변수 키에 액세스 할 수 있습니다.
View Method를 제외하고 라우팅 컨트롤러에 모든 경로 방법을 사용할 수 있습니다. Get Method와 함께 가자.
프로젝트의 루트 디렉토리에있는 Controller 디렉토리에서 간단한 클래스 구성 요소를 만듭니다.
Controller 디렉토리로 탐색하고 선택한 컨트롤러 이름을 작성하지만 ClassNameController.php 이어야하는이 형식 ClassName + Controller.php 이어야합니다.
따라서 UserController.php 라는 새로운 컨트롤러를 만들어 봅시다. 생성 된 파일을 탐색하고 일부 코드를 작성해 봅시다.
<?php
namespace PhpSlides Controller ;
final class UserController extends Controller
{
public function __invoke ( int $ id ) {
return " <h2>Get User with ID = { $ id } </h2> " ;
}
}
?> 위 의이 예에서는 /controller 폴더에서 UserController.php 라는 파일을 만들었습니다.
그리고 클래스 컨트롤러를위한 네임 스페이스를 만들었습니다. 우리는 UserController 라는 클래스를 만들어 Controller 클래스로 확장하여 일부 보호 기능에 액세스 할 수 있습니다.
네임 스페이스가있는 모든 클래스 구성 요소를 작성한 후 각 클래스의 자동로드를 위해 아래 명령을 실행해야합니다.
composer slides-refresh수업의 최종 키워드는 클래스가 최종적이어야하고 다른 클래스로 확장 할 수 없다고 설명합니다. 클래스를 확장 해야하는 경우 제거 할 수 있습니다.
또한 __invoke라는 공개 함수를 만듭니다. Route에서 클로저 매개 변수를 가져옵니다. 이는 URL 매개 변수를 얻고 콜백 함수의 값을 반환하는 데 사용됩니다. 따라서 Closure $ ID 매개 변수를 가져오고 Param 이름 앞에 int 사용하여 정수로 설명합니다.
사용자 경로를 등록하고 경로를 얻도록하자. 사용법에 따라 모든 유형의 경로 요청을 만들 수있다.
<?php
use PhpSlides Route ;
use PhpSlides Controller UserController ;
Route:: config ();
Route:: get ( " /user/{id} " , [ UserController::class ]);
?> 위의 예에서는 이미 UserController 라는 클래스를 만들었고 id 의 URL 매개 변수가있는 Get Route 메소드를 만들었습니다.
그런 다음 id 매개 변수가 __invoke 함수를 사용하여 UserController 클래스로 전송 된 UserController 클래스를 렌더링합니다.
클래스 컨트롤러에서는 다른 경로 요청을위한 여러 메소드를 만들 수도 있습니다.
<?php
final class UserController extends Controller
{
public function __invoke () {
return " <h2>Invoked User Successful. Receieved all users successfully.</h2> " ;
}
public function User ( $ id ) {
return " <h2>Received an ID - $ id for a user.</h2> " ;
}
}
?> UserController 에서 User() 는 id URL 요청 매개 변수에 대해 하나의 매개 변수를 $id 로 가져옵니다.
경로에서 User() 클래스 메소드를 사용해 보겠습니다.
Route:: get ( " /user " , [ UserController::class ]);
Route:: get ( " /user/{id} " , [ UserController::class, ' User ' ]);첫 번째 기능에는 URL 매개 변수가 없습니다.이 경우 각 사용자가 아닌 모든 사용 가능한 사용자를 반환합니다.
또한 /user/{id} 와 같은 두 번째 함수를 만들었습니다. 즉, id URL 매개 변수를 User() 경로 메소드로 전달했습니다.
배열의 두 번째 인덱스에서 Route 컨트롤러 배열에 문자열로 문자열로 User 하는 메소드 이름을 전달하여 User() 메소드를 사용하려면 두 개의 배열 값 만 가져갈 수 있습니다.
가능한 많은 방법과 가능한 많은 URL 매개 변수를 추가 할 수 있습니다.
여러 URL 매개 변수 생성을위한 아래 예 :
Route:: get ( " /user/{id}/post/{post_id} " , function ( $ user_id , $ post_id )
{
return " User ID = $ user_id & Post ID = $ post_id " ;
}); 사용자 ID 및 Post ID에 대해 id 와 post_id 라는 두 개의 URL 매개 변수가 있으며 Closure Function 매개 변수에서 URL 매개 변수를 가져옵니다. 경로 컨트롤러 방법과 동일합니다.
그러나 함수 클로저 매개 변수 변수가 충돌을 일으킬 수 있지만 URL 매개 변수는 동일 할 수 있습니다.
phpslides의 구성으로 인해 라우팅에서 요청을 보내거나 수신 할 수있는 방법을 구성하는 데 전체 액세스 권한이 있습니다. 그리고 라우팅 구성은 phpslides.config.json 파일에서 설정할 수 있습니다.
웹의 모든 곳에서는 기본적으로 모든 페이지로 탐색하더라도 비워집니다. 따라서 웹 라우팅은 링크를 따르는 경우 웹에 페이지를 추가하는 데 사용됩니다. URL의 페이지를 반환합니다. Not Found page 페이지가 없을 때마다 사용됩니다.
기본적으로 페이지의 모든 경로에 URL을 열면 웹은 Not Found page 추가하지 않으면 웹 사이트를 확보 할 수 있으므로 웹 사이트를 확보하려면 액세스하려는 부품에만 액세스 할 수 있기 때문에 반환됩니다.
또한 Phpslides의 구성을 통해 사용자가 볼 수있는 부품을 쉽게 구성하고 매우 안전한 웹 사이트를 만들 수 있습니다. 공개 폴더의 파일 만 볼 수 있지만 라우팅과는 별도로 폴더를 볼 수는 없습니다.
_ phpslides의 구성의 예
프로젝트의 루트 디렉토리에서 phpslides.config.json 을 엽니 다.
{
"charset" : " UTF-8 "
}이 예제는 모든 파일과 라우팅 페이지를 브로어로 반환하는 데 사용할 숯이 지정됩니다. 그러나 일부 부분을 변경하려면 PHP 코드를 사용하면 언제든지 변경할 수 있습니다.
{
"public" : {
"/" : [ " * " ]
}
} JSON 파일에 public 키를 추가했습니다. public 디렉토리 내부에 파일 및 중첩 된 파일이 액세스 할 수있는 폴더의 중첩 파일을 지정합니다.
public 디렉토리의 루트를 지정하는 / 키를 추가했습니다. 그래서 우리는 그것을 * (별표) 가지고 있다고 덧붙였다. public 디렉토리의 루트에있는 모든 파일에 액세스하도록 지정합니다. 또한 파일이 존재하고 CCONFIGURATION에서 확장자를 사용할 수없는 파일에 액세스하려고하더라도 액세스 할 수있는 모든 유형의 확장자를 지정할 수 있습니다. Not Found page 반환합니다. 그들은 배열에 여러 개의 extesnsions를 쓸 수 있습니다. 또한 모든 이미지, video 또는 audio 액세스 할 수있는 image 작성할 수 있습니다.
"/" : [ " image " , " audio " , " video " ] public 디렉토리 내부의 각 중첩 폴더에서 구성 파일의 확장 배열로 지정됩니다. 그리고 모든 중첩 된 폴더를 허용하려면 JSON 파일의 폴더와 모든 중첩 디렉토리에서 허용 할 수있는 확장자 만 지정합니다.
디렉토리 가이 형식이라고 가정 해 봅시다.
public:
assets:
image.jpg
file.pdf
vendor:
bootstrap.min.js
images:
image.png
image1.jpg
file.html
따라서이 예는 다음과 같습니다. public 디렉토리에는 assets 및 images 폴더가 있습니다. 따라서 assets 폴더에는 bootstrap.min.js 포함하는 1 개의 이미지, 1 PDF 파일 및 1 개의 vendor 폴더가 있습니다. 따라서 구성하려면 ::
{
"public" : {
"assets" : [ " jpg " , " js " ],
"images" : [ " image " , " video " ]
}
} 이 예에서는 assets 및 images 디렉토리에 대한 구성 만 만들었으므로 assets 디렉토리의 모든 파일 및 폴더는 assets 디렉토리에 추가 된 확장자를 사용 하여이 예에서 지정된 js Extension이 vendor 폴더에도 허용되거나 vendor 키를 JSON 파일에 추가합니다.
따라서 assets 디렉토리를 구성하면 vendor 폴더의 jpg 파일과 js 파일에만 액세스 할 수 있습니다.
images 디렉토리의 경우 image 또는 video 파일에만 액세스 할 수 있다고 지정하므로 PNG & jpg 및 리턴이 추가되지 않은 file.html 에 액세스 할 때마다 png & JPG 및 리턴 Not Found page 2 개의 파일을 허용합니다.
중첩 된 폴더에 파일이있는 public 디렉토리에있는 모든 파일을 보려면 파일을 가져 오기 전에 public 폴더를 추가하지 않으면 Not Found page . 위의 예와 마찬가지로 assets 폴더의 파일에 액세스하십시오. 우리는 URL을 따릅니다 : http://localhost:8000/assets/image.jpg http://localhost:8000/public/assets/image.jpg . 그리고 파일이 프로젝트의 루트 디렉토리에 있으면 호스트 URL 바로 뒤에 액세스 할 수 있습니다 : http://localhost:8000/image.jpg .
이 버전에서 Slides는보기 페이지를 다루는 방법을 제공합니다.이 형식의 fileName + .view.php Extension에서 views Directory에서 뷰 템플릿 파일 작성 방법을 제공합니다. fileName.view.php 입니다
Phpslides는 특별한보기 구문을 만들었습니다.
<? ?>이걸 시작하자 ..
<! DOCTYPE html>
<html>
<!-- Php codes if needed -->
<?
?>
<head>
<!-- Meta Tags Info -->
<title>Page Title</title>
</head>
<body>
<!-- Body contents -->
</body>
</html> HTML 코드를 작성하는 템플릿 페이지에서 PHP 태그는 파일을 시작하지 않아야합니다. 대신 <html> 태그 또는 시작과는 별도로 <html> 태그와 코드를 작성 <?php 합니다.
<? ?> 보기 템플릿의 태그는 짧은 PHP 코드를 작성하는 데 사용되는 짧은 PHP 태그입니다. IF 문을 사용하거나 데이터를 ECHOING와 같이 HTML 페이지에 반영합니다. 예제 코드 :
<body>
<? if ( $ user ): ?>
<h1>Hello <? @view $ user ?> </h1>
<? else : ?>
<h1>Hello Guest</h1>
<? endif ; ?>
<p>
<? @view ' welcome to our blog spot! ' ?>
</p>
</body> 이 예제는 다음과 같이 설명됩니다. 본문 요소에서 사용자가 true를 반환하는지 확인한 다음 텍스트 hello와 함께 h1 요소를 추가하여 사용자 변수 값이 슬라이드에서 @View 키워드를 사용하여 반환됩니다. 그렇지 않으면 <p> 태그에 텍스트 Hello Guest가있는 h1 요소는 @view 키워드를 사용하여 문자열/값을 <p> 요소로 반환합니다.
:: view & :: 루트
::view / 부터 시작하는 프로젝트의 서버 이름 후에 루트 위치를 반환하는보기 템플릿 파일에만 작성된 단어입니다. 일반적으로 공개 파일을 연결하는 데 사용됩니다. ::root 프로젝트의 루트 위치를 반환하고 있으며 ::view , ::root 프로젝트의 모든 파일을 포함하는 데 PHP에 사용되지만 ::view 브라우저/클라이언트 측이 액세스 할 수있는 것만 액세스 할 수 있지만 public 디렉토리에 있지 않은 경우 프로젝트의 파일에 액세스 할 수는 없습니다.
이제 공개 디렉토리에서 액세스 할 이미지와보기 페이지에 포함시켜야 할 추가 PHP 파일이 있다고 가정 해 봅시다.
<body>
<? include ' ::root/components/extraFile.php ' ?>
<div>
<img src="::view/assets/icon.png" alt="Icon" />
</div>
</body> 이 경우 프로젝트의 루트는 ::root 로 표시되고 프로젝트 내부에서는 components 라는 폴더와 extraFile.php 라는 새 파일을 뷰 페이지에 포함시킬 모든 PHP 코드를 만들었습니다.
::view 는 서버 호스트의 루트 위치이므로 호스트 URL이 http://localhost:8000/ 로서 ::view 로 표시되고 일반적으로 슬라이드에서 public 디렉토리의 모든 파일과 폴더가 URL의 루트에서 ::view/ not/not ::view/public 으로 확장됩니다.
따라서 URL AS ::view/assets/icon.png public 디렉토리의 assets 폴더 및 icon.png 이미지를 생성했습니다.
슬라이드는 PHP 파일뿐만 아니라보기 페이지에 다른보기 템플릿 파일을 포함시킬 수있는 방법을 제공합니다.
보기 페이지를 포함하는 2 가지 방법
<include !/> html 태그 사용slides_include php 함수 사용 <include !/> html 태그를 사용하면 현재보기 페이지에 다른 PHP/보기 페이지를 포함시킬 수 있습니다. 포함 할 다른 파일에 슬라이드보기 템플릿을 쓸 수 있습니다. 또한 프로젝트의 어느 곳에도 위치한 다른 PHP 파일도 포함 할 수 있습니다.
< body >
< include path =" ::root/components/extraFile.php " ! />
< include path =" ::root/views/viewPage.view.php " ! />
</ body > 따라서 첫 번째 태그에는 components 디렉토리에있는 PHP 파일이 포함되었습니다. 두 번째 태그는 views 디렉토리에있는 View Template 파일을 포함했습니다. 보기 템플릿 페이지에서 <include !/> 태그 만 사용할 수 있습니다.
slides_include
이 기능은 PHP 파일에 뷰 파일을 포함 할 수있는 방법을 제공합니다.
<? @view slides_include ( ' ::root/comp/extraFile.php ' ) ?>
<? @view slides_include ( ' ::root/views/page.view.php ' ) ?> Phpslides는 -v1.2.0의 API를 알게되므로 프로젝트에서 API와 함께 작업 할 수 있습니다. API는 경로와 같지만 브라우저가 아닌 요청으로 데이터를 다시 렌더링하고 있습니다. 슬라이드는 API 경로를 등록 할 수있는 Api 기능을 제공합니다. web.php 파일에서 API 컨트롤러를 설정했습니다. routes/api.php 파일에 새 API 경로를 등록하십시오
<?php
use PhpSlides Api ;
Api:: get ();
Api:: post ();
Api:: put ();
Api:: patch ();
Api:: update ();
Api:: delete ();
?> 위의 예제 코드 블록에서 API를 생성하고 이들은 API에서 사용 가능한 API 요청 방법입니다. Api 함수는 2 개의 매개 변수, API Route URL 및 두 번째 매개 변수는 컨트롤러 클래스 메소드입니다.
API를 만들기 전에 웹 경로를 사용하지 않더라도 route.php 파일에서 Route::config() 함수를 설정 해야 합니다.
주어진 요청 경로 "/api/users" 에 대한 API를 작성하여 데이터베이스에 사용 가능한 사용자 목록을 표시하는 게시물 메소드가 있습니다. 다른 경로 "/api/users/{id}" 도 주어진 ID에 의해 특정 사용자를 표시하는 게시물 메소드를 만듭니다.
<?php
use PhpSlides Api ;
Api:: post ( " /api/users " );
Api:: post ( " /api/users/{id} " , @user);
?> 따라서 첫 번째 API에서는 기본적으로 __invoke 메소드 인 방법에 대한 두 번째 매개 변수를 제공하지 않았습니다. 그리고 두 번째에는 동일한 컨트롤러 클래스의 user 메소드를 쇠약하게하는 @user 사용합니다. @ 컨트롤러 클래스의 메소드 이름을 대상으로합니다.
먼저 Controller/Api 디렉토리에서 컨트롤러 클래스를 작성하겠습니다. UserController 의 이름을 지정합시다. 컨트롤러 이름에서 Controller 컨트롤러 파일을 설명하는 파일을 종료해야합니다.
<?php
namespace PhpSlides Controller ;
final class UserController extends Controller
{
function __invoke () {
$ response = [ ' data ' => ' We have gotten all users id successful ' ];
return json_encode ( $ response );
}
function user ( int $ id ) {
$ response = [ ' data ' => ' The particular user id = $id ' ];
return json_encode ( $ response );
}
}
?> UserController 클래스에서 우리는 두 가지 기능 방법을 만들고 인코딩 된 JSON 형식을 재조정했습니다.
아직 완료되지 않았습니다. src/web.php 파일에 컨트롤러 클래스의 각 API 경로 URL을 등록해야합니다.
<?php
use PhpSlides Controller UserController ;
return [
' /api/users ' => UserController::class,
' /api/users/{id} ' => UserController::class
];
?>우리는 레지스터 API 경로를 반환했습니다. 이제 API가 소비 될 준비가되었습니다.
Phpslides를 사용하는 것을 즐기면서 Hurray !!!
더 많은 기능이 다음 버전으로 제공됩니다