Поиск…


замечания

CodeIgniter - это структура MVC, написанная и для PHP.

Он является легким по сравнению с другими инфраструктурами MVC, за счет меньшего количества функциональных возможностей, например, нет встроенной системы аутентификации, которая может быть частью других фреймворков.

CodeIgniter - хороший выбор фреймворков для тех, кто начинает работать с MVC, поскольку он не заставляет каких-либо конкретных стандартов для именования и структуры кода; но он также подходит для более крупных проектов, где может не потребоваться большой набор функций, содержащихся в других рамках.

Версии

Версия Дата выхода
Версия Beta 1.0 2006-02-28
Версия 2.0.0 2011-01-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 Environment

  1. Установите MAMP
  2. Загрузите и распакуйте пакет с сайта Codeigniter.com
  3. Извлеките весь документ в пространстве сервера (htdocs)

Linux-среда

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

Удалить index.php из URL

Конфигурация Apache
  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. set Значение автоматической загрузки, например $autoload['libraries'] = array('database', 'session');
  2. set Helper value, например $autoload['helper'] = array('url', 'file', 'form', 'html', 'text');

Запуск нескольких приложений в одной системе CI

Codeigniter может быть сконфигурирован для запуска нескольких проектов без дублирования основных файлов CI.

Это возможно, разбив CI Application. Для примера возьмем проект веб - сайта, который содержит 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-end и back-end и скопировали все содержимое applications по умолчанию в этих двух папках.

Также мы дублируем файл index.php в корневой папке как backend.php

Далее следует настроить CI для работы с этими двумя экземплярами приложения.


Конфигурация Codeigniter :

Откройте файлы index.php и backend.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