> 백엔드 개발 > PHP 튜토리얼 > 프랙탈 : 실용적인 연습

프랙탈 : 실용적인 연습

Lisa Kudrow
풀어 주다: 2025-02-20 13:10:14
원래의
794명이 탐색했습니다.

Fractal: a Practical Walkthrough API 개발자는 종종 데이터베이스 스키마 변경의 도전에 직면합니다. 좋은 구현이 없으면 열 이름을 수정하려면 전체 모델을 리팩토링해야 할 수 있습니다. 이 기사는 Fractal을 모델과 JSON 출력 사이의 브리지로 사용하여 API 개발 프로세스를 단순화하는 방법을 보여줍니다.

키 포인트 :

Fractal은 모델과 JSON 출력 사이의 중간 계층으로 작용하는 PHP 프로젝트로 전체 모델을 리팩토링하지 않고 데이터베이스 스키마를 수정하여 API 개발을 단순화 할 수 있습니다.

Fractal은 작곡가와 함께 작동하며 PHP-FIG 및 단위 테스트 범위 사용 요구 사항을 충족하는 특별 패키지 리그의 일부입니다. 프랙탈 패키지는 Silex 및 Illuminate/Database를 사용하여 환경을 설정하고 프레임 워크를 만들 수 있습니다. 필요한 종속성이있는 composer.json 파일을 작성해야합니다. 출력 전에 프랙탈을 사용하면 최종 사용자가 눈치 채지 않고 기본 데이터 패턴이 변경되어 일관된 출력 구조를 유지하기위한 강력한 도구가되는 경우에도 데이터베이스 변경이 쉽게 변경 될 수 있습니다.

  • 프랙탈 백 Fractal은 PHP로 작성된 프로젝트이며 특별한 패키지 리그에 속합니다. 이 패키지는 PHP-FIG 및 단위 테스트 범위 사용과 같은 여러 요구 사항을 충족합니다. Fractal은 주로 Phil Sturgeon에 의해 개발되었으며 정기적 인 개선을 계속 받고 있습니다. 작곡가와 함께 사용할 수도 있습니다.
  • 환경을 설정
  • 데모를 위해 Silex 및 Illuminate/Database (Laravel의 ORM 구성 요소)를 사용하여 프레임 워크를 설정합니다. 당신이 그들 중 누구도 익숙하지 않더라도 중요하지 않습니다. 내가 할 일은 매우 간단하고 명확하며 가능한 한 명확하게 설명하겠습니다. 불분명 한 영역이 있으면 메시지를 남겨주십시오. 프레임 워크 설정을 시작하겠습니다. 단계를 따르지 않으려면 기사 끝에서 모든 코드를 다운로드 할 수 있습니다. 이제 루트 폴더 안에 새 폴더를 만듭니다. 필요한 모든 종속성이 포함 된 Composer.json 파일을 작성하여 시작합니다. 이 경우 : Silex 및 Illuminateatabase. 다음과 같은 composer.json 파일을 만듭니다
  • 이 패키지를 설치하려면
  • 를 사용하십시오.
  • 데이터베이스 온라인 음악 데이터베이스를 예로 들어 보겠습니다. 데이터베이스는 노래 제목, 아티스트 이름, 아티스트 웹 사이트, 앨범 제목, 출시 날짜 및 레코드 레이블 등 여러 노래에 대한 정보를 제공합니다. 처음에는이 모든 정보가 표에 저장됩니다. 직접 시도하려면이 기사의 코드 기반에서 파일 1.SQL을 다운로드하여 데이터베이스에서 실행하십시오.

코드 IlluminateAtabase와 함께 silex를 사용하려면 코드가 필요합니다. 앱 폴더에서 index.php라는 새 파일을 만듭니다. 여기서 Silex를 시작하고 데이터베이스에 연결하고 경로를 정의합니다.

{
  "require": {
    "silex/silex": "~1.2",
    "illuminate/database": "*"
  }
}
로그인 후 복사
첫 번째 줄은 작곡가의 자동로드 파일을 소개하는 것입니다. 그런 다음 새 Silex 응용 프로그램을 생성하고 Illuminate/Database를로드합니다. 그런 다음

로 시작하는 모든 URL이 컨트롤러/tracks.php에 의해 처리되도록 /tracks에 대한 컨트롤러를 만듭니다. Database.php 파일은 다음과 같습니다. 연결 설정을 변경해야합니다. /tracks 먼저, IlluminateAtabase Query Builder를 사용하여 ID, 이름 및 아티스트 목록을 얻은 다음 출력합니다. 출력은 다음 형식을 갖습니다

<?php
require("../vendor/autoload.php");

$app = new Silex\Application();

$app['database'] = require("database.php");

$app->mount('/tracks', include 'controllers/tracks.php');

$app->run();
로그인 후 복사
<<> (후속 내용은 원본 텍스트와 유사하지만 진술은 복제를 피하고 원래 의도를 변경하지 않도록 조정 및 단순화됩니다.)

공간 제한으로 인해 다음 단계 (포함). 첫 번째 API 버전, 트랙 세부 코드 및 정보 설명, 업데이트 된 API 버전 및 FAQ)는 생략되지만 주요 단계와 아이디어 개요는 유지됩니다. 독자는 전체 코드와보다 자세한 설명에 대한 원본 텍스트를 참조 할 수 있습니다.

<,> 대체로, 출력 전에 프랙탈을 추가함으로써 최종 사용자 경험에 영향을 미치지 않고 데이터베이스 변경을 쉽게 만들 수 있으므로 API의 안정성과 일관성을 유지할 수 있습니다.
<?php
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver' => 'mysql',
    'host' => 'localhost',
    'database' => 'musicstore',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
]);

use Illuminate\Events\Dispatcher;
use Illuminate\Container\Container;
$capsule->setEventDispatcher(new Dispatcher(new Container));

$capsule->setAsGlobal();

$capsule->bootEloquent();

return $capsule;
로그인 후 복사

위 내용은 프랙탈 : 실용적인 연습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