Теперь, когда ленточка церемонии открытия первого полурелиза CodeIgniter 4 снята, люди стали задаваться вопросами, как они могут начать работу с ним. Несколько вещей, которые делают большое влияние на начало работы, изменились, в то время как вы ожидали, что они будут такими же, как в CodeIgniter 3. Эта статья призвана помочь вам в этом разобраться.

Загрузка

В настоящее время есть два способа загрузки, хотя они оба подразумевают одно и то же.

1. Из терминала выполните: 

git clone git@github.com:bcit-ci/CodeIgniter4.git 

который будет тащить вниз последнюю версию develop ветки в новый каталог под названием CodeIgniter4.

2. Из GitHub https://github.com/bcit-ci/CodeIgniter4 сделайте прямую загрузку, нажав Clone или Download, а затем выбрать Download Zip. Распакуйте данные в новую папку.

Осмотр

Если вы начнете рассматривать новый код, вы увидите немного другое расположение каталогов, отличное от того, что вы привыкли видеть, хотя изменения минимальны:

  • /application       - Файлы вашего приложения
  • /public             - Это веб-корень вашего приложения, здесь index.php
  • /system         - CodeIgniter живет здесь
  • /tests              - Держит тесты для CodeIgniter и приложения
  • /user_guide_src - Исходные файлы для руководства пользователя. Инструкции, как построить их.
  • /writable           - Место для любой папки, которая должна быть доступна для записи

Два наиболее важных каталога это public и  user_guide_src. Public имеет веб-корень приложения. Лучшие практики говорят нам, что ваше приложение должно жить за пределами web и не должны быть доступны из браузера. При такой схеме, только файлы в public должны быть доступны конечным пользователям через браузер. Это согласуется с любым другим крупным фреймворком, но является изменением способа, которым CodeIgniter всегда делал это.

Папка user_guide_src содержит всю текущую документацию фреймворка. Насколько нам известно, документация актуальная для текущей версии, и планируется хранить ее в синхронизации, поскольку мы продолжаем идти. Это будет вашим лучшим другом, поскольку вы исследуете все за ближайшие дни или недели. Поскольку это не генерируемый HTML, все файлы внутри  source папки имеют удобный для восприятия человеком вид и выложено аналогично документации CodeIgniter 3. Найдите время, чтобы прочитать о новых вещах, поскольку на большинство ваших вопросов вы, надеюсь, действительно найдете ответы, скрывающихся в различных местах.

Хорошо прочитайте следующие страницы, чтобы начать работу:

Начните играть

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

PHP-сервер

В настоящее время PHP имеет встроенный веб-сервер.  Это самый простой способ получить работу. Перейдя к командной строке, переместитесь к каталогу public и введите следующее:

$ php -S localhost:8000

Вот и все. Возвратитесь назад к вашему браузеру, перейдите к http://localhost:8000 и вы должны увидеть страницу приветствия CI4

Виртуальный хост

Более постоянное решение состоит в том, чтобы запустить другой локальный веб-сервер, такой как Apache или Nginx, и создать новый виртуальный хост к нему. Это позволит вам создать имя для сайта, например, ci4.dev, и использовать его в вашем браузере. Это особенно полезно так, чтобы Вы не волновались о командах RewriteBase для Apache конфигурации или любых других хитрых способах пройти в public папку. При настройке виртуального хоста, убедитесь, что он указывает на public папку, в противном случае она не будет работать.

Вот некоторые вспомогательные путеводители для тех, кто использует популярые AMP стеки локально:

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

Laravel Homestead является еще одним отличным решением для виртуальной машины PHP7 под управлением NGINX.

Ссылки по теме

Источник: Getting Started With CodeIgniter 4 Pre-Alpha
CodeIgniter Wikipedia: ru.wikipedia.org/wiki/CodeIgniter
Официальный сайт CodeIgniter: www.codeigniter.com
Официальный форум CodeIgniter: forum.codeigniter.com