Sök…


Anmärkningar

CodeIgniter är ett MVC-ramverk skrivet i och för, PHP.

Det är lätt jämfört med andra MVC-ramar där ute, till bekostnad av att ha mindre funktionalitet, t.ex. finns det inget inbyggt autentiseringssystem som kan vara en del av andra ramverk.

CodeIgniter är ett bra val av ramar för de som börjar med MVC eftersom det inte tvingar några särskilda standarder för namngivning och kodstruktur. men det är också lämpligt för större projekt där ett stort antal funktioner som finns i andra ramverk kanske inte behövs.

versioner

Version Utgivningsdatum
Version Beta 1.0 2006-02-28
Version 2.0.0 2011-01-28
Version 2.2.0 2014/06/02
Version 3.0.0 2015/03/30
Version 3.1.3 2017/01/09
Version är 3.1.4 2017/03/20
Versionen är 3.1.5 2017/06/19

Installation och installation

Windows-miljö

  1. Installera XAMPP eller WAMP
  2. Ladda ner och packa upp paketet från Codeigniter.com
  3. Extrahera allt dokument i serverutrymmet (htdocs eller www-katalogen)

Mac-miljö

  1. Installera MAMP
  2. Ladda ner och packa upp paketet från Codeigniter.com
  3. Extrahera allt dokument i serverutrymmet (htdocs)

Linux-miljö

  1. Ladda ner och packa upp paketet från Codeigniter.com
  2. Placera den extraherade mappen i / var / www (i WAMP) eller xampp / htdocs (XAMPP)

GitHub

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


Om du följer systemet korrekt får du nedanstående skärm.

ange bildbeskrivning här


Bas-URL

  1. Gå till application/config/config.php
  2. Definiera bas-URL som $config['base_url'] = 'http://localhost/path/to/folder';

Ta bort index.php från URL

Apache-konfiguration
  1. gå till roten

  2. skapa htaccess-fil

  3. Lägg till koden nedan i den

    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]
    

Obs:. Htaccesskoden varierar beroende på värdservern. I vissa webbserver (t.ex.: Godaddy) behöver du använda en extra ? i den sista raden i koden ovan. Följande rad kommer att ersättas med sista raden i tillämpligt fall:

RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Nginx-konfiguration
  1. Öppna nginx-konfigurationsfil (som standard: /etc/nginx/sites-available/default )

  2. Lägg till koden nedan i den

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

Databaskonfiguration

  1. Gå till application/config/database.php
  2. Ställ in följande konfigurationsvariabler.
    • Värd
    • Användarnamn
    • Lösenord
    • Databas namn
    • Hamn

Ställ in standardkontroller

  1. Gå till application/config/routes.php
  2. ställa in följande konfigurationsvariabelvärde med ditt styrenhetsnamn.
    • default_controller

AutoLoad Library And Helper

  1. Gå till application/config/autoload.php
  1. ställa in Auto load value som $autoload['libraries'] = array('database', 'session');
  2. ställa in hjälpvärde som $autoload['helper'] = array('url', 'file', 'form', 'html', 'text');

Kör flera applikationer på ett CI-system

Kodignern kan vara konfigurerad för att köra mer än ett projekt utan att kopiera CI-kärnfiler.

Det är möjligt genom att dela CI-applikationssidan. Låt oss till exempel ta projekt med webbplats som innehåller front-end och back-end Content Management System (CMS) -applikationer. I detta fall kommer CI-mappstrukturen att vara:


Mappstruktur:

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

I applications skapade vi två mappar: front-end och back-end och kopierade allt standardinnehåll för applications under dessa två mappar.

Vi duplicerade också index.php filen under backend.php som backend.php

Nästa är att konfigurera CI att det fungerar med dessa två applikationsinstanser.


Kodigniterkonfiguration :

Öppna index.php- och backend.php- filer och uppdatera application_folder confg:

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

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

Efter konfigurationen ovan är CI redo att köra två applikationer under ett CI-system:

Begäran på example.com/Codeigniter/index.php öppnar front-end appen

Begäran på example.com/Codeigniter/backend.php öppnar back-end appen

Öka säkerheten genom att dölja platsen för dina CodeIgniter-filer

Inom CodeIgniter finns det två huvudkataloger att oroa sig för: system och applikation . Systemmappen innehåller kärnan i CodeIgniter. Programmappen kommer att innehålla all kod som är specifik för din applikation, inklusive modeller, styrenheter, vyer och andra relevanta bibliotek.

Enligt installationsinstruktionerna för CodeIgniter, i bästa intresse av att säkra din ansökan, bör både systemet och applikationsmappen placeras ovanför webbroten så att de inte är direkt tillgängliga via en webbläsare. Som standard ingår .htaccess-filer i varje mapp för att förhindra direkt åtkomst, men det är bäst att ta bort dem från allmän åtkomst helt om webbserverkonfigurationen ändras eller inte följer .htaccess.

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

När du har flyttat system- och applikationsmapparna öppnar du index.php filen och ställer $system_path , $application_folder , helst med en full sökväg, t.ex. ' /www/MyUser/system' . Relativa vägar bör dock fungera.

För Linux / Apache:

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

För Windows / IIS:

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow