수색…


비고

CodeIgniter는 PHP로 작성된 MVC 프레임 워크입니다.

다른 MVC 프레임 워크에 비해 경량이지만, 기능이 부족하다는 단점이 있습니다. 예를 들어 다른 프레임 워크의 일부인 인증 시스템은 없습니다.

CodeIgniter는 코드의 명명 및 구조에 대한 특정 표준을 강제하지 않으므로 MVC로 시작하는 사람들을위한 프레임 워크의 좋은 선택입니다. 다른 프레임 워크에 포함 된 광범위한 기능을 필요로하지 않는 대규모 프로젝트에도 적합합니다.

버전

번역 출시일
버전 베타 1.0 2006-02-28
버전 2.0.0 2011 년 1 월 28 일
버전 2.2.0 2014-06-02
버전 3.0.0 2015-03-30
버전 3.1.3 2017-01-09
버전은 3.1.4입니다. 2017-03-20
버전은 3.1.5입니다. 2017-06-19

설치 및 설정

Windows 환경

  1. XAMPP 또는 WAMP 설치
  2. Codeigniter.com 에서 패키지를 다운로드하여 압축을 풉니 다.
  3. 서버 공간 (htdocs 또는 www 디렉토리)에있는 모든 문서의 압축을 풉니 다.

Mac 환경

  1. MAMP 설치
  2. Codeigniter.com 에서 패키지를 다운로드하여 압축을 풉니 다.
  3. 서버 공간 (htdocs)에있는 모든 문서의 압축을 풉니 다.

리눅스 환경

  1. Codeigniter.com 에서 패키지를 다운로드하여 압축을 풉니 다.
  2. 압축을 푼 폴더를 / var / www (WAMP) 또는 xampp / htdocs (XAMPP)

GitHub

git clone https://github.com/bcit-ci/CodeIgniter.git


시스템을 올바르게 따라 가면 아래 화면이 나타납니다.

여기에 이미지 설명을 입력하십시오.


기본 URL

  1. application/config/config.php
  2. 기본 URL을 $config['base_url'] = 'http://localhost/path/to/folder';

URL에서 index.php 삭제

아파치 설정
  1. 뿌리 내리다

  2. htaccess 파일 만들기

  3. 그 안에 코드를 아래에 추가하십시오.

    RewriteEngine on
    RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
    

참고 : .htaccess 코드는 호스팅 서버에 따라 다릅니다. 일부 호스팅 서버 (예 : Godaddy)는 추가 기능을 사용해야 ? 위 코드의 마지막 줄에. 해당 행의 다음 행은 마지막 행으로 대체됩니다.

RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Nginx 설정
  1. nginx 설정 파일 열기 (기본적으로 /etc/nginx/sites-available/default )

  2. 그 안에 코드를 아래에 추가하십시오.

    server {
       server_name domain.tld;
    
       root /path-to-codeigniter-folder; //you codeigniter path
       index index.html index.php;
    
       # set expiration of assets to MAX for caching
       location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
            expires max;
            log_not_found off;
       }
    
       location / {
            # Check if a file or directory index file exists, else route it to index.php.
            try_files $uri $uri/ /index.php;
       }
    
       location ~* \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            include fastcgi.conf;
       }
    }
    

데이터베이스 구성

  1. application/config/database.php
  2. 다음 구성 변수를 설정하십시오.
    • 숙주
    • 사용자 이름
    • 암호
    • 데이터베이스 이름
    • 포트

기본 컨트롤러 설정

  1. application/config/routes.php
  2. 컨트롤러 이름으로 다음 구성 변수 값을 설정하십시오.
    • default_controller

자동로드 라이브러리 및 도우미

  1. application/config/autoload.php
  1. 자동로드 값을 $autoload['libraries'] = array('database', 'session');
  2. $autoload['helper'] = array('url', 'file', 'form', 'html', 'text'); 와 같은 도우미 값을 설정 $autoload['helper'] = array('url', 'file', 'form', 'html', 'text');

하나의 CI 시스템에서 여러 응용 프로그램 실행

Codeigniter는 CI 코어 파일을 복제하지 않고 둘 이상의 프로젝트를 실행하도록 구성 될 수 있습니다.

CI Application side를 분리하여 가능합니다. 예를 들어 front-end / back-end CMS (콘텐츠 관리 시스템) 응용 프로그램이 포함 된 웹 사이트 프로젝트를 예로 들어 보겠습니다. 이 경우 CI 폴더 구조는 다음과 같습니다.


폴더 구조 :

├── Codeigniter
│   ├── applications
│   │   ├─ front-end
│   │   │   ├── views
│   │   │   ├── models
│   │   │   ├── controllers
│   │   │   ├── config
│   │   │   └── ...
│   │   ├─ back-end
│   │   │   ├── views
│   │   │   ├── models
│   │   │   ├── controllers
│   │   │   ├── config
│   │   │   └── ...
│   │   │
│   ├── system
│   │   ├── core
│   │   ├── database
│   │   ├── helpers
│   │   └── ...
│   │   
│   ├── index.php
└   └── backend.php

applications 폴더에서 front-endback-end 라는 두 개의 폴더를 만들고이 두 폴더 아래에 applications 기본 콘텐츠를 모두 복사했습니다.

또한 backend.php 로 root 폴더 아래에 index.php 파일을 복사했습니다 backend.php

다음은이 두 애플리케이션 인스턴스와 함께 작동하도록 CI 를 구성하는 것입니다.


Codeigniter 구성 :

index.phpbackend.php 파일을 열고 application_folder confg 파일을 업데이트하십시오.

//index.php
$application_folder = 'applications/front-end';

//backend.php
$application_folder = 'applications/back-end';

위의 구성 후 CI는 하나의 CI 시스템에서 두 개의 응용 프로그램을 실행할 준비가되었습니다.

example.com/Codeigniter/index.php 요청하면 front-end 앱이 열립니다.

example.com/Codeigniter/backend.php 요청으로 back-end 앱이 열립니다.

CodeIgniter 파일의 위치를 ​​숨김으로써 보안 강화

CodeIgniter에는 시스템응용 프로그램 이라는 두 가지 주요 디렉토리가 있습니다. 시스템 폴더에는 CodeIgniter의 핵심 요소가 들어 있습니다. 응용 프로그램 폴더에는 모델, 컨트롤러, 뷰 및 기타 관련 라이브러리를 포함하여 응용 프로그램과 관련된 모든 코드가 포함됩니다.

CodeIgniter 설치 지침 에 따라 응용 프로그램의 보안을 유지하기 위해 브라우저를 통해 직접 액세스 할 수 없도록 시스템 루트와 응용 프로그램 폴더를 모두 웹 루트 위에 두어야합니다. 기본적으로 .htaccess 파일은 각 폴더에 포함되어 직접 액세스를 막을 수 있지만 웹 서버 구성이 변경되거나 .htaccess를 준수하지 않을 경우 공개 액세스에서 해당 파일을 완전히 제거하는 것이 가장 좋습니다.

├── CodeIgniter 
│   ├── application
│   ├── system
│   ├── wwwroot
│   │   ├── index.php

시스템 및 응용 프로그램 폴더를 이동 한 후 기본 index.php 파일을 열고 $system_path , $application_folder 변수를 설정하십시오. 예를 들어 전체 경로 (예 : ' /www/MyUser/system' 좋습니다. 그러나 상대 경로가 작동해야합니다.

Linux / Apache의 경우 :

$application_folder = './application';
$system_path = './system';

Windows / IIS의 경우 :

$application_folder = '../application/';
$system_path = '../system/';


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow