Статьи

Как создать CodeIgniter Web App на PHPFog

PHPFog — это облачный хостинг для приложений PHP. Он предлагает бесплатное разделяемое облако, которое включает доступ к базе данных MySQL и возможность добавлять 3 приложения в вашу учетную запись. Основная идея PHPFog заключается в том, что он отвечает за все требования к серверу, предоставляя вам свободу в разработке и написании приложения.

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

Создание учетной записи

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

подписка для аккаунта на PHPFog

Как только ваша учетная запись будет зарегистрирована, вы увидите экран «Создание приложения». Это состоит из 2 разделов: или предопределенное приложение, такое как WordPress, или фреймворк:

Создать приложение

создать приложение на PHPFog

Создать приложение с установкой фреймворка

создать фреймворк на PHPFog

Создать приложение

В этой статье я расскажу вам, как создать скелетное приложение с использованием инфраструктуры CodeIgniter. Поэтому в нижней половине окна щелкните значок CodeIgniter:

CodeIgniter на PHPFog

Ваше приложение будет создано сразу же, и вы увидите такой экран:

приложение, развертываемое на PHPFog

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

После завершения развертывания приложения вы можете нажать кнопку «Просмотр живого сайта» в правом верхнем углу консоли приложения. Вам должна быть представлена ​​страница приветствия CodeIgniter по умолчанию на новой вкладке браузера:

CodeIgniter запущен и работает на PHPFog

Создать ключ SSH

Возможно, вы уже создали пару открытый / закрытый ключ на своем компьютере. Но если у вас его нет, вам нужно будет его создать. У PHPFog есть очень полезное руководство, которое объясняет, как это сделать. Он охватывает Mac и Windows; процедура для Linux почти такая же, как для Mac.

Вам нужны ключи ssh, чтобы сервер PHPFog мог безопасно общаться с вашим компьютером. В окне учетной записи нажмите на SSH Keys . Здесь вы можете добавить открытую часть только что созданного ключа:

добавьте свой открытый ключ на PHPFog

Как только ваш ключ был успешно загружен, вы увидите сообщение об успехе:

добавьте свой открытый ключ на PHPFog

Клонирование приложения на ваш компьютер

Теперь самое интересное начинается. Я предполагаю, что на вашем компьютере уже установлен Git. Если у вас его нет, вы можете найти его здесь .

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

Git URL на PHPFog

Очевидно, что URL будет отражать имя домена / учетной записи, которую вы выбрали.

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

git clone [email protected]:your-domain.phpfogapp.com your-project-name

Вы увидите, как Git загружает код из вашего приложения PHPFog в каталог, который вы назвали в конце команды clone. Теперь вы можете открыть код в виде проекта в вашей любимой IDE / текстовом редакторе. Далее мы внесем некоторые изменения в конфигурацию фреймворка и отправим изменения обратно в репозиторий PHPFog.

Работа с исходным кодом

Первое, что мы сделаем, чтобы мы могли использовать красивые URL в нашем веб-приложении CodeIgniter, — это добавление файла .htaccess. Это также послужит хорошим быстрым тестом для отправки кода обратно в репозиторий PHPFog. Вот файл .htaccess, который вы можете использовать с CodeIgniter:

 <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

Добавьте это в файл .htaccess в корневом каталоге проекта. Теперь, вернувшись в окно терминала, вы можете запустить:

 git status

И ответ покажет вам недавно добавленный файл. Сделать:

 git add .

подготовить файл, а затем зафиксировать изменения:

 git commit -am 'add a .htaccess file for pretty url's'

Наконец, чтобы отправить этот файл на сервер, вы можете нажать:

 git push origin master

Обновление Framework Framework

Вы только что обновили исходный код на сервере PHPFog на последнем шаге. Вы действительно не можете увидеть это изменение, хотя. Кроме того, хотя у вас есть информация о конфигурации базы данных, вам все равно нужно добавить ее в платформу, чтобы она знала, как взаимодействовать с базой данных MySQL.

Обновите конфигурацию базы данных

Откройте файл application / config / database.php и добавьте параметры конфигурации базы данных, созданные для вас PHPFog:

 $db['default']['hostname'] = 'mysql-shared-02.phpfog.com';
