En el post de hoy veremos cómo “programar” en Laravel desde Android, o dicho técnicamente, ejecutar un proyecto de Laravel (que usa PHP) dentro de un servidor Apache con PHP todo dentro de Termux corriendo sobre un dispositivo Android.
Las herramientas que necesitamos ya existen en Termux, y son php, mysql, composer y apache.
Además, no es obligatorio programar en el móvil (aunque sí posible); podemos simplemente montar un proyecto de Laravel en Android.
Requisitos
Necesitamos contar con Termux, Composer y toda la pila LAMP. A continuación vienen los tutoriales. Primero veamos cómo instalar y configurar Termux:
Instalar Apache y PHP:
Instalación de MySQL/MariaDB en Android:
Por cierto también vamos a necesitar Composer, para instalarlo ejecutamos:
pkg install composer
Recuerda seguir los pasos al pie de la letra y tratar de entender cada comando de los tutoriales anteriores.
Creando proyecto de Laravel en Termux
Ahora navegamos a htdocs
. Al menos en mi caso está en la ruta que se muestra a continuación, así que ejecuto lo siguiente:
cd /data/data/com.termux/files/usr/share/apache2/default-site/htdocs
Yo crearé un nuevo proyecto de Laravel con:
composer create-project laravel/laravel ejemplo_laravel
Eso va a crear la estructura del proyecto de Laravel en una carpeta llamada ejemplo_laravel
además de instalar las dependencias y configurar la clave de la app.
Probando creación de proyecto
Si desde ahora ingresamos a http://localhost:8080/ejemplo_laravel/public/index.php
podremos ver la app de bienvenida de Laravel.
Hola Laravel, desde Android
Ahora vamos a modificar un poco para hacer nuestro Hola mundo en Laravel desde Android con Termux.
Desde donde estamos (htdocs
) ingresamos a ejemplo_laravel
con cd ejemplo_laravel
, ahí vamos a editar el archivo que está en la carpeta routes
y que se llama web.php
, yo usaré vim así que ejecuto vim routes/web.php
.
Ahí creamos una nueva ruta llamada /hola
, simplemente vamos a regresar una cadena. El código queda así:
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/hola', function () {
return "Laravel en Android desde Termux. Parzibyte's blog";
});
Guardamos cambios y al abrir esa ruta en el navegador web (http://localhost:8080/ejemplo_laravel/public/index.php/hola
) debe aparecer lo siguiente:
A partir de aquí ya podemos montar nuestros proyectos de Laravel en Android, incluso si usan bases de datos pues ya tenemos a MySQL instalado.
Conclusión
Recuerda que incluso puedes usar el dispositivo como servidor, ya sea tableta o teléfono, y acceder a él desde otros dispositivos clientes.
También podemos instalar varias dependencias que nos permiten, por ejemplo, generar PDFs, archivos de Excel, entre otras.
Nota: si Composer te da problemas, recuerda que puedes instalar las dependencias en otro entorno y luego copiar absolutamente todo (incluyendo vendor) a Android.