Все, что вам нужно начать с CodeIgniter

25 января 2018

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


Почему Framework?

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


Почему CodeIgniter?

CodeIgniter - очень легкая, хорошо работающая структура. В то время как он идеален для новичка (из-за небольшой кривой обучения), он также идеально подходит для больших и требовательных веб-приложений. CodeIgniter разрабатывается EllisLab и имеет полную, легкую для понимания документацию. Ниже приведен список причин, по которым CodeIgniter использует интеллектуальную инфраструктуру?

Малая занимаемая площадь с исключительной эффективностьюПодход MVC к разработке (хотя он очень слабо основан на гибкости)Создает дружественные поисковые системы чистые URLЛегко расширяемыйРаботает как на PHP 4 (4.3.2+), так и на 5Поддержка большинства основных баз данных, включая MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite,и ODBC.Безопасность приложений - это фокус. Операции простого кэширования.Множество библиотек и помощников, которые помогут вам в сложных операциях, таких как электронная почта, манипулирование изображениями, проверка правильности формы, загрузка файлов, сеансы, многоязычные приложения и создание apis для вашего приложения. Большинство библиотек загружаются только когда это необходимо, что сокращает ресурсы, необходимые


Почему MVC?

Во-первых, MVC означает Model, View, Controller. Это программный шаблон, используемый в разработке веб-приложений. Этот шаблон изолирует пользовательский интерфейс и бэкэнд (то есть взаимодействие с базой данных друг от друга). Успешная реализация этого позволяет разработчикам изменять свой пользовательский интерфейс или бэкэнд, не влияя на другие. MVC также увеличивает гибкость приложения, поскольку он может повторно использовать модели или больше просмотров снова). Ниже приведено описание MVC.

Модель: Модель имеет дело с необработанными данными и взаимодействием с базой данных и будет содержать функции, такие как добавление записей в базу данных или выбор конкретных записей базы данных. В CI компонент modeln не требуется и может быть включен в контроллер.Вид: представление относится к отображению данных и интерфейсных элементов управления для пользователя с.В CI представление может представлять собой веб-страницу, rss-канал, данные ajax или любую другую «страницу».Контроллер: контроллер действует как промежуточный вид и модель, и, как следует из названия, он контролирует, что отправляется в представление из модели. В CI контроллер также является местом для загрузки библиотек и помощников.

Примером подхода MVC является контактная форма.

    Пользователь взаимодействует с представлением, заполняя форму и отправляя ее.Контроллер получает данные POST из формы, контроллер отправляет эти данные в модель, которая обновляется в базе данных.Затем модель отправляет результат работы базы данных контроллеру.Этот результат обновляется в представлении и отображается пользователю.

Это может звучать как много работы. Но, поверьте мне; когда вы работаете с большим приложением, возможность повторного использования моделей или просмотров экономит много времени.


Шаг 1: Загрузка CodeIgniter

Слишком начала вам нужно будет загрузить CodeIgniter и загрузить его на свой сервер. Наведите свой браузер на http: www.codeigniter.com и нажмите кнопку большой загрузки. Для этого урока мы используем версию 1.70.


Шаг 2: Установка и исследование CodeIgniter

После того, как вы загрузили CodeIgniter, все, что вам нужно сделать, это разархивировать его и переименовать в папку «CodeIgniter_1.7.0» либо имя приложения, либо, в данном случае, «ci» и загрузите его на сервер с поддержкой PHP и MySQL. Теперь, когда на вашем сервере я объясню, для чего предназначены все папки и файлы:

