Skip to content

Instantly share code, notes, and snippets.

View pazteddy's full-sized avatar
🏠
Working from home

Teddy Paz Muñoz pazteddy

🏠
Working from home
View GitHub Profile
@pazteddy
pazteddy / deplegar_app_laravel.md
Created March 5, 2026 20:35
Desplegar una app Laravel en Cloudways

Desplegar una app Laravel en Cloudways

Guía práctica para desplegar una aplicación de Laravel en Cloudways utilizando despliegue vía Git, configuración del servidor y manejo de entorno de producción.


Requisitos

Antes de comenzar asegúrate de contar con:

@pazteddy
pazteddy / instalar_laravel.md
Created February 27, 2026 16:18
Instalación de Laravel y creación de un proyecto API

🚀 Instalación de Laravel y creación de un proyecto API

Guía paso a paso para instalar Laravel Installer, configurar el PATH (si es necesario) y crear un nuevo proyecto API con Laravel.


1️⃣ Instalar Laravel Installer

Instalar el instalador global de Laravel utilizando Composer:

@pazteddy
pazteddy / products_api.sql
Last active February 23, 2026 19:26
Creación de base datos, tabla para productos y datos iniciales
-- Creación de base de datos
CREATE DATABASE products_api
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
-- Usar nuestro base de datos products_api
USE products_api;
-- Tabla para productos
CREATE TABLE products (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(150) NOT NULL,
@pazteddy
pazteddy / Index.php
Last active February 19, 2026 19:49
Generación de identificador único y validación de campos
<?php
function nextId(array $products): int
{
$maxId = 0;
foreach ($products as $product) {
$maxId = max($maxId, (int)($product["id"] ?? 0));
}
return $maxId + 1;
}
@pazteddy
pazteddy / .htaccess
Last active February 19, 2026 16:58
Permisos al directorio del proyecto para poder escribir con el usuario daemon (Apache/PHP) y manejo de enrutamiento
RewriteEngine On
# Si la petición es a un archivo o directorio que existe lo mostramos directamente
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Realizamos el enrutamiento para todas las peticiones
RewriteRule ^ Index.php [L,QSA]
@pazteddy
pazteddy / Index.php
Created February 19, 2026 15:37
Código base para cargar productos y mensaje de error
<?php
function storagePath(): string
{
return __DIR__ . "/storage_products.json";
}
function loadProducts(): array
{
$path = storagePath();
$seed = [
@pazteddy
pazteddy / .htaccess
Created February 14, 2026 12:58
Router centralizado
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ Index.php [QSA,L]
@pazteddy
pazteddy / BookingService.php
Created February 9, 2026 16:49
Clases Customer, Room e interfaz de pago PaymentMethod
<?php
declare(strict_types=1);
class Customer
{
public function __construct(
public string $name,
public string $email
) {}
}
@pazteddy
pazteddy / Index.php
Last active February 10, 2026 15:37
Procesar orden
<?php
declare(strict_types=1);
require_once __DIR__ . '/src/ProcessOrder.php';
$cart = [
["name" => "Mouse", "price" => 100, "quantity" => 2],
["name" => "Teclado", "price" => 150, "quantity" => 1],
["name" => "Producto roto"], // sin price/quantity -> salta
@pazteddy
pazteddy / AnonymousFunctions.php
Last active January 30, 2026 17:55
Lista de usuarios con edades y roles
<?php
declare(strict_types=1);
$users = [
["name" => "Teddy", "role" => "admin", "age" => 28],
["name" => "Edgar", "role" => "user", "age" => 16],
["name" => "Devi", "role" => "editor", "age" => 22],
["name" => "Maria", "role" => "user", "age" => 35],
];