브래의 슬기로운 코딩 생활
PHP Framework 실무 2주차 정리 (Laravel) 본문
이론
Framework & MVC Programming
Framework
MVC 프로그래밍
2) 모듈화 및 정형화로 인해 협력 작업 가능
Blade 템플릿 엔진
Blade 파일 : 파일이름.blade.php
1. {{ 변수명 }} //<?=변수명; ?>
2. @if
…
@elseif
…
@else
…
@endif
3. @switch
@case( 값 )
…
@break
@default
…
@endswitch
3. @for(초기값; 조건; 증감)
…
@endfor
4. @foreach($배열 as $변수)
…
@endforeach
5. @while(조건)
…
@endwhile
6. {{-- 주석 --}}
7. @incldue('파일이름')
8. @csrf = <input type="hidden" name="_token" value="난수값">
9. @method('PUT or PATCH or DELETE')
= <input type="hidden" name="_method" value="PUT">
10. @error {{ $message }} @enderror
11. @yield('이름')
@extends('이름')
@section('이름') … @endsection
Routing
Routing
- 프로그램에서 요청한 URL에 따라 어떤 파일들을 실행해야 하는지 그 경로를 알려주는 역할
예)
Route::HTTP함수( 'URI경로', '콜백함수' );
Route::redirect( '/이 경로를', '/다른 경로로' );
Route::view( '경로', 'view폴더의 '웹문서' );
등록 : Route::get('member', [MemberController::class, 'index']);
실행 : http:://localhost/member
= MemberController클래스안의 index함수 호출
RESTFull Resource Router
Route::resource( 'member', Member::class );
•목록: Route::get( '/member', [MemberController::class,'index'] );
•신규: Route::get( '/member/create', [MemberController::class,'create'] );
•추가: Route::post( '/member', [MemberController::class,'store'] );
•보기: Route::get ( '/member/{id}', [MemberController::class,'show'] );
•편집: Route::get ( '/member/{id}/edit', [MemberController::class,'edit'] );
•수정: Route::patch( '/member/{id}', [MemberController::class,'update'] );
•삭제: Route::delete( '/member/{id}', [MemberController::class,'destroy'] );
Database
Row Query
use Illuminate\Support\Facades\DB;
Select 함수 :
$sql = 'select * from members where id=2';
$result = DB::select($sql);
$result = DB::select('select * from members where id=?', [2]);
insert 함수 :
$data = array(’hong’, ‘1234’, ‘홍길동’);
$result = DB::insert('insert into members (uid, pwd, name) values (?, ?, ?)', $data );
update 함수 :
$result = DB::update('update members set rank=? where id=?', [1, 5] );
delete 함수 :
$result = DB::delete('delete from members where id=?', [5] );
statement 함수 :
$result = DB::statement( 'drop table members' );
Query Builder
$변수명 = DB::table('테이블명') -> 함수1 -> … … … -> 함수n
Select 함수 :
DB::table('jangbu')->leftjoin(‘product’,‘jangbu.product_id’,‘=’,‘product.id’)
->leftjoin(‘gubun’,‘jangbu.gubun_id’,‘=’,‘gubun.id’)
->select(‘jangbu.*’,‘gubun.name’,‘product.name’)->get();
$id= DB::table('테이블명')->insertGetId( [‘name’=>’홍길동‘, ’uid’=>’idhgd’, ‘pwd’=>’1234’] );
// 방금 추가한 레코드의 id값을 알아내는 경우
Eloquent ORM (object Relation Mapper)
php artisan make:model 모델클래스명 –m = 모델클래스명.php 자동생성
선언 : use App/모델클래스명;
호출 : 모델클래스명::함수1 -> … -> 함수n;
use App/Member;
$result = Member::orderby('name,'ase')->get();
모델클래스명.php
<?
namespace App;
use Illuminate\Database\Eloquent\Model;
class 모델클래스명 extends Model
{
protected $fillable = {
'필드이름1',
'필드이름2',
…
}
}
?>
모델클래스명Controller.php
1) 새 자료 저장
public function store(Request $request)
{
$row = new Member([
'필드1' => $request->input('필드1'),
'필드2' => $request->input('필드2'),
…
]);
$row->save();
}
public function store(Request $request)
{
$row = new Member ;
$row->'필드1' = $request->input('필드1');
$row->'필드2' = $request->input('필드2');
…
$row->save();
}
2) 수정 자료 저장
public function update( Request $request, $id )
{
$row = Member::find($id);
$row->'필드1' = $request->input('필드1');
$row->'필드2' = $request->input('필드2');
…
$row->save();
}
3) 자료 삭제
public function destroy( $id )
{
$row = Member::find($id);
$row->delete();
}
실습 페이지
'2-2 > PHP Framework 실무' 카테고리의 다른 글
PHP Framework 실무 3주차 정리 (Blade) (0) | 2023.09.21 |
---|---|
PHP Framework 실무 1주차 정리 (주차 별 계획, 교재) (0) | 2023.09.06 |