>  기사  >  PHP 프레임워크  >  laravel에서 모델 변수를 호출하는 방법

laravel에서 모델 변수를 호출하는 방법

王林
王林원래의
2023-05-29 09:52:07769검색

Laravel은 웹 애플리케이션을 빠르게 구축하기 위한 강력한 MVC(모델-뷰-컨트롤러) 아키텍처를 제공하는 인기 있는 PHP 프레임워크입니다. Laravel에서 모델은 애플리케이션 데이터 관리의 핵심 부분입니다. 이 글에서는 Laravel에서 모델 변수를 호출하는 방법을 살펴보겠습니다.

Laravel에는 인스턴스 변수와 정적 변수라는 두 가지 주요 모델 변수 유형이 있습니다. 인스턴스 변수는 특정 모델 인스턴스에 속하며 모델에 정의됩니다. 정적 변수는 모델 클래스 내에서 정의되며 특정 모델 인스턴스와 연결되지 않습니다. 이 두 변수의 구현에 대해 별도로 논의하겠습니다.

인스턴스 변수

인스턴스 변수는 일반적으로 데이터베이스 테이블의 필드와 같은 모델의 속성을 저장하는 데 사용됩니다. Laravel에서 모델의 인스턴스 변수를 정의하고 액세스하는 방법은 무엇입니까? 예를 들어 name이라는 속성을 정의하는 User 모델이 있다고 가정해 보겠습니다. 모델 클래스에 기본 생성자를 생성하여 name 속성의 기본값을 지정할 수 있습니다.

<?php
 
namespace AppModels;
 
use IlluminateDatabaseEloquentModel;
 
class User extends Model
{
    public $name;
 
    public function __construct()
    {
        $this->name = 'John Doe';
    }
}

그런 다음 컨트롤러나 다른 곳에서 User 객체를 인스턴스화하고 해당 객체의 name 속성에 액세스할 수 있습니다.

$user = new User;
$name = $user->name; // 'John Doe'

꽤 간단하죠? 액세스 메소드를 통해 인스턴스 변수를 가져오거나 설정할 수도 있습니다. 예를 들어, getName 메소드를 모델에 추가하여 name 속성의 값을 얻을 수 있습니다:

public function getName()
{
    return $this->name;
}

그런 다음 이 메소드를 호출하여 인스턴스 변수의 값을 얻을 수 있습니다:

$user = new User;
$name = $user->getName(); // 'John Doe'

set 메소드를 통해 인스턴스 변수:

public function setName($name)
{
    $this->name = $name;
}

그런 다음 이 메소드를 호출하여 인스턴스 변수의 값을 설정할 수 있습니다.

$user = new User;
$user->setName('Jane Doe');
$name = $user->getName(); // 'Jane Doe'

정적 변수

정적 변수는 모델 클래스에 정의되며 특정 모델 인스턴스와 연결되지 않습니다. . 정적 변수는 일반적으로 모델 클래스에 대해 소프트 삭제가 활성화되어 있는지 여부와 같이 모델 클래스 자체와 관련된 정보를 저장하는 데 사용됩니다. Laravel에서 모델의 정적 변수를 정의하고 액세스하는 방법은 무엇입니까?

다음과 같이 모델 클래스에서 정적 변수를 정의할 수 있습니다:

<?php
 
namespace AppModels;
 
use IlluminateDatabaseEloquentModel;
 
class User extends Model
{
    public static $softDeleteEnabled = true;
 
    // ...
}

그런 다음 컨트롤러나 다른 위치에서 해당 정적 변수에 액세스할 수 있습니다.

$softDeleteEnabled = User::$softDeleteEnabled; // true

static 클래스에서 self 또는 static 키워드로 액세스할 수 있습니다. 변수. 모델 클래스의 정적 변수에 액세스하려면 self 키워드를 사용할 수 있습니다:

class User extends Model
{
    public static $softDeleteEnabled = true;
 
    public function isSoftDeleteEnabled()
    {
        return self::$softDeleteEnabled;
    }
}

그런 다음 메서드를 호출하여 정적 변수의 값을 확인할 수 있습니다:

$user = new User;
$softDeleteEnabled = $user->isSoftDeleteEnabled(); // true

정적 변수에 액세스하려면 하위 클래스에서는 정적 키워드를 사용할 수 있습니다:

class Admin extends User
{
    public function isSoftDeleteEnabled()
    {
        return static::$softDeleteEnabled;
    }
}

이제 Admin 개체를 인스턴스화하고 isSoftDeleteEnabled 메서드를 호출하여 정적 변수의 값을 확인할 수 있습니다.

$admin = new Admin;
$softDeleteEnabled = $admin->isSoftDeleteEnabled(); // true

결론

Laravel에서는 모델이 핵심 부분입니다. 애플리케이션 데이터를 관리하는 것입니다. 인스턴스 변수와 정적 변수는 두 가지 일반적인 모델 변수입니다. 인스턴스 변수는 일반적으로 데이터베이스 테이블의 필드와 같은 모델의 속성을 저장하는 데 사용됩니다. 정적 변수는 모델 클래스 자체와 관련된 정보를 저장하는 데 사용됩니다. 이 글에서는 Laravel에서 이 두 가지 유형의 변수를 정의하고 액세스하는 방법을 살펴보았습니다. 이 지식을 익히면 Laravel 애플리케이션을 더 잘 이해하고 개발할 수 있습니다.

위 내용은 laravel에서 모델 변수를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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