Системная папка хранит все файлы, которые делают CI work.. Папка приложения почти идентична содержимому системной папки, так что пользователь может иметь файлы, которые относятся к этому приложению, например, если пользователь только хотел загрузите помощника в одном приложении, он поместит его в папку помощников системных приложений, а не в системные помощники folder.. В папке конфигурации хранятся все файлы конфигурации, относящиеся к приложению. Whatn включает в себя информацию о том, какие библиотеки должны автоматически загружать приложение и данные базы данных.В папке контроллеров хранятся все контроллеры для приложения.В папке с ошибками хранятся все страницы ошибок шаблона для приложения. При возникновении ошибки страница с ошибкой создается из одного из этих шаблонов. В папке помощников хранятся все помощники, специфичные для вашего приложения.Папка «Крючки» предназначена для перехватов, которые изменяют функционирование основных файлов CI,перехватов следует использовать только продвинутым пользователям CI. Языковая папка хранит строки текста, которые могут быть загружены через библиотеку languagen для создания многоязычных сайтов.В папке библиотек хранятся все библиотеки, специфичные для вашего приложения.В папке моделей хранятся все модели для приложения.В папке views хранятся все представления для приложения.В папке кэша хранятся все кэши, созданные библиотекой кэширования.В папке codeigniter хранятся все внутренние элементы, которые делают работу CI.В папке базы данных хранятся все драйверы и класс базы данных, которые позволяют вам подключаться к базе данных ton.n. В папке fonts хранятся все шрифты, которые могут использоваться библиотекой обработки изображений.В папке помощников хранятся все основные помощники CI, но вы можете разместить здесь свои собственные помощники, к которым можно получить доступ всеми вашими приложениями.Языковая папка хранит все файлы основного языка CI, которые используются в библиотеках и помощниках. Вы также можете поместить свои собственные языковые папки, к которым можно получить доступ всеми вашими приложениями. В папке libaries хранятся все основные библиотеки CI, но вы можете разместить свои собственные библиотекиздесь, к которым можно получить доступ всеми вашими приложениямиХранилища папок журналов все журналы, созданные CIВ папке плагина хранятся все плагины, которые вы можете использовать. Плагины почти идентичны для помощников, плагины - это функции, предназначенные для совместного использования сообществом. В папке scaffolding хранятся все файлы, которые делают класс леса незаменимым.Scaffolding предоставляет удобный интерфейс, подобный CRUD, для доступа к информации в вашей базе данных во время разработки.В user_guide находится руководство пользователя для CIФайл index.php - это бит, который выполняет все магии CI, также позволяет вам изменять имя системы и папки приложения.


Шаг 3: Настройка CodeIgniter

Получение CI и запуск довольно просты. В большинстве случаев вам нужно отредактировать несколько файлов конфигурации.

Вам необходимо настроить CI, чтобы указать правильный базовый URL-адрес приложения. Для этого откройте системное приложение config config.php и отредактируйте элемент массива base_url, чтобы указать на ваш сервер и папку CI.

$config['base_url'] = "http://localhost/ci/";

Шаг 4: Тестирование CodeIgniter

Мы проведем быстрый тест, чтобы проверить, правильно ли работает CI. Перейдите в http: localhost ci, и вы увидите следующее.


Шаг 5: Настройка CodeIgniter Cont.

Если вы работаете, мы должны завершить настройку. Мы начинаем настраивать его специально для нашего нового приложения helloworld. Если вы хотите использовать базу данных с вашим приложением (что в этом уроке мы делаем.), Откройте системное приложение config database.php и установите для следующих элементов массива соответствующие значения. Этот код подключается к базе данных MySQLn под названием «helloworld» на локальном хосте с именем пользователя «root» и паролем «root».

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "root";
$db['default']['database'] = "helloworld";
$db['default']['dbdriver'] = "mysql";

Кроме того, поскольку мы будем использовать базу данных совсем немного, мы хотим, чтобы она загружалась автоматически, поэтому нам не нужно специально загружать ее при каждом подключении. Откройте конфигурацию системного приложения autoload.php filen и добавьте «базу данных» в массив автозагрузок.

$autoload['libraries'] = array('database');

В настоящее время в настройке CI будет установлен контроллер по умолчанию «welcome.php»; вы можете найти это в папке контроллеров системных приложений. Для этого урока удалите его и откройте файл config.php вашего системного приложения. Измените элемент массива по умолчанию, чтобы указать на контроллер «helloworld».

$route['default_controller'] = "Helloworld"

У CI также есть файл вида, который нам не нужен. Откройте папку просмотра системного приложения и удалите файл welcome_message.php.


Шаг 6: Создайте базу данных Helloworld

Поскольку это не действительно учебник по MySQL, я буду держать этот раздел как можно короче. Создайте базу данных под названием «helloworld» и запустите следующий SQL через phpMyAdmin (или похожий клиент MySQL).

CREATE TABLE `data` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(255) NOT NULL,
  `text` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=IoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
