Laravel

· Laravel
https://keenthemes.com/metronic/ Metronic - The World's #1 Selling Bootstrap Admin Template by KeenThemes keenthemes.com 적용된 UIhttps://preview.keenthemes.com/starterkit/metronic/laravel/user-management/users
· Laravel
주요기능 // Adding permissions to a user $user->givePermissionTo('edit articles'); // Adding permissions via a role $user->assignRole('writer'); $role->givePermissionTo('edit articles'); $user->can('edit articles); @can('edit articles) @endcan 사용자 모델에 HasRoles 추가 use Illuminate\Foundation\Auth\User as Authenticatable; use Spatie\Permission\Traits\HasRoles; class User extends Authenticatable { use Ha..
· Laravel
위치 : app/Providers/RouteServiceProvider.php  Laravel 프레임워크 실행 순서. 1. /index.php2. bootstrap/app.php3. app/Http/Kernel.php4. config/app.php-> providers =[]; 의 내용을 읽어 들인다. 여기에 포함된 내용이 RouteServiceProvider 이다. 역할 : route 분배를 위해서 실행된다. route 파일은 여러개로 분리해서 정리할 수 있다. 예제1.// RouteServiceProviderRoute::middleware('web')  ->group(base_path('routes/post.php')); // /routes/post.phpRoute::controller(\App\H..
· Laravel
라라벨에서는 개발을 위해서 데이타를 입력해야 하는것이 아니라, 테스트를 위한 데이타를 자동으로 입력시켜 주는 기능이 있다. Factory 를 데이타를 어떻게 입력할 것인가에 대한 정의이고 Seeder 는 Factory 에 정의된 내용으로 입력하는 동작을 한다. Factory 를 사용하기 위해서는 모델에 Factory 기능을 추가해야 한다. use Illuminate\Database\Eloquent\Factories\HasFactory; class User extends Authenticatable { use HasFactory; // ... } Factory 와 Seeder 생성하기 php artisan make:factory UserFactory php artisan make:seed UserSeede..
· Laravel
Resource 컨트롤러 간편하게 CRUD 를 구현하기 위해서 Resource Controller 를 만든다. php artisan make:controller PhotoController --resource php artisan make:controller PhotoController --model=Photo --resource // 가장 좋은 방법 php artisan make:model Photo -m php artisan make:controller PhotoController --model=Photo --resource --requests 위 명령어를 실행하면, 자동으로 컨트롤러에 CRUD 함수가 만들어진다. 리소스 컨트롤로는 간단하게 CRUD를 작성할 수 있고, 간단하게 라우딩 할 수 있다. ..
· Laravel
2가지 컨트롤러를 만들 수 있다. php artisan make:resource SampleResource php artisan make:resource SampleCollection 가장 기본 형태이다. 리스트와 조회가 가능한 형태로 가장 단순하고 편리한 형태이다. (이것만 사용해도 됨) app/Http/Resources/SampleResource.php class SampleResource extends JsonResource { public $preserveKeys = true; public static $wrap = 'sample'; /** * Transform the resource into an array. * * @return array */ public function toArray(Req..
· Laravel
Enum 을 이용한 권한을 구분하고 이를 이용해서 사용자의 API 권한을 설정하고 sanctum을 이용한 token 생성과 조회, 삭제 예제를 보여준다. Enum 생성 Enum 조회 Enum Validate 처리 Enum 생성하기 touch app/Enums/Ability.php 내용 입력 namespace App\Enums; enum Ability: string { case POST_CREATE = 'post:create'; case POST_READ = 'post:read'; case POST_UPDATE = 'post:update'; case POST_DELETE = 'post:delete'; } Controller 에서 데이타 넘기기 class TokenController extends Contr..
· Laravel
서비스 컨테이너(IoC Inversion of Control)는 객체의 생성 방법을 알고 있으며, 이를 대신해주고 필요한 곳에 주입해준다. ServiceProvider의 bind() 을 통해서 미리 설정된 객체를 연결시켜 둔다. 어떤 객체를 컨테이너에 요구하면 객체를 적절하게 생성해서 넘겨준다. 라라벨에서는 기본적으로 해결해주는 것도 있고 의존성 해결을 위해 바인딩을 거쳐야 하는 일도 있다. public function __invoke(Request $request) { return view('welcome'); } public function __invoke() { // $request = app(Request::class); $request = app->make(Request::class); retu..
· Laravel
토큰이란 무엇인가? 예전엔 버스를 탈때 버스 토큰을 구입해서 현금 대신 내고 탔다. Token(토큰) 은 버스를 타기 위해서 필요한 증명서 이다. 제한된 인터넷에서 정보를 조회하기 위해서는 인증 또는 권한이 있어야 한다. 웹브라우져가 아닌 경우에는 쿠키를 저장할 방법이 없기 때문에 무언가 인증할 도구가 필요하다. 매번 요청시마다 아이디와 비번을 요구할 수도 없는 노릇이고, 보안에 특히 취악하다. 이런 문제를 해결하는것이 토큰이다. 즉 토큰만 있다면 사용자를 확인 할 수 있다. 토큰은 어디에서 발급받나 ? 정보를 조회하고자 하는 서버에서 발급받고 서버에 보여주면 된다. Laravel 에서는 이런 기능을 손쉽게 구현해 주는 도구가 sanctum 이다. Laravel 10 이상에서는 기본으로 설치되어 있다. ..
· Laravel
app/Events 폴더 app/Listeners 폴더 발행자가 될 수도 있고, 구독자가 될 수 있다. 발행자는 여려명의 구독자를 갖을 수 있고, 구독자는 여러개의 발행자를 갖을 수 있다. 다대다 연결은 어떻게 할까 ? $listen = [] 통신은 이벤트 객체가 서로를 연결한다. Event 객체 생성php artisan make:event UserRegisterednamespace App\Events; use Illuminate\Queue\SerializesModels; use Illuminate\Foundation\Events\Dispatchable; use App\Models\User; class UserRegistered { use Dispatchable, SerializesModels; publ..
· Laravel
Request 를 상속해서 사용자 정의 Request 를 만든다. php artisan make:request StoreBlogPostRequest 로그인 인증 확인 authorize() public function authorize() { // Allow all authenticated users return auth()->check(); // Or, for more specific logic, like checking user roles or permissions return auth()->user()->hasRole('admin'); // Or, checking if the user is the owner of a resource return $this->user_id == auth()->id();..
· Laravel
config/session.php 'domain' => env('SESSION_DOMAIN', null), .env APP_URL=yourdomain SESSION_DOMAIN="${APP_URL}" artisan php artisan cache:clear php artisan config:clear 코드 수정 try { $githubUser = Socialite::driver('github')->user(); } catch (InvalidStateException $e) { $githubUser = Socialite::driver('github')->stateless()->user(); }
에그티비
'Laravel' 카테고리의 글 목록