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

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으로 문의하세요.
Laravel의 플래시 세션 데이터로 작업합니다Laravel의 플래시 세션 데이터로 작업합니다Mar 12, 2025 pm 05:08 PM

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

Laravel Back End : Part 2, React가있는 React 앱 구축Laravel Back End : Part 2, React가있는 React 앱 구축Mar 04, 2025 am 09:33 AM

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법Mar 14, 2025 am 11:42 AM

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Laravel 테스트에서 단순화 된 HTTP 응답 조롱Laravel 테스트에서 단순화 된 HTTP 응답 조롱Mar 12, 2025 pm 05:09 PM

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> ​​'Hello World', 'github.com'=> ​​[ 'foo'=> 'bar'], 'forge.laravel.com'=>

Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트Mar 13, 2025 pm 12:08 PM

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

라 라벨에서 알림라 라벨에서 알림Mar 04, 2025 am 09:22 AM

이 기사에서는 Laravel 웹 프레임 워크에서 알림 시스템을 탐색 할 것입니다. Laravel의 알림 시스템을 사용하면 다른 채널을 통해 사용자에게 알림을 보낼 수 있습니다. 오늘은 알림을 보낼 수있는 방법에 대해 논의합니다

PHP에서 늦은 정적 결합의 개념을 설명하십시오.PHP에서 늦은 정적 결합의 개념을 설명하십시오.Mar 21, 2025 pm 01:33 PM

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

PHP 로깅 : PHP 로그 분석을위한 모범 사례PHP 로깅 : PHP 로그 분석을위한 모범 사례Mar 10, 2025 pm 02:32 PM

PHP 로깅은 웹 애플리케이션을 모니터링하고 디버깅하고 중요한 이벤트, 오류 및 런타임 동작을 캡처하는 데 필수적입니다. 시스템 성능에 대한 귀중한 통찰력을 제공하고 문제를 식별하며 더 빠른 문제 해결을 지원합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.