라라벨 관련 내용

2024. 5. 30. 21:23개발/PHP

명령어

# 마이그레이션 관련 명령어
## 테이블 생성
php artisan make:migration create_user_info_table --create=user_info

## 테이블 수정
php artisan make:migration modify_users_table --table=users

## 마이그레이트(db에 반영)
php artisan migrate

## 마이그레이트 롤백
php artisan migrate:rollback

############################################################################################

# livewire 설치 및 사용
## livewire 설치
composer require livewire/livewire

## livewire component 생성
php artisan make:livewire ExampleComponent

############################################################################################

## laravel debugbar
composer require barryvdh/laravel-debugbar

php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

## laravel telescope (라라벨 모니터링 기능)
composer require laravel/telescope

php artisan telescope:install

## db 설정 후 php artisan migrate 실행
## {domain}/telescope 접속하면 화면 노출 됨

 

관련 내용 (psr 과도 관련이 있음)

- 클래스명 : StudlyCase(또는 PascalCase) 사용, PSR-1 및 PSR-4 권장 사항

ex) php artisan make:controller UserController

- 함수 및 메서드 : camelCase

ex) getUser(), getUserInfo()

- 변수 : camelCase (전역 및 지역 변수 모두 동일)

ex) userInfo, socialUserInfo 등

- 상수 : UPPER_SNAKE_CASE 또는 SCREAMING_SNAKE_CASE 사용

ex) MY_CONSTANT

 

## 라라벨 로그 일별로 남기는 방법 ##

logging.php > default 항목을 아래 코드로 변경

'default' => env('LOG_CHANNEL', 'daily')

.env 파일에서 LOG_CHANNEL 을 아래 코드로 변경

LOG_CHANNEL=daily

로그폴더 CHMOD, CHOWN 수정

chmod -R 775 storage/logs

chown -R www-data:www-data storage/logs

테스트로 로그 남겨보기

use Illuminate\Support\Facades\Log;

메서드에서 호출 : Log::info('MainController::index() called');

 

대량할당 & 개별할당

- 대량할당 : Model에 정의 된 테이블에 일괄적으로 데이터를 처리하는 방식

-- 문제점 : 처리하지 않아야 하는 필드 데이터도 처리해야 하는 경우

--- 이 부분은 해결할 방법으로 fillable, guarded로 처리

---- fillable : 가장 많이 사용하는 방식

---- guarded : 보호해야 할 필드가 몇개 되지 않는 경우

- 개별할당 : Model에 정의 된 테이블의 각 필드별로 하나씩 데이터를 처리하는 방식