이것은 테스트 및 선택적 기능 분기로 지원되는 AdminLTE 3.0 테마, Alpinejs 2.0, Livewire 2.0을 사용하는 독선적인 Laravel 8.0 관리자 패널 빌드에 대한 상용구입니다.
나는 Laravel Castra에서 적극적으로 작업하고 있습니다. 같은 아이디어, 다른 도구(Hotwire Turbo).
때로는 패키지가 너무 크거나 사용하기 너무 번거롭습니다 . 다른 경우 패키지에는 찾고 있는 중요한 기능이 없으며 이를 해결하기 위해 몇 가지 해킹을 수행하고 있습니다.
당신이 놓치고 있는 것은 코드를 제어하는 것인데, 이제 그것을 갖게 되었습니다! 새로운 사용자가 추가되는 방식이 마음에 들지 않습니다. 괜찮아요. 원하는 대로 코드를 수정할 수 있습니다. 더 이상 패키지를 포크하거나 코드를 조작할 필요가 없습니다. 아이디어는 표준 기능의 브랜치를 생성하고 다른 사람들이 이를 마스터 브랜치에 병합할 수 있도록 하는 것입니다.
지원되는 기능 분기 목록은 다음과 같습니다. 이를 마스터에 병합하면 새로운 기능이 잠금 해제됩니다.
Laravel을 설치한 후 다음 명령을 실행해야 합니다:
git clone https://github.com/jcergolj/laravellte.git
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run dev
composer cghooks update
php artisan migrate:fresh --seed
현실을 직시하자. 때때로 우리는 엉성하고 코드를 최대한 관리하지 않습니다. 개발자의 부담을 최대한 덜어드리기 위해 몇 가지 유용한 패키지(아이러니하지 않나요)를 추가했습니다.
"php artisan insights --no-interaction --min-quality=90 --min-complexity=85 --min-architecture=90 --min-style=95"
CRUD 작업의 경우 내장 파일 스캐폴딩 명령 사용을 고려할 수 있습니다. 다음과 같이 색인, 생성, 표시, 편집 및 삭제 작업을 위한 파일을 생성합니다.
php artisan make:ltd-component bla --index --create --show --edit --delete
모든 옵션을 생략할 수 있습니다. 원하는 경우 원하는 대로 stubs
파일을 업데이트할 수 있습니다. 스캐폴드 파일에는 코드 수정을 상기시켜주는 주석이 있습니다. index-review
, create-review
, show-review
, edit-review
, delete-review
입력하여 찾을 수 있습니다. 팩토리 및 모델 스캐폴딩은 이 명령에 포함되지 않습니다.
Laravellte는 역할-권한 기반 인증 시스템을 사용합니다. 관리자 역할이 있는 사용자만 새 역할을 추가하고 권한을 할당할 수 있습니다.
새로운 리소스의 경우 권한은 PermissionsTableSeeder를 통해 추가됩니다. 관례적으로 주요 권한 유형은 index , create , edit , show 및 delete 이며, 자원은 복수형 접두사로 표시됩니다. 예: users.index . 그렇게 말하면서, 당신은 자유롭게 자신을 추가할 수 있습니다. 그러나 코드를 검토/수정해야 합니다.
규칙에 따라 경로 이름은 index , create , edit , show 및 delete 유형 중 하나여야 합니다. 예를 참조하세요.
Livewire 구성 요소의 경우 이름 지정 규칙은 다음과 같습니다. 해당 유형 중 하나와 리소스 이름, 구성 요소를 차례로 사용해야 합니다. 예: IndexUserComponent 모든 Livewire 구성 요소는 HasLivewireAuth 특성을 사용해야 합니다. 여기에 구현이 있습니다.
역할에 권한을 추가할 때 owner_restricted 라는 추가 파일이 있습니다. 소유자 제한 필드가 모든 인덱스 페이지에 대해 true 인 경우 해당 권한이 있는 사용자는 자체 리소스만 볼 수 있습니다. 그러나 이것이 작동하려면 리소스에 owner_id 파일이 있어야 하고 부팅 방법에 VisibleTo 전역이 연결되어 있어야 합니다.
표시 , 편집 및 삭제 유형에 대해 소유자 제한 필드가 true 인 경우 사용자는 자신이 소유한 리소스만 수정할 수 있습니다.
생성 유형의 경우 소유자 제한은 무시됩니다.
그 핵심에는 인증을 처리하는 ForRouteGate가 있습니다. 중요한 언급은 Authorization Middleware입니다.
관리자 역할 권한 제한의 경우 적용되지 않습니다.
MIT 라이선스에 따라 라이선스가 부여됨
야네즈 세르골리 | 호라시오 데지오르기 | 크리스 톰슨 | 마두카 자얄라스 |