https://www.php.net/manual/en/index.php

 

PHP: PHP Manual - Manual

 

www.php.net

  http://php.net/함수명      이렇게 적어주면 해당 함수에 관한 매뉴얼을 볼 수 있습니다. 

'PHP 코드관련' 카테고리의 다른 글

if(조건문)  (0) 2019.03.30
상수  (0) 2019.03.30
null널  (0) 2019.03.30
php.ini 설정  (0) 2019.03.30
phpinfo.php  (0) 2019.03.30

서버의 php정보를 알고 싶을때 사용합니다.

 

phpinfo.php 파일을 만들어서 서버폴더에 업로드시켜줍니다. 내용은  phpinfo(); 

 

그리고 웹브라우저를 열어서 주소창에 phpinfo.php를 적어줍니다.

'PHP 코드관련' 카테고리의 다른 글

if(조건문)  (0) 2019.03.30
상수  (0) 2019.03.30
null널  (0) 2019.03.30
php.ini 설정  (0) 2019.03.30
php 함수등 사용법을 자세하게 알고 싶은 경우 방문  (0) 2019.03.30

라라벨의 템플릿 언어인 동시에 HTML 컴파일 엔진이다.

welcome에 view()함수를 통해 with()메서드를 체인하여 데이터를 넘겨준다.

welcome에서는 데이터를 받을 때 {{ $name }} , {{ $age }} 이렇게 받을 수 있다.

크로스사이트 스크립트 방지를 할 수 있다.

{{ $a }} => <? echo htmlentities($a);?>

{{{ $a }}} => <? echo $a;?>  (라라벨4.1)

{{!! $a !!}} => <? echo $a;?> (라라벨5버전)

<?=$name?>     == {{ $name }} 같다


블레이드에서 주석은 {{--$name--}} 이렇게 사용한다.


삼항연산자를 이용해서 $name값이 없으면 문자열을 출력할 수 있다.

<?=isset($name)? $name : "Hello";?>

블레이드 문법으로는 아래와 같이 사용한다.

{{ $name or "Hello"}}


$name값이 없이 {{ $name }} 값을 출력하려고하면 에러가 출력된다.

'라라벨 > 블레이드템플릿' 카테고리의 다른 글

조각뷰(@parent)  (0) 2019.03.31
템플릿 상속(@extends)  (0) 2019.03.31
블레이드 문법 if문, for문  (0) 2019.03.31

https://www.telerik.com/fiddler

다운로드를 받아 설치를 진행하자.

 

Fiddler - Free Web Debugging Proxy - Telerik

Fiddler is a free web debugging tool which logs all HTTP(S) traffic between your computer and the Internet. Inspect traffic, set breakpoints, and fiddle with incoming or outgoing data.

www.telerik.com


윈도우10에서 설치를 완료하였다.


필터링할 주소를 입력하고 적용한다.


Header내용을 직접 제어할 수 있다.

 

라라벨프레임웍에서는 return response('Hello World'.$name,200)->header('Content-Type', 'text/plain');

함수를 제공하고 있다.

 

여러개의 Header값을 넘길때 사용한다.

use Illuminate\http\Response;

Route::get('hello/world/{name}', function ($name) {
    //$response = new Response('Hello World'.$name,200);
    $ttime = 60 * 60; //1시간이 지나면 캐쉬값을 재갱신한다. 
    return response('Hello World'.$name,200)
    ->header('Content-Type', 'text/plain')
    ->header('Cache-Control','max-age='.$ttime.',must-revalidate');
    
});

 

데이터를 JSON형태로 불러올수있다.

Route::get('hello/json',function(){
	$data = ['name'=>'Hong', 'gender'=>'Man'];

	//json함수를 사용하여 데이터를 불러온다.
	return response()->json($data);
});

라라벨에서는 확장자가 없는 URL을 사용한다.

구php : http://www.sample.com/insert.php 

라라벨 : http://www.sample.com/insert 

이런 식으로 사용이 가능하다.

사진자료 : http://www.hakawati.co.kr/361

라우팅만들기

routes/web.php 파일을 열어서 수정해보자

//문자열이 출력이 된다.

Route::get('/', function () { 
    return 'Hello World'; 
});


Route::get('posts', function () {  
    return 'Test message'; 
});

//http://localhost:8000/posts 일때 Test message(문자열)를 리턴한다.

 


 

Route::get('posts/{postId}', function ($postId) {  
    return 'postId: '.$postId; 
}); 


//http://localhost:8000/posts/{파라메터값} 일때 $postId값을 보여준다.


Route::get('posts/{postId?}', function ($postId = 'bar') {  
    return 'postId:'.$postId; 
}); 

// ? 와 function에 기본 인자값을 넣어준다.

// 127.0.0.1:8000/posts/ 값이 없을때는 기본값 bar을 보여준다.


Route::pattern('posts', '[0-9a-zA-Z]{3}');
Route::get('posts/{postId?}', function ($postId = 'bar') {  
    return 'postId:'.$postId; 
});

정규표현식

URL파라미터를 아라비아 숫자,영어 소문자, 영어 대문자로 구성된 세자리 글자로 한정하는 예제다.

 


Route::get('posts/{postId?}', function ($postId = 'bar') {  
    return 'postId:'.$postId; 
})->where('foo', '[0-9a-zA-Z]{3}');

a-c와 같이 패턴에 맞지 않는 요청은 NotFoundHttp Exception을 반환한다.

 


데이터 바인딩 : with() 메서드를 체인하여 데이터를 바인딩할 수 있다.

Route::get('hello/html', function(){
	return view('welcome')->with('name','Foo');
});

배열을 이용해 여러개의 데이터를 넘긴다.

