Как включить встроенный модуль Phalcon в ServBay
Как мощный интегрированный инструмент для веб-разработки, ServBay поставляется с модулем Phalcon, и его включение очень просто. Phalcon, будучи высокопроизводительным PHP фреймворком, благодаря модульной архитектуре позволяет разработчикам легко создавать эффективные веб-приложения.
Введение в Phalcon
Phalcon — это полнофункциональный PHP фреймворк с открытым исходным кодом, известный своей скоростью и низким использованием ресурсов. В отличие от традиционных PHP фреймворков, Phalcon написан на языке C и загружается как расширение PHP. Это дает Phalcon значительные преимущества в производительности, одновременно предлагая богатый набор функций.
Основные характеристики
- Высокая производительность: Поскольку Phalcon работает как C-расширение, он быстрее и потребляет меньше ресурсов по сравнению с фреймворками, написанными на чистом PHP.
- Низкая нагрузка: Архитектура Phalcon позволяет обрабатывать запросы с меньшими затратами памяти и процессорных ресурсов.
- Богатый функционал: Phalcon предоставляет полную MVC-структуру, ORM, шаблонизатор, маршрутизацию, кэш, очереди и другие функции, удовлетворяя различным потребностям веб-разработки.
- Простота использования: Несмотря на то, что Phalcon написан на C, разработчики могут использовать знакомый PHP-синтаксис, что снижает порог вхождения.
- Модульная архитектура: Компоненты Phalcon крайне модульны, разработчики могут выбирать и использовать только нужные компоненты.
Версии модуля Phalcon в ServBay
ServBay поддерживает несколько версий PHP и для каждой версии предустановлен соответствующий модуль Phalcon. Конкретные версии следующие:
- PHP 5.6, 7.0, 7.1: Phalcon 3.4.5
- PHP 7.2, 7.3, 7.4: Phalcon 4.1.2
- PHP 8.0, 8.1, 8.2, 8.3, 8.4: Phalcon 5.7.0
Как включить модуль Phalcon
По умолчанию, модуль Phalcon отключен. Процесс его включения очень прост: необходимо перейти в раздел Языки
-PHP
, выбрать версию PHP, для которой вы хотите включить модуль, например, PHP 8.4
, кликнуть на Расширения
справа и активировать переключатель слева от модуля Phalcon
, затем сохранить изменения.
Пользователь также может вручную изменить конфигурацию модуля, для этого следуйте следующим шагам:
Шаг 1: Найдите конфигурационный файл
Сначала перейдите в директорию conf.d
для соответствующей версии PHP. Например, чтобы включить модуль Phalcon для PHP 8.3, необходимо отредактировать следующий файл:
/Applications/ServBay/etc/php/8.3/conf.d/phalcon.ini
Шаг 2: Редактирование конфигурационного файла
Откройте файл phalcon.ini
и раскомментируйте следующую строку:
[Phalcon]
; Uncomment the following line to enable Phalcon
extension = phalcon.so
2
3
Шаг 3: Включение PSR модуля (только для PHP 7.2 - PHP 7.4)
Для версий PHP 7.2 до PHP 7.4 необходимо дополнительно загрузить модуль PSR (уже включен в ServBay):
; Uncomment both Psr & Phalcon to enable Phalcon
[Psr]
extension = psr.so
[Phalcon]
extension = phalcon.so
2
3
4
5
Шаг 4: Перезапуск PHP сервиса
Через панель управления сервисами в ServBay перезапустите соответствующий PHP сервис, например PHP 8.3. После перезапуска модуль Phalcon будет успешно загружен.
Проверка успешной загрузки модуля Phalcon
Вы можете проверить успешную загрузку модуля Phalcon, создав простой PHP файл. В корневом каталоге веб-сервера создайте файл phpinfo.php
со следующим содержимым:
<?php
phpinfo();
?>
2
3
Зайдите на https://servbay.host/phpinfo.php
и в информации о PHP на этом экране найдите данные о модуле Phalcon. Если они есть, модуль успешно загружен.
Пример использования
После включения модуля Phalcon вы можете использовать фреймворк Phalcon в PHP-коде для веб-разработки. Вот простой пример того, как создать базовое веб-приложение с использованием Phalcon:
Пример кода
- Создание структуры каталогов проекта
phalcon
├── app
│ ├── controllers
│ │ └── IndexController.php
│ └── views
│ └── index
│ └── index.phtml
└── public
└── index.php
2
3
4
5
6
7
8
9
- Фронт-контроллер: public/index.php
<?php
use Phalcon\Autoload\Loader;
use Phalcon\Di\FactoryDefault;
use Phalcon\Mvc\View;
use Phalcon\Mvc\Url;
use Phalcon\Mvc\Application;
define('BASE_PATH', dirname(__DIR__ . '/../../'));
define('APP_PATH', BASE_PATH . '/app');
$loader = new Loader();
$loader->setDirectories(
[
APP_PATH . '/controllers/',
APP_PATH . '/models/',
]
);
$loader->register();
$container = new FactoryDefault();
$container->set(
'view',
function () {
$view = new View();
$view->setViewsDir(APP_PATH . '/views/');
return $view;
}
);
$container->set(
'url',
function () {
$url = new Url();
$url->setBaseUri('/');
return $url;
}
);
$application = new Application($container);
try {
// Обработка запроса
$response = $application->handle(
$_SERVER["REQUEST_URI"]
);
$response->send();
} catch (\Exception $e) {
echo 'Exception: ', $e->getMessage();
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
- Контроллер: app/controllers/IndexController.php
<?php
use Phalcon\Mvc\Controller;
use Phalcon\Support\Version;
class IndexController extends Controller
{
public function indexAction()
{
// Получить номер версии Phalcon
$phalconVersion = new Version();
// Передать номер версии в представление
$this->view->phalconVersion = $phalconVersion->get();
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- Представление: app/views/index/index.phtml
<!DOCTYPE html>
<html>
<head>
<title>Hello ServBay</title>
</head>
<body>
<h1>Hello ServBay!</h1>
<p>Phalcon Version: <?= $phalconVersion ?></p>
</body>
</html>
2
3
4
5
6
7
8
9
10
Заключение
ServBay предоставляет удобный способ управления и активации модуля Phalcon. Через простую настройку и перезапуск операции, разработчики могут быстро активировать модуль Phalcon в различных версиях PHP, используя его высокую производительность и богатый функционал, который помогает повысить эффективность разработки веб-приложений. Высокая производительность, низкая нагрузка и богатый функционал делают Phalcon отличным выбором для создания эффективных и масштабируемых веб-приложений.