이 녀석은 기존과는 다르게 패키지 의존적으로 설치를 도와주는 composer를 이용하여 설치해야 한다.

물론 소스 코드를 의존성에 맞추어 다운로드 받는 역할을 한다.

 

선행작업

composer 설치

원하는 패키지를 다운로드 받을 경우, 의존성에 맞추어 다운로드 해 준다.

특이한건 관련 패키지들이 버전업 되면 그걸 함께 관리해준다. PHP를 개발하면서, 이제는 모르면 안되는 기술이다. (Modern PHP...)

 

laravel 설치

laravel Path 환경변수로 설정 ( 참고 : http://l5.appkr.kr/lessons/02-hello-laravel.html )

laravel cache 문제 폴더들 chown으로 사용자 지정

 

phpunit 설치

php7.0-xml 설치

라라벨 프로젝트 폴더 설치

 

vhost 설정

/var/www/nmh/public 

http://ml.studydev.com:8888/

8888

BitBucket에 올림

http://git.studydev.com/projects/NMH/repos/laravel_53/browse

 

Laravel 구조

.
├── .env                              # 글로벌 설정 중 민감한 값, dev/production 등 앱 실행환경에 따라 변경되어야 하는 값을 써 놓는 곳
├── app
│   ├── Console                       
│   │   ├── Commands                  # 콘솔 코맨드 하우징
│   │   └── Kernel.php                # 콘솔 코맨드, 크론 스케쥴 등록
│   ├── Events                        # 이벤트 클래스 하우징
│   ├── Exceptions                    # Exception 하우징
│   │   └── Handler.php               # 글로벌 Exception 처리 코드
│   ├── Listeners                     # 이벤트 핸들러
│   ├── Jobs
│   ├── Policies
│   ├── Http                          # Http 요청 처리 클래스들의 하우징
│   │   ├── Controllers               # Http Controller
│   │   ├── Kernel.php                # Http 및 Route 미들웨어 등록
│   │   ├── Middleware                # Http 미들웨어 하우징
│   │   ├── Requests                  # Http 폼 요청 미들웨어 하우징
│   │   └── routes.php                # Http 요청 Url을 Controller에 맵핑시키는 규칙을 써 놓은 테이블
│   └── Providers                     # 서비스 공급자 하우징 (config/app.php에서 바인딩 됨)
│       ├── AppServiceProvider.php
│       ├── AuthServiceProvider.php
│       ├── EventServiceProvider.php  # 이벤트 리스너, 구독 바인딩
│       └── RouteServiceProvider.php  # 라우팅 바인딩 (글로벌 라우팅 파라미터 패턴 등이 등록되어 있음)
├── composer.json                     # 이 프로젝트의 Composer 레지스트리, Autoload 규칙 등이 담겨 있다. (c.f. Node의 package.json)
├── config                            # database, queue, mail 등 글로벌 설정 하우징
├── database
│   ├── migrations                    # 데이터베이스 스키마
│   └── seeds                         # 생성된 테이블에 Dummy 데이터를 삽입하는 클래스들 (개발 목적)
├── gulpfile.js                       # Elixir (프론트엔드 빌드 자동화) 스크립트
├── public                            # 웹 서버에 의해 지정된 Document Root
├── resources
│   ├── assets                        # JavaScript, CSS 하우징
│   ├── lang                          # 다국어 지원을 위한 언어 레지스트리 하우징
│   └── views                         # 뷰 파일 하우징
├── storage                           # Laravel5 파일 저장소
└── vendor                            # composer.json의 저장소

 

 

CodeIgniter 잠시 생략.

  • 레이블 없음