Переход к официальным ресурсам:      Codeigniter4 / Документация / Github / Форум / CodeIgniter3
Привет! В настоящий момент я временно прекратил перевод документации по причине того, что она она содержит целый ряд неточностей, а также еще дорабатывается со стороны разработчиков. Если ты заинтересован в изучении фреймворка CodeIgniter 4, то приглашаю тебя на свой канал на YouTube (Перейти на канал), где я более подробно выкладываю занятия по данному фреймворку.


Начальная настройка первого проекта на Codeigniter 4

Ну что, надеюсь ты уже установил фреймворк вручную или с помощью Composer и теперь тебе осталось выполнить лишь несколько простых шагов по начальной настройке своего проекта. В этом разделе руководства ты узнаешь о том, где можно настроить подключение к базе данных, как настроить глобальное окружение и какие права доступа для директорий необходимы.

Начальная настройка проекта

Во-первых, тебе необходимо указать адрес, по которому будет доступен твой проект. Открой любым текстовым редактором файл /app/Config/App.php и найди в нём строку (она будет практически в начале):

public $baseURL = 'http://localhost:8080/';

Укажи реальный адрес своего проекта для переменной $baseURL (последний слэш обязателен) либо, для большего удобства, ты можешь установить адрес проекта в файле .env, указав своё значение для параметра app.baseURL=”http://localhost:8080”. Если ты брал файл .env из архива скачанного дистрибутива, тогда ты увидишь там эту строку. Тебе нужно раскомментировать её и изменить адрес по умолчанию на свой.

 

Во-вторых, если ты планируешь использовать в своем проекте базу данных, тогда тебе необходимо настроить параметры для подключения к ней. Сделать это можно и нужно в файле /app/Config/Database.php, вот в этой секции:

	/**
	 * The default database connection.
	 *
	 * @var array
	 */
	public $default = [
		'DSN'      => '',
		'hostname' => 'localhost',
		'username' => '',
		'password' => '',
		'database' => '',
		'DBDriver' => 'MySQLi',
		'DBPrefix' => '',
		'pConnect' => false,
		'DBDebug'  => (ENVIRONMENT !== 'production'),
		'cacheOn'  => false,
		'cacheDir' => '',
		'charset'  => 'utf8',
		'DBCollat' => 'utf8_general_ci',
		'swapPre'  => '',
		'encrypt'  => false,
		'compress' => false,
		'strictOn' => false,
		'failover' => [],
		'port'     => 3306,
	];

или, как я говорил выше, те же самые параметры можно указать в файле .env (пример ниже), тут уже выбор за тобой.

database.default.hostname = localhost
database.default.database = ci4
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
 

В-третьих, еще один важный параметр - константа ENVIRONMENT, которая определяет текущее состояние твоего проекта. Значения, которые этот параметр может принимать, могут быть: production (установлен по умолчанию), development и testing. Установка значения production полностью блокирует вывод каких-либо ошибок или предупреждений в окно браузера, что полезно при размещении проекта в публичном доступе, однако для разработки или тестирования это может оказаться не удобным. Задав значение development, ты будешь видеть все ошибки и предупрежедения в окне браузера, а также получишь в помощь очень полезные встроенные средства для отладки проекта (речь идет о php-утилите Kint).

Установить значение константы ENVIRONMENT можно несколькими способами, но я приведу лишь основные:

 

Вариант №1. Задай параметр в файле .env следующей строкой:

CI_ENVIRONMENT=development
 

Вариант №2. Задай параметр в начале файла .htaccess следующей строкой:

SetEnv CI_ENVIRONMENT development
 

Вариант №3. В файле /index.php корневой директории добавь строку:

/ Path to the front controller (this file)
define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR);
define('ENVIRONMENT','development');  <--- Добавить эту строку
 

Вариант №4. Если ты используешь nginx, то значение ENVIRONMENT необходимо задать через параметр fastcgi_params, после объявления переменной $_SERVER, например так (у тебя может быть своя конфигурация):

server {
    server_name localhost;
    include     conf/defaults.conf;
    root        /var/www;

    location    ~* \.php$ {
        fastcgi_param CI_ENVIRONMENT "development";
        include conf/fastcgi-php.conf;
    }
}
 

На самом деле, все три значения production, development и testing это ничто иное, как имена файлов php, с соответствующими названиями, которые лежат в папке /app/Config/Boot. Ты абсолютно легко можешь внести свои изменения в эти файлы напрямую, чтобы изменить то или иное поведение при отладке проекта. Ты можешь даже создать свой собственный файл и использовать его название для параметра ENVIRONMENT!

 

И, пожалуй, последнее из основных настроек - проверка прав доступа к директории /writable. Дело в том, что в процессе работы фреймворка происходит сохранение некоторой рабочей информации в файлы. Это могут быть файлы кеша, логи работы, сохранение значений сессии и т.д. Поэтому, тебе необходимо убедиться, что директория /writable и все её поддиректории имеют права на запись со стороны пользователя или учетной записи, под которой работает твой web-сервер.

Параметры web-сервера Apache

Особых требований к настройке web-сервера Apache практически нет. Единственное, что необходимо проверить, так это активное состояние модуля "mod_rewrite". Для этого, открой основной файл web-сервера Apache apache2/conf/httpd.conf (у тебя он может быть иным) и найди в нем параметр:

LoadModule rewrite_module modules/mod_rewrite.so

Если данная строка закомментирована, тогда раскомментируй её и обязательно выполни перезапуск сервера.

Так же проверь, что в элементе <Directory>, определяющим твой хост, директива AllowOverride разрешала перезапись параметров из .htaccess файла:

  <Directory "/opt/lamp7.2/apache2/htdocs">
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
  </Directory>

 

Дело в том, что вся работа фреймворка осуществляется через главный стартовый файл /index.php и этот файл участвует в построение строки запроса в браузере. Например, мы хотим обратиться к странице news. В этом случае, адрес для перехода будет http://твой-сайт.ru/index.php/news. Таким образом, к какой бы странице ни шло обращение, мы всегда будем видеть в строке index.php. Для того, чтобы скрыть (не исключить, а именно скрыть) этот файл и используется модуль mod_rewrite с соответствующими правилами в файле .htaccess.

 

Ну вот и всё! Теперь пришло время попрощаться с установками, настройками, проверками и прыгнуть прямиком в знакомство с фреймворком Codeigniter 4! Если параметры твоего сервера отвечают всем необходимым требованиям и ты всё сделал правильно, то зайдя по web-адресу проекта, ты должен будешь увидеть стартовую страницу, которая говорит о том, что всё готово для начала написания твоих первых строк кода!

 

P.S. Если ты изменил параметры окружения и задал для ENVIRONMENT значение, например, development, то в самом низу стартовой страницы у тебя должно быть написано:

Page rendered in 0.0164 seconds. Environment: development

Если ты указал параметр development, но по-прежнему видишь production, значит ты где-то ошибся.


Комментарии к разделу:

Пока ещё никто не оставил своего комментария. Оставить свой!

Добавить комментарий к статье:


Ваше имя:
Ваша почта:

  Закрыть