Cómo habilitar el módulo Phalcon incluido en ServBay
Como una potente herramienta de desarrollo web integrada, ServBay incluye el módulo Phalcon, y su proceso de habilitación es muy sencillo. Phalcon, siendo un framework PHP de alto rendimiento, su diseño modular permite a los desarrolladores construir aplicaciones web eficientes con facilidad.
Introducción al framework Phalcon
Phalcon es un completo framework PHP de código abierto, conocido por su velocidad y bajo consumo de recursos. A diferencia de los frameworks PHP tradicionales, Phalcon está escrito en lenguaje C y se carga como una extensión de PHP. Esto le permite a Phalcon tener una ventaja significativa en términos de rendimiento, además de ofrecer un conjunto de funciones robusto.
Características principales
- Alto rendimiento: Dado que Phalcon se ejecuta como una extensión en C, es más rápido y consume menos recursos en comparación con frameworks implementados en PHP puro.
- Bajo costo: El diseño arquitectónico de Phalcon hace que use menos memoria y recursos de CPU al manejar solicitudes.
- Funciones robustas: Phalcon provee una estructura completa MVC, ORM, motor de plantillas, enrutamiento, caché, cola y muchas funciones más para satisfacer diversas necesidades de desarrollo web.
- Facilidad de uso: Aunque Phalcon está escrito en C, los desarrolladores pueden utilizar la sintaxis familiar de PHP, lo que reduce la curva de aprendizaje.
- Diseño modular: Los componentes de Phalcon son altamente modulares y los desarrolladores pueden elegir cuáles usar según sus necesidades.
Versiones del módulo Phalcon incluido en ServBay
ServBay soporta múltiples versiones de PHP y para cada una de ellas incluye el módulo Phalcon correspondiente, listados a continuación:
- 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
Cómo habilitar el módulo Phalcon
Por defecto, el módulo Phalcon está deshabilitado. Habilitarlo es muy sencillo, solo se necesita modificar el archivo de configuración correspondiente a la versión de PHP en uso. A continuación, los pasos detallados:
Paso uno: Encontrar el archivo de configuración
Primero, ubica el directorio conf.d
para la versión de PHP correspondiente. Por ejemplo, para habilitar el módulo Phalcon en PHP 8.3, necesitamos editar el siguiente archivo:
/Applications/ServBay/etc/php/8.3/conf.d/phalcon.ini
Paso dos: Editar el archivo de configuración
Abre el archivo phalcon.ini
y descomenta el siguiente contenido:
[Phalcon]
; Descomentar la siguiente línea para habilitar Phalcon
extension = phalcon.so
2
3
Paso tres: Habilitar el módulo PSR (solo para PHP 7.2 - PHP 7.4)
Para las versiones de PHP 7.2 a 7.4, es necesario cargar adicionalmente el módulo PSR (ya incluido en ServBay):
; Descomentar tanto Psr & Phalcon para habilitar Phalcon
[Psr]
extension = psr.so
[Phalcon]
extension = phalcon.so
2
3
4
5
Paso cuatro: Reiniciar el servicio PHP
En el panel de gestión de servicios de ServBay, reinicia el servicio PHP correspondiente. Por ejemplo, reiniciar el servicio PHP 8.3. Una vez reiniciado, el módulo Phalcon se cargará con éxito.
Verificar si el módulo Phalcon se cargó correctamente
Se puede verificar si el módulo Phalcon se ha cargado exitosamente creando un simple archivo PHP. En el directorio raíz del servidor web, crea un archivo phpinfo.php
con el siguiente contenido:
<?php
phpinfo();
?>
2
3
Accede a https://servbay.host/phpinfo.php
y busca la información relacionada al módulo Phalcon en la página de información de PHP. Si ves información sobre Phalcon, el módulo se ha cargado correctamente.
Ejemplo de uso
Después de habilitar el módulo Phalcon, puedes utilizar el framework Phalcon en tu código PHP para desarrollar aplicaciones web. A continuación, un ejemplo sencillo que muestra cómo usar Phalcon para crear una aplicación web básica:
Código de ejemplo
- Crear la estructura del proyecto
phalcon
├── app
│ ├── controllers
│ │ └── IndexController.php
│ └── views
│ └── index
│ └── index.phtml
└── public
└── index.php
2
3
4
5
6
7
8
9
- Controlador frontal: 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 {
// Manejar la solicitud
$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
- Controlador: app/controllers/IndexController.php
<?php
use Phalcon\Mvc\Controller;
use Phalcon\Support\Version;
class IndexController extends Controller
{
public function indexAction()
{
// Obtener la versión de Phalcon
$phalconVersion = new Version();
// Pasar la versión a la vista
$this->view->phalconVersion = $phalconVersion->get();
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- Vista: 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
Conclusión
ServBay proporciona una manera conveniente de gestionar y habilitar el módulo Phalcon. Con una configuración y reinicio simples, los desarrolladores pueden rápidamente habilitar el módulo Phalcon en diferentes versiones de PHP, aprovechando al máximo su alto rendimiento y ricas funciones, mejorando así la eficiencia del desarrollo de aplicaciones web. El alto rendimiento, bajo costo y robustas funciones de Phalcon lo convierten en la elección ideal para construir aplicaciones web eficientes y escalables.