찾다
PHP 프레임워크LaravelLaravel 개발: CRUD 작업에 Laravel Nova를 사용하는 방법은 무엇입니까?

Laravel은 오늘날 가장 인기 있는 PHP 프레임워크 중 하나로 풍부한 기능과 편리한 개발 경험을 제공합니다. Laravel Nova는 Laravel 애플리케이션을 위해 특별히 설계된 관리 인터페이스 빌더로, 백엔드 관리 패널을 보다 쉽게 ​​생성하고 관리할 수 있도록 도와줍니다. 이번 글에서는 CRUD 작업에 Laravel Nova를 사용하는 방법을 살펴보겠습니다.

CRUD 작업이란 무엇인가요?

CRUD는 "만들기, 읽기, 업데이트 및 삭제"의 약어입니다. 이 네 가지 작업은 모든 애플리케이션의 기본 기능입니다. CRUD 작업을 통해 데이터베이스의 데이터 추가, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 구현할 수 있습니다. Laravel 프레임워크에서는 Eloquent ORM을 사용하여 이러한 작업을 쉽게 구현할 수 있습니다. 그러나 보다 사용자 친화적인 관리 패널을 원한다면 Laravel Nova가 훌륭한 솔루션을 제공합니다.

Laravel Nova 설치

Laravel Nova를 사용하기 전에 먼저 Laravel Nova를 설치해야 합니다. Laravel Nova는 상용 제품이며 공식적으로 30일 무료 평가판 기간을 제공합니다. 사용해 보고 싶다면 https://nova.laravel.com/으로 이동하여 계정을 만들고 평가판 라이선스를 얻을 수 있습니다.

설치가 완료되면 Laravel 애플리케이션에 Nova를 추가할 수 있습니다. 이 프로세스를 완료하려면 작곡가를 사용할 수 있습니다. 콘솔의 프로젝트 폴더로 이동하여 다음 명령을 실행하세요.

composer require laravel/nova

또한 Nova 서비스 공급자도 등록해야 합니다. config/app.php 파일에서 공급자 배열을 찾아 다음 코드를 추가합니다.

LaravelNovaNovaServiceProvider::class,

위 명령을 실행한 후 다음 명령을 실행해야 합니다.

php artisan nova:install

이 명령은 Nova 구성 파일과 리소스 디렉터리를 생성합니다. 당신의 신청을 위해. 또한 Nova 게시 명령을 사용하여 Nova의 CSS 및 JavaScript 파일을 public/vendor/nova 디렉터리에 게시해야 합니다.

php artisan vendor:publish --tag=nova-assets

다음으로 config 폴더의 auth.php 파일에서 드라이버를 세션으로 설정해야 합니다. Nova의 인증 시스템이 제대로 작동하도록 하세요:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
],

마지막으로 Nova에 대한 인증 경로와 테이블을 생성하려면 다음 명령을 실행해야 합니다:

php artisan nova:install

이제 Laravel Nova의 설치 및 구성이 완료되었습니다.

CRUD 작업에 Laravel Nova 사용

다음으로 CRUD 작업에 Laravel Nova를 사용하는 방법을 살펴보겠습니다. 간단한 예부터 시작하겠습니다. Laravel Nova를 사용하여 새 블로그 애플리케이션을 만들어 보겠습니다. 이 애플리케이션에서 블로그 게시물을 생성, 보기, 업데이트 및 삭제할 수 있습니다.

1. 모델 생성 및 데이터베이스 마이그레이션

먼저 새로운 모델을 생성하고 데이터베이스 마이그레이션을 해야 합니다. 이 프로세스를 완료하기 위해 Laravel의 Artisan 명령줄 도구를 사용할 것입니다. 콘솔에서 프로젝트 폴더로 전환하고 다음 명령을 입력합니다.

php artisan make:model Blog -m

이 명령은 Blog라는 새 모델을 생성하고 create_blogs_table이라는 새 데이터베이스 마이그레이션 파일도 생성합니다.

이제 데이터베이스 마이그레이션 파일에서 "blogs" 테이블의 스키마를 정의해야 합니다. 데이터베이스/마이그레이션 디렉터리에서 이 파일을 찾아 엽니다. 다음과 같은 코드가 표시됩니다.

public function up()
{
    Schema::create('blogs', function (Blueprint $table) {
        $table->id();
        $table->timestamps();
    });
}

public function down()
{
    Schema::dropIfExists('blogs');
}

이 예에서는 ID 및 타임스탬프 필드만 정의했습니다. 필요에 따라 다른 필드를 조정하고 추가할 수 있습니다. 완료 후 데이터베이스 마이그레이션을 실행합니다.

php artisan migrate

2. 리소스 모델 정의

