>  기사  >  백엔드 개발  >  thinkphp 구성 유형은 무엇입니까? 그것을 달성하는 방법?

thinkphp 구성 유형은 무엇입니까? 그것을 달성하는 방법?

零下一度
零下一度원래의
2017-06-23 11:32:131629검색

1. thinkphp의 구성 유형은 무엇입니까?

 1. thinkphp에는 6가지 구성이 있습니다. 즉, 기존 구성, 애플리케이션 구성, 확장 구성, 모듈 구성, ​​장면 구성, 동적 구성이 있습니다.

 2. 기존 구성이 시스템의 기본 구성입니다.

  3. 애플리케이션 구성은 당사가 직접 개발하고 제작한 애플리케이션의 개별 구성입니다.

  4. 확장 구성은 주로 우리 프로젝트의 개발 과정에서 일부 확장 프로그램에서 사용되는 구성을 구현하는 것입니다.

 5. 모듈 구성은 애플리케이션의 각 모듈 구성입니다.

  6. Scene 구성은 주로 다양한 개발 환경에서 설정한 구성을 구현하기 위한 것입니다. 집에서 일하면 컴퓨터 환경이 다를 수 있고, 회사에서 일하면 회사의 컴퓨터 환경이 다를 수 있습니다.

 7. 우리 모듈에서는 동적 구성이 개발되고 구현됩니다. 예를 들어 컨트롤러에서 데이터베이스 구성을 정의합니다.

2. thinkphp 구성의 구현 원리는 무엇인가요?

 1. Thinkphp는 다양한 유형의 구성을 구현하여 모듈식 구성을 크게 촉진하고 구성의 유연성을 향상시킵니다.

  2. thinkphp의 설정 로딩 순서는 주로 다음과 같은 순서입니다. 동적 구성》》모듈 구성》》확장 구성》》애플리케이션 구성》》기존 구성

 3. Thinkphp는 주로 PHP의 array_merage() 함수를 사용하여 구성을 구현합니다(두 개 이상의 배열 요소가 동일한 키 이름을 갖는 경우 마지막 요소는 다른 요소를 덮어씁니다). 시스템이 구성 파일을 로드하면 이전 구성 파일을 덮어쓰므로 위의 두 번째 단계의 실행 순서가 달성됩니다.

3. 왜 이러한 구성을 구현해야 합니까?

 1. 다양한 유형의 구성을 통해 프로젝트 구성 관리를 용이하게 합니다. 가입하면 프레임워크와 함께 제공되는 구성을 사용하게 됩니다. 특정 모듈을 개발하고 다른 서버의 데이터베이스에 데이터를 저장해야 할 경우 프로젝트가 구현되지 않습니다. 이런 상황이 많이 있는데, 이는 단순한 예일 뿐입니다.

4. 구성 파일 요구 사항

모든 구성 파일은 배열을 사용합니다. 시스템이 구성 파일을 로드하면 배열이 반환되며 이 배열이 구성 항목입니다. 시스템의 구성 항목에 액세스하려면 config() 도우미 함수 또는 구성 클래스를 사용할 수 있습니다.

5. 이러한 유형의 구성을 구현하는 방법은 무엇입니까?

 1. 기존 구성.

  기존 구성은 프레임워크의 핵심 디렉터리 아래에 있는 Convention.php에 직접 있으므로 여기서는 자세히 설명하지 않겠습니다.

 2. 애플리케이션 구성.

  프로젝트를 생성하면 프레임워크는 기본적으로 애플리케이션 디렉터리에 config.php 및 Database.php와 같은 구성 파일을 생성합니다. 해당 파일에서 직접 조작이 가능합니다. 다음의 별도 설명은 주로 구성을 위한 디렉터리 생성을 사용합니다. 효과는 동일하며 파일 경로를 변경하는 것 이상입니다.

  a. 구성 파일 경로를 정의하고, 프로젝트 항목 파일을 찾아, 애플리케이션과 동일한 레벨 디렉터리 아래에 config 디렉터리를 생성합니다. (이후 구성 설명은 모두 이 디렉터리 아래에서 동작하므로, 아래에서는 별도로 설명하지 않습니다.)

define('CONF_PATH', __DIR__.'/../config/');

   다음으로 디렉토리 바로 아래에 구성 파일을 생성하면 됩니다. 생성되는 파일의 이름은 반드시 config와 데이터베이스로 제한되지는 않습니다. 파일의 구성 항목은 Convention.php 구성 파일과 동일합니다. 프로젝트를 실행하면 이 디렉터리 아래의 구성 항목이 자동으로 로드됩니다.

 3. 확장된 구성. 확장 구성은 주로 개발에 사용되는 일부 데이터의 확장된 사용입니다. 예를 들어 이메일을 사용할 때 이메일 계정이 포함됩니다. 이 디렉터리에서 구성할 수 있습니다. config 디렉터리 아래에 추가 디렉터리를 만들고 이 디렉터리 아래에 해당 파일을 만듭니다. 예를 들어 아래 email.php 파일을 생성하고 다음 콘텐츠를 정의했습니다.

<?phpreturn ["user_emial" => "1005349393@qq.com"]; 

이 구성 항목을 시스템에 로드합니다.

var_dump(config("email.user_emial")); // 在系统默认中,会给我们的环境变量都加一个PHP的前缀,并且都会将配置项转换为大写。这里我们使用我们的助手函数便可直接访问配置项。

  4. 모듈 구성. 여기에 간단한 설명이 있습니다. 가장 중요한 것은 모듈 디렉토리 아래에 해당 config.php, Database.php 및 기타 파일을 생성하는 것입니다.

 5. 장면 구성. ***이 글의 마지막 팁입니다. 장면 구성은 주로 다양한 개발 환경에 적응하기 위한 것입니다. 예를 들어 회사의 환경 구성은 집의 환경 구성과 일치하지 않으며 동시에 여러 곳을 수정해야 할 수도 있습니다. 회사에 돌아가면 다시 수정해야 하는데, 이거 정말 번거롭지 않나요?

   먼저 config 디렉터리 아래의 구성 파일에 구성 항목을 로드합니다.

'app_status'             => 'office', // 这里的配置项的值就是我们对应的配置环境。

 

    接下来,在我们的config目录下面创建一个office.php(这里的文件名必须和上面配置项的值完全一致

    最后,我们直接在我们的office.php配置文件中配置即可。其实在thinkphp还有个比较不错的功能就是.env。之前一直知道laravel有,没主要thinkphp5,最近才发现。使用该功能对于开发中的配置又方便了很多了。很赞。

    首先我们在我们的项目目录下面创建一个.env的文件,里面配置我们的配置项。如下

 

status= office

 

    我们要使用的话,直接使用框架自带的env类即可。至于更多有关env的方法直接参考开发手册。

'app_status' => Env::get("status");我们将上一步场景配置项中的值设置为.env文件中的配置项。一定要引入ENV这个类。

    通过我们的.env文件,只需要我们实现将一些配置文件配置好,或者将一些常用的配置文件放在.env文件中,我们就只修改这一个文件即可。

  6.动态配置。动态配置顾名思义是随着我们项目开发的需要来配置,而不是直接使用我们配置文件中的配置。下面列举一个简单的实例。

<?php
namespace app\index\controller;use think\Controller;class Index extends Controller
{public function index()
    {
        config("app_name", "weixin"); // 在控制器中配置一个app_name的配置项,这里也可以使用config类来操作。
    }
}

위 내용은 thinkphp 구성 유형은 무엇입니까? 그것을 달성하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.