Route::get('/', function(){
	return view('welcome',[
		'name' => 'Foo',
		'greeting' => '안녕하세요?'
	]);
});

welcome.blade.php

<h1>Hello Laravel</h1>
<h1><?=$name?></h1>
<h1>{{$name}}</h1>
<h1>{{$greeting}}</h1>

 

 

아래의 라우팅 소스는 같은 동작을 한다 둘중에 아무거나 사용하자~

 

Route::get('/about', function(){

return view('about');

});

 

Route::view("about", "about");

'라라벨 > 라우팅' 카테고리의 다른 글

prefix, namespace  (0) 2020.03.29
라우트 필요한 메서드만 지정하기 only, except  (0) 2020.02.04

프레임워크 암호화 알고리즘의 키 값으로 사용되는 값이다.

브라우저와 주고받는 암호화된 쿠키를 만들거나 해독할 때 사용.

 

다음 명령을 입력하면 새로운 암호화 키를 만들 수 있다.

$>php artisan key:generate

이값은 함부로 갱신하면 안된다.

APP_KEY를 변경하면 접속했던 사용자의 쿠키를 복호화할 수 없어 오류가 발생한다.

 

'라라벨' 카테고리의 다른 글

쿼리빌더  (0) 2019.03.31
데이터베이스 모델(REPL)  (0) 2019.03.31
dotenv파일 config/database.php 파일 관계  (0) 2019.03.28
라라벨5.3버전 프로젝트 구조  (0) 2019.03.28
artisan 명령어  (0) 2019.03.28

보다시피 mysql 데이터베이스 접속설정이 .env파일에 따로 떨어져있다.

비밀번호같은 민감한 내용이 있는것은 .env에 따로 저장된다.

 

'라라벨' 카테고리의 다른 글

쿼리빌더  (0) 2019.03.31
데이터베이스 모델(REPL)  (0) 2019.03.31
APP_KEY 새로 만들어주기  (0) 2019.03.28
라라벨5.3버전 프로젝트 구조  (0) 2019.03.28
artisan 명령어  (0) 2019.03.28

라라벨 프로젝트의 디렉토리안의 아래와 같은 파일이 있다.

디렉토리의 파일이다.

.env

   

글로벌 설정 중 미감한 값,

서비스 실행 환경에 따라 달라져야 하는 값을 써놓은 곳

app

--Console

Kernel.php

콘솔 명령, 크론 작업을 등록하는 레지스터

 

--Exceptions

Handler.php

전역 예외 처리 규칙을 정의한 클래스

 

--Http

Controllers/

Auth

라라벨에 기본 내장되 ㄴ사용자 인증 컨트롤러

   

Kernel.php

HTTP 요청 처리를 위해 기본이 되는 커널

   

middleware

미들웨어를 담는 디렉터리

 

--Providers

(서비스프로바이더)

AppServiceProvider.php

우리가 만든 서비스를 서비스 컨테이너에 등록하기 위한 클래스

   

AuthServiceProvider.php

사용자 인가와 관련된 정책을 등록하기 위한 클래스

   

BroadcastServiceProvider.php

브로드캐스트 메시지 전송을 제어하는 클래스

   

EventServiceProvider.php

이벤트와 이벤트 처리기를 연결하는 클래스

   

RouteServicdProvider.php

routes 디렉토리에서 정의한 라우팅을 활성화하는 클래스

 

User.php

 

기본 내장 User모델

bootstrap

   

프레임워크 부팅 스크립트

composer.json

   

이 프로젝트의 의존성 및 오토로드 레지스트리

composer.lock

   

현재 환경에 설치한 의존성의 버전 잠금 파일

config

   

데이터베이스, 큐, 메일 등 전역 설정을 담는 디렉터리

database

--factories

 

더미모델을 만들기 위한 레시피를 담는 디렉토리

 

--migrations

 

이 프로젝트의 데이터베이스 테이블 스키마를 담는 디렉터리

 

--seeds

 

생성한 테이블에 더미 데이터를 삽입하는 레시피를 담는 디렉터리

gulpfile.js

   

엘릭서(elixir, 프런트 엔드 빌드 자동화) 레시피

package.json

   

엘릭서가 의존하는 Node.js패키지, 이 프로젝트가 의존하는

phpunit.xml

   

PHPUnit(테스트 프레임워크)설정

 

--public

 

웹 서버루트(document root)

 

--resources

assets

엘릭서 빌드 전의 원본 자바스크립트, CSS등을 담는 디렉터리

   

lang

다국어 지원을 위한 언어별 사전을 담는 디렉터리

   

views

뷰 파일을 담는 디렉터리

 

--routes

(라우팅 정의 테이블을 담는 디렉터리 5.3버전이후 부터)

api.php

api엔드포인트

   

console.php

클로저 형식으로 작성한 아티즌 콘솔 명령

   

web.php

웹 엔드포인트

server.php

   

로컬 웹 서버 구동을 위한 스크립트

storage

   

라라벨의 파일 저장소(캐시,로그)

tests

   

테스트 파일을 담는 디렉터리

vender

   

이 프로젝트가 의존하는 PHP컴포넌트(의존성)을 담는 디렉터리

 

 

artisan 명령어모음

$>php artisan list

/* Controller에 TestController 파일을 만드는 명령어 */

$>php artisan make:controller TestController

디렉토리를 확인해보면 controllers에 TestController파일이 생성된걸 확인 할 수 있다.

'라라벨' 카테고리의 다른 글

쿼리빌더  (0) 2019.03.31
데이터베이스 모델(REPL)  (0) 2019.03.31
APP_KEY 새로 만들어주기  (0) 2019.03.28
dotenv파일 config/database.php 파일 관계  (0) 2019.03.28
artisan 명령어  (0) 2019.03.28

+ Recent posts