API 개발자는 종종 데이터베이스 스키마 변경의 도전에 직면합니다. 좋은 구현이 없으면 열 이름을 수정하려면 전체 모델을 리팩토링해야 할 수 있습니다. 이 기사는 Fractal을 모델과 JSON 출력 사이의 브리지로 사용하여 API 개발 프로세스를 단순화하는 방법을 보여줍니다.
Fractal은 모델과 JSON 출력 사이의 중간 계층으로 작용하는 PHP 프로젝트로 전체 모델을 리팩토링하지 않고 데이터베이스 스키마를 수정하여 API 개발을 단순화 할 수 있습니다.
Fractal은 작곡가와 함께 작동하며 PHP-FIG 및 단위 테스트 범위 사용 요구 사항을 충족하는 특별 패키지 리그의 일부입니다.
코드
로 시작하는 모든 URL이 컨트롤러/tracks.php에 의해 처리되도록 공간 제한으로 인해 다음 단계 (포함). 첫 번째 API 버전, 트랙 세부 코드 및 정보 설명, 업데이트 된 API 버전 및 FAQ)는 생략되지만 주요 단계와 아이디어 개요는 유지됩니다. 독자는 전체 코드와보다 자세한 설명에 대한 원본 텍스트를 참조 할 수 있습니다. {
"require": {
"silex/silex": "~1.2",
"illuminate/database": "*"
}
}
/tracks
에 대한 컨트롤러를 만듭니다. Database.php 파일은 다음과 같습니다. 연결 설정을 변경해야합니다.
/tracks
<?php
require("../vendor/autoload.php");
$app = new Silex\Application();
$app['database'] = require("database.php");
$app->mount('/tracks', include 'controllers/tracks.php');
$app->run();
<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!