다음으로 리소스 모델을 정의해야 합니다. 리소스 모델은 Laravel Nova와 Eloquent 모델 사이의 다리 역할을 합니다. 우리는 Laravel Nova에게 어떤 데이터베이스 테이블이 연관될 것인지 알려주기 위해 자원 모델을 정의합니다. 자원 모델을 작성하려면 다음 명령을 입력하십시오.

php artisan nova:resource Blog

이 명령은 app/Nova 디렉토리에 Blog.php라는 새 파일을 작성합니다. 이 파일을 열면 다음 코드가 표시됩니다.

<?php

namespace AppNova;

use IlluminateHttpRequest;
use LaravelNovaFieldsID;
use LaravelNovaFieldsText;
use LaravelNovaFieldsNumber;
use LaravelNovaHttpRequestsNovaRequest;

class Blog extends Resource
{
    /**
     * The model the resource corresponds to.
     *
     * @var string
     */
    public static $model = '';

    /**
     * The single value that should be used to represent the resource when being displayed.
     *
     * @var string
     */
    public static $title = 'id';

    /**
     * The columns that should be searched.
     *
     * @var array
     */
    public static $search = [];

    /**
     * Get the fields displayed by the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),

            Text::make('Title')->sortable(),

            Number::make('Views')->sortable(),

            Text::make('Content')->hideFromIndex(),
        ];
    }

    /**
     * Get the cards available for the request.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function cards(Request $request)
    {
        return [];
    }

    /**
     * Get the filters available for the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function filters(Request $request)
    {
        return [];
    }

    /**
     * Get the lenses available for the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function lenses(Request $request)
    {
        return [];
    }

    /**
     * Get the actions available for the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function actions(Request $request)
    {
        return [];
    }
}

이 파일에서는 Blog라는 새 리소스 모델을 정의합니다. 이제 이 모델을 Laravel 모델과 연결해야 합니다. 모델 파일을 열고 상단에 다음 코드를 추가하면 됩니다:

namespace App;

use IlluminateDatabaseEloquentModel;

class Blog extends Model
{
    //
}

3. 리소스를 nova에 연결

이제 블로그 리소스를 Laravel Nova에 연결해야 합니다. 이를 위해 app/Nova/NovaServiceProvider.php 파일을 열고 부팅 방법에 다음을 추가할 수 있습니다:

use AppNovaBlog;

// ...

public function boot()
{
    // ...

    Nova::resources([
        Blog::class,
    ]);
}

이제 Laravel Nova를 성공적으로 구성했으므로 애플리케이션으로 가서 무엇을 볼 수 있는지 살펴볼 수 있습니다. 그것은처럼 보입니까?

4. CRUD 작업 수행

이제 Laravel Nova를 성공적으로 설정하고 블로그 리소스를 연결했습니다. 관리자 패널에 액세스하여 CRUD 작업을 시작할 수 있습니다.

콘솔에서 다음 명령을 실행하여 로컬 개발 서버를 시작하세요.

php artisan serve

그런 다음 http://localhost:8000/nova URL을 열면 로그인 페이지가 표시됩니다. Laravel 애플리케이션에서 기존 계정을 사용하여 로그인하세요.

이제 상단 메뉴에서 "리소스" 드롭다운 메뉴를 클릭하고 블로그를 선택할 수 있습니다. 여기에는 빈 블로그 목록이 표시됩니다.

Laravel Nova를 사용하여 블로그 게시물을 작성, 읽기, 업데이트 및 삭제할 수 있습니다. 페이지 오른쪽 상단에 있는 "새 블로그" 버튼을 클릭하고 데이터를 입력할 수 있습니다. 새 블로그 게시물이 추가될 때마다 목록이 자동으로 업데이트되어 최신 데이터가 표시됩니다.

블로그 게시물의 이름을 클릭하면 보기 및 편집 모드로 들어가 블로그 게시물 업데이트 또는 삭제와 같은 다른 작업을 수행할 수 있습니다. 또한 필터 기능을 사용하면 특정 블로그 게시물을 빠르게 찾을 수 있고, 검색 기능을 사용하면 모든 블로그 게시물에서 키워드를 검색할 수 있습니다.

요약

Laravel Nova를 사용하면 Laravel 애플리케이션의 백엔드 관리자 패널을 쉽게 생성하고 관리할 수 있습니다. 이 튜토리얼에서는 Laravel Nova를 사용하여 간단한 CRUD 애플리케이션을 구축하는 방법을 배웠습니다. 실제 프로젝트에서도 비슷한 방법을 사용하고 Laravel Nova의 고급 기능을 마스터하여 더 복잡한 애플리케이션을 구현할 수 있습니다.

위 내용은 Laravel 개발: CRUD 작업에 Laravel Nova를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Laravel의 영향 : 웹 개발 단순화Laravel의 영향 : 웹 개발 단순화Apr 21, 2025 am 12:18 AM

Laravel은 웹 개발 프로세스를 단순화하고 강력한 기능을 제공함으로써 두드러집니다. 장점은 1) 간결한 구문 및 강력한 ORM 시스템, 2) 효율적인 라우팅 및 인증 시스템, 3) 풍부한 타사 라이브러리 지원으로 개발자가 우아한 코드 작성에 집중하고 개발 효율성을 향상시킬 수 있도록합니다.

Laravel : 프론트 엔드 또는 백엔드? 프레임 워크의 역할을 명확히합니다Laravel : 프론트 엔드 또는 백엔드? 프레임 워크의 역할을 명확히합니다Apr 21, 2025 am 12:17 AM

LaravelispredominallyAbackendFramework, DesignForserver-SideLogic, DatabaseManagement 및 inapidevelopment, thitalSupportsfrontendDevelopment와 함께 BithBladetemPlates.

Laravel vs. Python : 성능과 확장 성 탐색Laravel vs. Python : 성능과 확장 성 탐색Apr 21, 2025 am 12:16 AM

Laravel과 Python은 성능과 확장 성 측면에서 고유 한 장점과 단점이 있습니다. Laravel은 비동기 처리 및 대기열 시스템을 통해 성능을 향상 시키지만 PHP 제한으로 인해 높은 동시성이있을 때 병목 현상이있을 수 있습니다. Python은 비동기 프레임 워크 및 강력한 라이브러리 생태계와 잘 어울리지 만 다중 스레드 환경에서 GIL의 영향을받습니다.

Laravel vs. Python (프레임 워크 포함) : 비교 분석Laravel vs. Python (프레임 워크 포함) : 비교 분석Apr 21, 2025 am 12:15 AM

Laravel은 팀이 PHP에 익숙하고 풍부한 기능이 필요한 프로젝트에 적합하지만 Python 프레임 워크는 프로젝트 요구 사항에 따라 다릅니다. 1. Laravel은 빠른 개발과 유연성이 필요한 프로젝트에 적합한 우아한 구문 및 풍부한 기능을 제공합니다. 2. Django는 "배터리 포함"개념으로 인해 복잡한 응용 프로그램에 적합합니다. 3. 플라스크는 빠른 프로토 타입과 소규모 프로젝트에 적합하여 유연성이 뛰어납니다.

Laravel과의 프론트 엔드 : 가능성 탐색Laravel과의 프론트 엔드 : 가능성 탐색Apr 20, 2025 am 12:19 AM

Laravel은 프론트 엔드 개발에 사용될 수 있습니다. 1) 블레이드 템플릿 엔진을 사용하여 HTML을 생성하십시오. 2) Vite를 통합하여 프론트 엔드 리소스를 관리합니다. 3) 스파, PWA 또는 정적 웹 사이트를 구축하십시오. 4) 라우팅, 미들웨어 및 eloquentorm을 결합하여 완전한 웹 애플리케이션을 만듭니다.

PHP 및 Laravel : 서버 측 응용 프로그램 구축PHP 및 Laravel : 서버 측 응용 프로그램 구축Apr 20, 2025 am 12:17 AM

PHP 및 Laravel을 사용하여 효율적인 서버 측 응용 프로그램을 구축 할 수 있습니다. 1.PHP는 웹 개발에 적합한 오픈 소스 스크립팅 언어입니다. 2. Laravel은 개발을 단순화하기 위해 라우팅, 컨트롤러, eloquentorm, 블레이드 템플릿 엔진 및 기타 기능을 제공합니다. 3. 캐싱, 코드 최적화 및 보안 조치를 통해 응용 프로그램 성능 및 보안을 향상시킵니다. 4. 응용 프로그램의 안정적인 운영을 보장하기위한 테스트 및 배포 전략.

Laravel vs. Python : 학습 곡선과 사용 편의성Laravel vs. Python : 학습 곡선과 사용 편의성Apr 20, 2025 am 12:17 AM

Laravel과 Python은 학습 곡선과 사용 편의성 측면에서 고유 한 장점과 단점이 있습니다. Laravel은 웹 응용 프로그램의 빠른 개발에 적합합니다. 학습 곡선은 비교적 평평하지만 고급 기능을 마스터하는 데 시간이 걸립니다. 파이썬의 문법은 간결하고 학습 곡선은 평평하지만 동적 유형 시스템은 조심해야합니다.

Laravel의 강점 : 백엔드 개발Laravel의 강점 : 백엔드 개발Apr 20, 2025 am 12:16 AM

백엔드 개발에서 Laravel의 장점은 다음과 같습니다. 1) 우아한 구문 및 Eloquentorm은 개발 프로세스를 단순화합니다. 2) 풍부한 생태계 및 적극적인 커뮤니티 지원; 3) 개발 효율성 및 코드 품질 향상. Laravel의 디자인을 통해 개발자는 강력한 기능과 도구를 통해보다 효율적으로 개발하고 코드 품질을 향상시킬 수 있습니다.

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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF

mPDF

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

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.