'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 |
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를 적어줍니다.
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
다운로드를 받아 설치를 진행하자.
윈도우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);
});
VSCODE 맥북 단축키 (0) | 2019.12.21 |
---|---|
php코드의 에러를 알려주는 사이트 (0) | 2019.03.30 |
HTML table(테이블)소스를 만들어주는 사이트 (0) | 2018.11.24 |
간단하게 채팅창 만들어주는 사이트 (0) | 2018.11.24 |
파비콘만들어주는 사이트 (0) | 2018.11.24 |
라라벨에서는 확장자가 없는 URL을 사용한다.
구php : http://www.sample.com/insert.php
라라벨 : http://www.sample.com/insert
이런 식으로 사용이 가능하다.
라우팅만들기
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 |