INSERT INTO `data` (`id`, `title`, `text`) VALUES(1, 'Hello World!', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla
sapien eros, lacinia eu, consectetur vel, dignissim et, massa. Praesent suscipit nunc vitae neque. Duis a ipsum. Nunc a erat. Praesent
ec libero. Phasellus lobortis, velit sed pharetra imperdiet, justo ipsum facilisis arcu, in eleifend elit nulla sit amet tellus.
Pellentesque molestie dui lacinia nulla. Sed vitae arcu at nisl sodales ultricies. Etiam mi ligula, consequat eget, elementum sed,
vulputate in, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;');

Шаг 7: Создание модели Helloworld

Модели являются необязательными в CI, но считается, что их использовать лучше всего. Это просто классы PHP, которые содержат функции, которые работают с информацией из базы данных. Пройдите вперед и сделайте файл helloworld_model.php в папке системных приложений. В этом файле создайте класс Helloworld_model, конструкцию Helloworld_model и функцию, называемую getData.

В функции getData мы будем использовать функции базы данных Active Record, которые ускоряют время разработки базы данных при работе с CI и базами данных. По сути, это упрощенные функции для создания запросов.

<?php
class Helloworld_model extends Model {
    function Helloworld_model()
    {
        // Call the Model constructor
        parent::Model();
    }
    function getData()
        {
            //Query the data table for every record and row
            $query = $this->db->get('data');
            if ($query->num_rows() > 0)
            {
                //show_error('Database is empty!');
            }else{
                return $query->result();
            }
        }
}
?>

Шаг 8: Создайте контроллер Helloworld

Создадим контроллер, который отобразит представление и загрузит модель. Таким образом, когда вы перейдете на адрес http: localhost ci index.php helloworld, вы увидите данные из базы данных.В контроллерах приложений системы каталогов создайте файл helloworld.phpВ этом новом файле мы Создадим класс, который имеет то же имя, что и файл.

В этом классе вам нужно создать функцию «index». Это функция, которая будет отображаться, если не предусмотрено иное. когда http: localhost ci index.php helloworld isn посещено. Если, например, мы создали функцию foo, мы могли бы найти ее как http: localhost ci index.php helloworld foo.

Главное, что нужно помнить, это то, как CI структурирует свои URL-адреса; например, http: host codeignitordirectory index.php class function.

В функции индекса контроллера нам нужно загрузить модель, запросить базу данных и передать эти данные queriedn в представление. Для загрузки любых ресурсов в CI, например. библиотеки,помощников, представления или модели, мы используем класс нагрузки. После того, как мы загрузили модель, мы получим доступ к ней через ее имя модели и конкретную функцию. Чтобы передать данные в представление, нам нужно назначить его элементу arrayn и передать массив, который воссоздает элементы массива как переменную в файле представления.

<?php
    class Helloworld extends Controller{
        function index()
        {
            $this->load->model('helloworld_model');
            $data['result'] = $this->helloworld_model-><span class="sql">getData</span>();
            $data['page_title'] = "CI Hello World App!";
            $this->load->view('helloworld_view',$data);
        }
    }
?>

Если бы мы посетили http: localhost ci index.php helloworld сейчас, это не сработало бы; это потому, что файл представления не существует.


Шаг 9. Создание представления Helloworld

Файл представления - это то, с чем пользователь видит и взаимодействует, это может быть сегмент страницы или целая страница. Вы можете передать массив переменных в представление через второй аргументфункции load load. Чтобы сделать представление для нашего учебника, создайте новый файл helloworld_view.php в папке вида системного приложения. Затем нам просто нужно создать наши обычные элементы html, headn и body, а затем заголовок и абзац для информации из базы данных. Чтобы отобразить alln записи, полученные из базы данных, мы помещаем ее в цикл «foreach», который перебирает все элементы.

<html>
    <head>
        <title><?=$page_title?></title>
    </head>
    <body>
        <?php foreach($result as $row):?>
        <h3><?=$row->title?></h3>
        <p><?=$row->text?></p>
        <br />
        <?php endforeach;?>
    </body>
</html>

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


Шаг 10: Та-да и некоторые дополнительные функции

Когда вы посещаете «http: localhost ci index.php helloworld», вы должны увидеть нечто похожее на это.

Но мы еще не закончили. Есть несколько вещей, которые вы можете сделать, чтобы улучшить свой опыт CodeIgniter - как удаление этого раздражающего бита index.php из URL-адреса. Вы можете выполнить эту задачу, создав файл.htaccess в корневой папке и добавив следующий код.

RewriteEngine oRewriteCond $1 !^(index.php|images|robots.txt)nRewriteRule ^(.*)$ ci/index.php/$1 [L]n        

Вам также нужно открыть файл config.php в конфигурации системного приложения и отредактировать элемент массива index_page в пустой строке.

$config['index_page'] = "";

Еще один отличный способ - включить способность CI анализировать альтернативный синтаксис PHP, если он не включен сервером. Для этого откройте тот же файл, что и раньше, config config config.php и установите для элемента rewrite_short_tags значение TRUE.

$config['rewrite_short_tags'] = TRUE;

Надеюсь, все будет хорошо! С нетерпением ждем возможности увидеть в будущем больше инструкций CodeIgniter от меня.

Подписаться на RSS-канал NETTUTS для более ежедневных веб-разработок tuts и articles.