일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Oracle
- linux
- java
- db
- jenkins
- IntelliJ
- Spring Batch
- ReactJS
- laravel
- devops
- it
- ubuntu
- 요리
- Gradle
- 맛집
- jsp
- Design Patterns
- AWS
- redis
- Spring
- tool
- JVM
- elasticsearch
- php
- javascript
- Web Server
- Spring Boot
- springboot
- Git
- MySQL
- Today
- Total
목록PHP/Laravel (14)
아무거나
[SyncTimes.php] use Illuminate\Database\Eloquent\Model; class SyncTimes extends Model { public $timestamps = false; protected $primaryKey = 'seq'; protected $connection = "auth"; protected $table = 'sync_times'; } // 조회할 빌더 내용 $syncTime = new SyncTimes(); $syncTimeResult = $syncTime->select('필드1', '필드2') ->where('조건1', {조건1}) ->where('조건2', {조건2}) ->orderBy('정렬1', 'desc') ->get(); [laravel 옐로퀀트..
# laravel 호스트 분기 - .env.dev .... env파일 기준 - bootstrap.php에 추가 [내용] //호스트체크 if(preg_match('/local\./', $_SERVER['HTTP_HOST'])){ $envFile= '.env.local'; } else if(preg_match('/dev\./', $_SERVER['HTTP_HOST'])){ $envFile= '.env.dev'; } else if(preg_match('/stage\./', $_SERVER['HTTP_HOST'])){ $envFile= '.env.stage'; } else { $envFile= '.env.live'; } $app->loadEnvironmentFrom($envFile); return $app;
# laravel 상수 관리 - config/constants.php 에 관리할 상수를 만든다 [ex] return [ 'EP' => array( 1000 => 'SUCCESS', 2001 => 'EMPTY TARGET' ) ]; - 사용할 부분에 Config 파사드 객체를 추가하여 사용한다 [ex] use Config // alias 잡혀있음 Config::get('constants.EP')
[laravel authentication] (https://laravel.kr/docs/5.3/authentication#introduction-database-considerations) 1. php artisan make:auth 명령어를 통하여 인증에서 필요한 모든 라우트와 뷰파일을 손쉽게 스캐폴딩한다. - 생성 # HomeController # resources/views/auth # resources/views/layouts # routes/web 2. 구글 시큐어 설정(gmail설정 test용) - https://www.google.com/settings/security/lesssecureapps 여기들어가서 허용을 한다. 3. 패스워드 리셋 - 메일 설정(/.env) MAIL_DRIVER=..
[laravel 이벤트 기능] 미들웨어는 컨트롤러를 감싸고 있는것 즉, 컨트롤러 전에 미리 실행된다. 미들웨어는 현재 리퀘스트에서 처리가되지만 이벤트는 다르게 처리될수도있다. 회원(event class) -> {웹 사이트 로그인} -> 웹 사이트(laravel) -> {이메일알림} -> 관리자(handler class) * php artisan make:event BeautyLogined 명령어로도 만들 수 있음 1. 이벤트 발생 - route에 추가 [소스] Route::get('event', function(Request $request) { Event::fire(new BeautyLogined($request->ip())); return redirect('/'); }); - app/Events/Be..
[laravel event & queue] 준비 - https://www.xpressengine.com/devlog/23038445 -> 5번관련자료 - /etc/hosts에 테스트에 필요한 도메인 설정 - homestead가 아닌경우, beanstalkd를 설치 # 리눅스의 경우, apt-get install beanstalkd # 맥의 경우, brew install beanstalkd - Ratchet(검색어: 구글에서 "ratchet php"), BrainSocket(검색어: 구글에서 "brainsocket php")찾아보기 * 사용용도 이벤트를 엄청나게 많이 보내야될 상황에서 큐를 사용한다. -> 백그라운드에서 대용량 파일을 처리한다던가 이메일을 보낸다던거 그런류의 오래걸리는 작업들을 전부 큐로 ..
file upload - 작성 - 컨트롤러에 소스 추가 [소스] // 만약 입력값중에 파일이 있으면 if(Input::hasFile('thumbnail')) { $thumbnail = Input::file('thumbnail'); $newFileName = time().'-'.$thumbnail->getClientOriginalName(); // 스토리지에 올려줌 ( storage_path 경로는 storage/files 라는 폴더 생성하여 경로 지정 ) // 만약 에러가나면 퍼미션문제일 가능성이 높음 $thumbnail->move(storage_path().'/files/', $newFileName); $lecture->thumbnail = $newFileName; }
pagination 라라벨에서는 Eloquent ORM을 사용할 때 paginate와 render 메소드를 사용하여 편리하게 page를 출력할 수 있다. - 컨트롤러(index메소드) [소스] public function index() { $lectures = Lecture::orderBy('created_at', 'desc')->paginate(5); return view('main', compact('lectures')); } - 뷰(index.blade.php) [소스] {!! $lectures->render() !!}
validator 브라우저에서 입력값의 유효성 검사를 위해서 제공되는 클래스(서버측에서도 체킹해야하기 때문.) 입력값과 Rule을 인자로 전달받아서 결과를 확인할 수 있다. 입력값 검증 실패시 $error 를 통해서 메세지를 뿌릴 수 있다. - 모델에 소스 추가 [소스] class Lecture extends Model { protected $table = 'lecture'; protected $primaryKey = 'no'; protected $fillable = ['title', 'done']; // 추가 public static $rules = [ 'title' => 'required' ]; } - 컨트롤러에 소스 추가(store) [소스] use Illuminate\Support\Facades\..
[DB 저장] DB에 저장하는 방법은 db파사드, 쿼리빌더, 옐로퀀트ORM 등이 있다. 1. DB파사드 사용 [소스내용] use DB; public function store(Request $request) { $title = $request->input('title'); DB::insert('insert into lecture (title) VALUES (?)', [$title]); } 2. 쿼리빌더 사용 [소스사용] use DB; public function store(Request $request) { $title = $request->input('title'); DB::table('lecture')->insert(['title' => $title]); // 쿼리빌더 } 3. 옐로퀀트ORM 으로 데..