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
php artisan migrate ## migration
php artisan optimize:clear
## db 설정 후 php artisan migrate 실행
## {domain}/telescope 접속하면 화면 노출 됨
#######################################################################################
## 명령어 모음
# 기본 컨트롤러
php artisan make:controller PostController
# 리소스 컨트롤러( index/create/store/show/edit/update/destroy )
php artisan make:controller PostController -r
# API 전용 리소스 컨트롤러( create/edit 제외 )
php artisan make:controller PostController --api
# 단일 액션( __invoke ) 컨트롤러
php artisan make:controller PublishPostController -i
# 모델을 연결해서 타입힌트/리소스 메서드 골격 생성
php artisan make:controller PostController -r --model=Post
# (선택) 요청 폼 리퀘스트도 같이 만들어달라면 (라라벨 버전에 따라)
php artisan make:controller PostController -r --model=Post --requests
# 기본 모델 (app/Models/Post.php)
php artisan make:model Post
# 모델 + 마이그레이션
php artisan make:model Post -m
# 모델 + 마이그레이션 + 리소스 컨트롤러
php artisan make:model Post -mcr
# 모델 + 팩토리 + 시더
php artisan make:model Post -fs
# 한 번에 전부( migration, factory, seeder, controller, resource )
php artisan make:model Post -a
# 피벗 모델(중간 테이블용 관례)
php artisan make:model PostTag --pivot
# 테이블 생성 마이그레이션
php artisan make:migration create_posts_table --create=posts
# 테이블 수정(컬럼 추가/변경 등)
php artisan make:migration add_published_at_to_posts_table --table=posts
# 테이블 생성 마이그레이션
php artisan make:migration create_posts_table --create=posts
# 테이블 수정(컬럼 추가/변경 등)
php artisan make:migration add_published_at_to_posts_table --table=posts
# 특정 경로(모듈/패키지 등)로 생성
php artisan make:migration create_logs_table --create=logs --path=database/migrations/logs
# 적용
php artisan migrate
# 상태 확인
php artisan migrate:status
# 최근 배치만 롤백(기본 1단계)
php artisan migrate:rollback
# 단계 지정 롤백
php artisan migrate:rollback --step=2
# 전체 리셋(모든 마이그레이션 롤백)
php artisan migrate:reset
# 새로고침(리셋 후 다시 migrate)
php artisan migrate:refresh
php artisan migrate:refresh --seed # 시더 함께 실행
# 완전 새로(모든 테이블 드랍 후 migrate)
php artisan migrate:fresh
php artisan migrate:fresh --seed
# 단일 파일만 적용(경로 지정)
php artisan migrate --path=database/migrations/2025_10_29_123456_create_posts_table.php
# 다른 커넥션으로 실행
php artisan migrate --database=mysql_replica
# 운영 환경에서 강제 실행(주의)
php artisan migrate --force
# 시더 만들기
php artisan make:seeder PostSeeder
# 시더 실행(기본 DatabaseSeeder 호출)
php artisan db:seed
# 특정 시더만 실행
php artisan db:seed --class=PostSeeder
# 마이그레이션과 함께 시더
php artisan migrate --seed
# 팩토리 만들기
php artisan make:factory PostFactory --model=Post
# 1) 새 리소스 한 방에 세팅(모델/마이그/컨트롤러/팩토리/시더)
php artisan make:model Post -a
# 2) 모델 + 리소스 컨트롤러까지
php artisan make:model Comment -mcr
# 3) 테이블 생성 -> 마이그레이트 -> 기본 데이터 투입
php artisan make:migration create_tags_table --create=tags
php artisan migrate --seed
# 라우트 목록 보기
php artisan route:list
# 캐시/설정 캐시 비우기
php artisan optimize:clear
# Tinker(인터랙티브 콘솔)
php artisan tinker
관련 내용 (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에 정의 된 테이블의 각 필드별로 하나씩 데이터를 처리하는 방식
자동 빌드 되도록 처리
- blade 템플릿에서 tailwind css 및 markup 변경 시 npm run build 를 하지 않으면 수정이 안될 수 있음
- php artisan serve & npm run dev 같이 실행해 놓으면 자동 빌드 됨
'개발 > PHP' 카테고리의 다른 글
| wsl2 ubuntu 22.04 - codeinigter4 설치 및 관련 명령어 (0) | 2025.03.04 |
|---|---|
| [Laravel-Docker-Sail] 관련 내용 (0) | 2024.11.20 |
| Laravel 패키지 Socialite 설정 및 사용방법 (0) | 2023.07.22 |
| Laravel 설치 및 초기 설정 (0) | 2023.07.15 |
| ubuntu 22.04 환경에서 php7 & codeignier3 버전 설치 및 진행 (0) | 2023.06.21 |