Laravel로 개발할 때는 종종 특정 기능이나 클래스 라이브러리를 재사용 해야하는 시나리오를 만듭니다. 프로젝트의 유지 관리 및 코드 재사용을 향상시키기 위해 사용자 정의 기능 파일 또는 클래스 라이브러리를 도입하는 방법을 마스터하는 것이 매우 도움이됩니다.
Laravel Project의 앱/ 디렉토리에 사용자 정의 코드 로직을 저장하는 새로운 하위 디렉토리 (예 : App/ Custom )를 작성하는 것이 좋습니다. 이 디렉토리에서 새 디렉토리를 만들 수 있습니다.
Laravel 프로젝트에 사용자 정의 기능을로드하려면 일반적으로 서비스 제공 업체에서 수동 소개가 필요합니다. 예를 들어, 앱/제공자/appserviceprovider.php 의 register () 메소드에 다음 코드를 추가하십시오.
public function register()
{
require_once app_path('Custom/functions.php');
}
이렇게하면 Laravel이 시작될 때마다 기능 파일이 자동으로로드됩니다.
Laravel이 클래스 라이브러리를 자동으로 인식 할 수 있도록 Composer의 PSR-4 메커니즘을 통해 구현할 수 있습니다. composer.json 파일의 자동로드 섹션에 다음 구성을 추가하십시오.
"autoload": {
"psr-4": {
"App\\": "app/",
"Custom\\": "app/Custom/"
}
},
수정이 완료된 후 다음 명령을 실행하여 자동 로딩을 업데이트하십시오.
composer dump-autoload
사용자 정의 클래스 구성이 완료되면 컨트롤러, 서비스 클래스 또는 기타 파일에서 정상적으로 사용할 수 있습니다.
use Custom\CustomClass;
$customInstance = new CustomClass();
클래스 파일의 네임 스페이스가 다음과 같이 디렉토리 구조와 일치하는지 확인하십시오.
namespace Custom;
class CustomClass {
// 클래스 논리
}
블레이드 템플릿에서 사용자 정의 기능을 호출하려면 서비스 제공 업체의 boot () 메소드에 블레이드 지시문을 등록 할 수 있습니다.
public function boot()
{
Blade::directive('customFunction', function ($expression) {
return "<?php echo custom_function($expression); ?>";
});
}
등록이 성공하면 다음 방법을 사용하여 블레이드 파일로 호출 할 수 있습니다.
@customFunction('example')
이렇게하면 템플릿 코드를 깔끔하고 확장 가능하게 유지합니다.
이 기사의 소개를 통해 Laravel Project에서 사용자 정의 기능 및 클래스 라이브러리를 소개하는 방법을 마스터했다고 생각합니다. 기능 파일을 수동으로 도입하든 작곡가 구성을 통해 클래스 라이브러리를 자동으로로드하든 이러한 기술은 개발 효율성 및 코드 구성을 크게 향상시킬 수 있습니다.