$db['default']['username'] = 'your username';
$db['default']['password'] = 'your password';
$db['default']['database'] = 'your database name';
$db['default']['dbdriver'] = 'mysql';

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

Обновление конфигурации сайта

Затем мы добавим правильный URL-адрес сайта и удалим файл index.php из наших URL-адресов, поскольку мы используем файл .htaccess. Откройте приложение / config / config.php:

 $config['base_url'] = 'http://your-name-here.phpfogapp.com/';
$config['index_page'] = '';

Пока мы на этом, мы будем загружать пару ресурсов, которые будут полезны. Откройте application / config / autoload.php и обновите разделы библиотек и помощников:

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

Подтвердите и внесите свои изменения.

Доказательство работы вещей

Теперь мы готовы сделать некоторое кодирование, которое фактически повлияет на веб-сайт таким образом, чтобы мы могли его видеть. Откройте application / views / welcome_message.php и скопируйте содержимое в новый файл с именем page2.php в папке views. Затем откройте application / controllers / welcome.php и создайте новый метод:

 public function page2()
{
    $this->load->view('page2');
}

Затем вы можете внести небольшие изменения в application / views / welcome_message.php:

 <div id="body">
    <p><?=anchor(base_url() . 'welcome/page2', 'Go to page 2')?></p>

Мы используем помощник URL CodeIgniters здесь. Вы можете сделать что-то подобное в application / views / page2.php:

 <div id="body">
    <p><?=anchor(base_url() . 'welcome', 'Go to the home page')?></p>

Подтвердите изменения и отправьте их в браузер:

CodeIgniter с обновлениями кода на PHPFog

CodeIgniter с обновлениями кода на PHPFog

Здесь мы видим, что наши простые обновления кода отправляются на сервер, и мы также видим, что наши красивые URL работают.

Тестирование базы данных

Я создал простую таблицу с именем ‘notes’ с помощью установки phpMyAdmin, предоставляемой PHPFog. Я добавил следующие поля: id, title, note. Затем я создал пару тестовых заметок.

Вернувшись в редактор, создайте в приложении / моделях новый файл с именем ‘notes_model.php’. Затем добавьте метод для получения всех заметок:

 <?php
class Notes_model extends CI_Model
{
    public function __construct()
    {
        parent:: __construct();
    }

    public function get_notes()
    {
        $data = array();
        $sql = "SELECT * FROM notes";
        $q = $this->db->query($sql);
        if($q->num_rows() > 0)
        {
            foreach($q->result() as $row)
            {
                $data[] = $row;
            }

            return $data;
        }
        else
        {
            return 0;
        }
    }
}

Теперь нам нужно подключить модель к методу в контроллере (application / controllers / welcome.php):

 public function page2()
{
    $this->load->model('notes_model');
    $data['notes'] = $this->notes_model->get_notes();
    $this->load->view('page2',$data);
}

Здесь вы можете видеть, что мы загружаем нашу модель заметок, вызываем метод get_notes () и присваиваем результаты массиву ($ data), который можно передать представлению.

В application / views / page2.php добавьте следующий код:

 <div id="body">
    <p><?=anchor(base_url() . 'welcome', 'Go to the home page')?></p>
    <?php if($notes > 0):?>
    <?php foreach($notes as $n):?>
        <p>
            <?=$n->title?><br />
            <?=$n->note?>
        </p>
    <?php endforeach;?>
    <?php else:?>
        No notes found.
    <?php endif?>

Добавьте, подтвердите и отправьте изменения, затем проверьте результаты в своем браузере:

CodeIgniter с MySQL на PHPFog

Вывод

PHPFog позволяет легко устанавливать и развертывать веб-приложения PHP в облаке. Вам не нужно беспокоиться о настройке сервера, баз данных или каких-либо обновлений. Это все сделано для вас. Кодирование в облаке также позволяет упростить собственную цепочку инструментов разработки, поскольку все, что вам действительно нужно, — это текстовый редактор и Git. Нет больше боли FTP!

Зажигание спички дымом через Shutterstock