응용 프로그램 상하문 값의 환경 전환

머리말:환경 컨텍스트
베어에서 응용 대상의 구조는 コンテキスト에 따라 달라지고 행위도 달라진다1.실제 업무에서 BEAR를 사용할 때 전환環境을 하려면 상하문을 사용해야 한다.예를 들어'개발 환경에 사용자 정의 상하문dev을 추가하고,production 환경에 추가prod, DB 서버의 연결 목적지를 전환하는 등'이라는 용법이 많죠.
boot 파일 및 컨텍스트
표준 설치 상태boot ファイル라면 아래와 같다(집필 시간 현재).
  • /bootstrap.php FW에서 시작하는 반환문 스크립트는 하나뿐입니다.
  • // ...
    return function (string $context, string $name = 'MyVendor\MyProject') : int {
        $app = (new Bootstrap)->getApp($name, $context, __DIR__);
        // ・・・(説明用のため省略)・・・
        $request = $app->router->match($GLOBALS, $_SERVER);
        // (省略)
        $response = $app->resource->{$request->method}->uri($request->path)($request-        
        // (省略)
    };
    
  • public/index.php 웹 서버에 대한 요청 지점입니다.역할은 상술한 상하문을 호출하는 것이다.
  • require dirname(__DIR__) . '/autoload.php';
    exit((require dirname(__DIR__) . '/bootstrap.php')(PHP_SAPI === 'cli-server' ? 'hal-app' : 'prod-hal-app'));
    
    웹 애플리케이션에서 자주 사용하는 방법
    웹 응용 프로그램에서 자주 사용하는 방법 중 하나는 다음과 같습니다.
  • 개발 환경에서 입구점에서 상하문값dev-html-app을 기본 하드코드
  • 로 설정합니다.
  • 제품으로 보낼 때prod-html-app 고정 및 하드 코드
  • 모든 환경에 상하문 값을 다시 써야 합니다.이거 어떻게 관리하는 게 좋을까요?
    환경 전환의 실시 예
    이상은 오프닝입니다.다음은 본 문제에서 평소에 사용하던 신청서에서 환경 전환의 실시 방식을 소개하겠습니다.boot 파일 시스템의 변경일 뿐이기 때문에 어떤 프로그램이든 간단하게 시도할 수 있는 내용입니다.
    1. 환경 컨텍스트 파일 이름으로 웹 서버의 엔트리 파일을 구성합니다.
  • 개발 환경ビルトインWebサーバ에서 ルータースクリプト2에서 지정dev.php.상하문 값dev-html-app이 하드코딩되었습니다.
  • 제품에서 웹 서버를 통해 설정prod.php.상하문 값prod-html-app이 하드코딩되었습니다.
  •    
    2. Production 환경의 웹 서버 설정 이미지
    Nginx의 경우
        server {
            listen       8082;
            server_name  www.dummy-foo.com;
    
            set $host_path "/path/to/FormalBearsDemo";
            set $bear_bootstrap "prod.php";
            root $host_path/public;
    
            location / {
                try_files $uri /$bear_bootstrap$is_args$args;
            }
    
            # pass the PHP scripts to FastCGI server
            set $port "9073";
            location ~ \.php$ {
                fastcgi_pass   127.0.0.1:$port;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;
                include        fastcgi_params;
                fastcgi_param  SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param  DOCUMENT_ROOT $realpath_root;
                internal;
            }
        }
    
    실장창고
    여기다 뒀어.FormalBearsDemo
    특징.
  • 평소에 자주 사용하는 개발 절차, 환경 전환에 적합하고 업무 효율이 매우 좋다고 생각합니다.
  • 매번 다른 상하문을 지정할 생각은 없습니다.유연한 설정과 복잡한 합성을 하려면 별도의 기본 방법으로 일반적으로 사용할 수 있다.나는 두 가지 방법을 동시에 사용했다(앞의 창고를 참조).
  • 참고 문장
  • 컨텍스트 - BEAR 적용Sunday Advent Calendar 2014
  • FormalBears
  • BEAR 공식 브로셔: 어플리케이션  
    PHP: 내장형 웹 서버 - Mual  

    좋은 웹페이지 즐겨찾기