Szukaj…


Uwagi

CodeIgniter to framework MVC napisany w PHP i dla PHP.

Jest lekki w porównaniu do innych platform MVC, kosztem mniejszej funkcjonalności, np. Nie ma wbudowanego systemu uwierzytelniania, który mógłby być częścią innych platform.

CodeIgniter to dobry wybór frameworków dla tych, którzy zaczynają od MVC, ponieważ nie wymusza żadnych szczególnych standardów nazewnictwa i struktury kodu; ale nadaje się również do większych projektów, w których duży zakres funkcji zawartych w innych ramach może nie być potrzebny.

Wersje

Wersja Data wydania
Wersja Beta 1.0 28.02.2006
Wersja 2.0.0 28.01.2011
Wersja 2.2.0 02.06.2014
Wersja 3.0.0 30.03.2015
Wersja 3.1.3 2017-01-09
Wersja to 3.1.4 2017-03-20
Wersja to 3.1.5 2017-06-19

Instalacja i konfiguracja

Środowisko Windows

  1. Zainstaluj XAMPP lub WAMP
  2. Pobierz i rozpakuj pakiet z Codeigniter.com
  3. Wyodrębnij cały dokument z przestrzeni serwera (katalog htdocs lub www)

Środowisko Mac

  1. Zainstaluj MAMP
  2. Pobierz i rozpakuj pakiet z Codeigniter.com
  3. Wyodrębnij cały dokument w przestrzeni serwera (htdocs)

Środowisko Linux

  1. Pobierz i rozpakuj pakiet z Codeigniter.com
  2. Umieść rozpakowany folder w / var / www (w WAMP) lub xampp / htdocs (XAMPP)

GitHub

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


Jeśli będziesz postępować zgodnie z systemem poprawnie, pojawi się poniższy ekran.

wprowadź opis zdjęcia tutaj


Podstawowy adres URL

  1. Przejdź do application/config/config.php
  2. Zdefiniuj podstawowy adres URL jako $config['base_url'] = 'http://localhost/path/to/folder';

Usuń index.php z adresu URL

Konfiguracja Apache
  1. idź do rootowania

  2. utwórz plik htaccess

  3. Dodaj poniższy kod

    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]
    

Uwaga: kod .htaccess różni się w zależności od serwera hostingowego. Na niektórych serwerach hostingowych (np. Godaddy) musisz użyć dodatkowego ? w ostatnim wierszu powyższego kodu. W odpowiednim przypadku następująca linia zostanie zastąpiona ostatnią linią:

RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Konfiguracja Nginx
  1. Otwórz plik konfiguracyjny nginx (domyślnie: /etc/nginx/sites-available/default )

  2. Dodaj poniższy kod

    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;
       }
    }
    

Konfiguracja bazy danych

  1. Przejdź do application/config/database.php
  2. Ustaw następujące zmienne konfiguracyjne.
    • Gospodarz
    • Nazwa Użytkownika
    • Hasło
    • Nazwa bazy danych
    • Port

Ustaw domyślny kontroler

  1. Przejdź do application/config/routes.php
  2. ustaw następującą wartość zmiennej konfiguracyjnej za pomocą nazwy kontrolera.
    • default_controller

AutoLoad Library And Helper

  1. Przejdź do application/config/autoload.php
  1. ustaw wartość Auto load jak $autoload['libraries'] = array('database', 'session');
  2. ustaw wartość Pomocnika, taką jak $autoload['helper'] = array('url', 'file', 'form', 'html', 'text');

Uruchom wiele aplikacji w jednym systemie CI

Codeigniter może być skonfigurowany do uruchamiania więcej niż jednego projektu bez powielania podstawowych plików CI.

Jest to możliwe poprzez podzielenie strony aplikacji CI. Na przykład weźmy projekt strony internetowej, która zawiera aplikacje front-end i back-end Content Management System (CMS). W takim przypadku struktura folderów CI będzie wyglądać następująco:


Struktura folderów:

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

W folderze applications utworzyliśmy dwa foldery: front-end i back-end i skopiowaliśmy całą domyślną zawartość applications w tych dwóch folderach.

backend.php również plik index.php w folderze głównym jako backend.php

Następnie należy skonfigurować CI do pracy z tymi dwoma wystąpieniami aplikacji.


Konfiguracja Codeigniter :

Otwórz pliki index.php i backend.php i zaktualizuj folder folderów application_folder :

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

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

Po powyższej konfiguracji CI jest gotowy do uruchomienia dwóch aplikacji w jednym systemie CI:

Żądanie na example.com/Codeigniter/index.php otworzy aplikację front-end

Żądanie na example.com/Codeigniter/backend.php otworzy aplikację back-end

Zwiększ bezpieczeństwo, ukrywając lokalizację plików CodeIgniter

W CodeIgniter istnieją dwa główne katalogi, o które należy się martwić: system i aplikacja . Folder systemowy zawiera podstawowe cechy CodeIgniter. Folder aplikacji będzie zawierał cały kod specyficzny dla aplikacji, w tym modele, kontrolery, widoki i inne odpowiednie biblioteki.

Zgodnie z instrukcjami instalacji CodeIgniter, w najlepszym interesie zabezpieczenia aplikacji, zarówno folder systemowy, jak i folder aplikacji powinny znajdować się nad katalogiem głównym, aby nie były bezpośrednio dostępne za pośrednictwem przeglądarki. Domyślnie pliki .htaccess znajdują się w każdym folderze, aby zapobiec bezpośredniemu dostępowi, ale najlepiej jest je całkowicie usunąć z publicznego dostępu na wypadek zmiany konfiguracji serwera WWW lub niezgodności z .htaccess.

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

Po przeniesieniu folderów systemowych i aplikacji otwórz główny plik index.php i ustaw $system_path , $application_folder , najlepiej z pełną ścieżką, np. „ /www/MyUser/system' . Jednak ścieżki względne powinny działać.

W przypadku systemu Linux / Apache:

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

W przypadku systemu Windows / IIS:

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow