Zoeken…


Opmerkingen

CodeIgniter is een MVC-raamwerk geschreven in en voor PHP.

Het is licht in vergelijking met andere MVC-frameworks die er zijn, ten koste van minder functionaliteit, er is bijvoorbeeld geen ingebouwd authenticatiesysteem dat een deel van andere frameworks kan zijn.

CodeIgniter is een goede keuze van frameworks voor degenen die beginnen met MVC omdat het geen specifieke normen voor naamgeving en structuur van code dwingt; maar het is ook geschikt voor grotere projecten waar een groot aantal functies in andere frameworks misschien niet nodig is.

versies

Versie Publicatiedatum
Versie Beta 1.0 2006-02-28
Versie 2.0.0 2011-01-28
Versie 2.2.0 2014/06/02
Versie 3.0.0 2015/03/30
Versie 3.1.3 2017/01/09
Versie is 3.1.4 2017/03/20
Versie is 3.1.5 2017/06/19

Installatie en instellingen

Windows-omgeving

  1. Installeer XAMPP of WAMP
  2. Download en pak het pakket uit van Codeigniter.com
  3. Pak al het document uit in de serverruimte (htdocs of www-directory)

Mac-omgeving

  1. Installeer MAMP
  2. Download en pak het pakket uit van Codeigniter.com
  3. Pak al het document in de serverruimte uit (htdocs)

Linux-omgeving

  1. Download en pak het pakket uit van Codeigniter.com
  2. Plaats de uitgepakte map in / var / www (in WAMP) of xampp / htdocs (XAMPP)

GitHub

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


Als u het systeem correct volgt, krijgt u het onderstaande scherm te zien.

voer hier de afbeeldingsbeschrijving in


Basis URL

  1. Ga naar application/config/config.php
  2. Definieer basis-URL als $config['base_url'] = 'http://localhost/path/to/folder';

Verwijder index.php van URL

Apache-configuratie
  1. ga naar root

  2. maak een htaccess-bestand

  3. Voeg de onderstaande code toe

    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]
    

Opmerking: .htaccess-code varieert afhankelijk van de hosting-server. Moet u in sommige hosting-servers (bijvoorbeeld: Godaddy) een extra gebruiken ? in de laatste regel van bovenstaande code. De volgende regel wordt in voorkomend geval vervangen door de laatste regel:

RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Nginx-configuratie
  1. Open het nginx-configuratiebestand (standaard: /etc/nginx/sites-available/default )

  2. Voeg de onderstaande code toe

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

Database configuratie

  1. Ga naar application/config/database.php
  2. Stel de volgende configuratievariabelen in.
    • Gastheer
    • Gebruikersnaam
    • Wachtwoord
    • Database naam
    • Haven

Stel standaardcontroller in

  1. Ga naar application/config/routes.php
  2. stel de volgende configuratievariabele waarde in met uw controller naam.
    • default_controller

Bibliotheek en helper automatisch laden

  1. Ga naar application/config/autoload.php
  1. stel Auto laad waarde in zoals $autoload['libraries'] = array('database', 'session');
  2. stel Helper waarde in zoals $autoload['helper'] = array('url', 'file', 'form', 'html', 'text');

Voer meerdere applicaties uit op één CI-systeem

Codeigniter kan worden geconfigureerd om meer dan één project uit te voeren zonder CI-kernbestanden te dupliceren.

Het is mogelijk door de CI-toepassingszijde te splitsen. Laten we bijvoorbeeld het project van de website nemen, dat front-end en back-end Content Management System (CMS) -applicaties bevat. In dit geval ziet de CI-mapstructuur er als volgt uit:


Mappenstructuur:

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

In de map met applications hebben we twee mappen gemaakt: front-end en back-end en alle standaardinhoud van applications onder deze twee mappen gekopieerd.

We hebben ook het index.php bestand onder de hoofdmap gedupliceerd als backend.php

Het volgende is het configureren van CI om te werken met deze twee toepassingsgevallen.


Codeigniter configuratie :

Open index.php- en backend.php- bestanden en update application_folder confg:

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

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

Na bovenstaande configuratie is CI klaar om twee applicaties onder één CI-systeem uit te voeren:

Verzoek op example.com/Codeigniter/index.php opent de front-end app

Verzoek op example.com/Codeigniter/backend.php opent de back-end app

Verhoog de beveiliging door de locatie van uw CodeIgniter-bestanden te verbergen

Binnen de CodeIgniter zijn er twee hoofdmappen waar u zich zorgen over moet maken: systeem en applicatie . De systeemmap bevat de kern van CodeIgniter. De applicatiemap bevat alle code die specifiek is voor uw applicatie, inclusief modellen, controllers, views en andere relevante bibliotheken.

Volgens de installatie-instructies van CodeIgniter, in het beste belang van het beveiligen van uw applicatie, moeten zowel het systeem als de applicatiemap boven de web root worden geplaatst, zodat ze niet direct toegankelijk zijn via een browser. Standaard worden .htaccess-bestanden in elke map opgenomen om directe toegang te voorkomen, maar het is het beste om ze volledig van openbare toegang te verwijderen in het geval de configuratie van de webserver verandert of zich niet aan de .htaccess houdt.

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

Nadat het systeem en de toepassing mappen bewegen, zet de index.php bestand en zet de $system_path , $application_folder variabelen, bij voorkeur met een volledig pad, bijvoorbeeld ' /www/MyUser/system' . Relatieve paden zouden echter moeten werken.

Voor Linux / Apache:

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

Voor Windows / IIS:

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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow