PHP code example of juannw / quarkphp-mini

1. Go to this page and download the library: Download juannw/quarkphp-mini library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

juannw / quarkphp-mini example snippets



/**
 * Define rutas: mapea URLs a controladores y funciones con @
 */
$router->setNamespace('\App\Controllers');

$router->get('', 'HomeController@index');

// Rutas de ejemplo
$router->get('home/{title}', 'HomeController@recibeGet');     // GET con parámetro
$router->post('formulario', 'HomeController@recibePOST');     // Recepción de datos y envío JSON
$router->get('/db', 'HomeController@exampleDB');              // Ejemplo de conexión con DB
$router->get('/mail', 'HomeController@exampleMail');          // Ejemplo de envío de correo con plantilla


namespace App\Controllers;

use Quarkphp\Core\BaseController;
use Quarkphp\Helpers\EmailTemplate;
use Quarkphp\Helpers\DB;

class HomeController extends BaseController {
    public function index() {
        $this->view('home', ['titulo' => 'Bienvenido']);
    }

    public function recibeGet($title) {
        $this->view('home', ['titulo' => $title]);
    }

    public function recibePOST() {
        /* Obtiene todo POST sanitizado si son multipart/form-data o application/x-www-form-urlencoded */
        $data = $this->postData();
        $this->responseJson(['success' => true, 'datos' => $data], 200);
    }

    public function exampleDB() {
        /**
         * $db = DB::getInstance();
         * Usando el ORM de Medoo
         * $respuesta = $db->select('test', '*', ['id' => 1, 'LIMIT' => 10]);
         */
        $id = DB::insert('test', ['mensaje' => 'Juan']);
        $this->view('home', ['titulo' => 'Bienvenido', 'id' => $id]);
    }

    public function exampleMail() {
        $to = '[email protected]';
        $subject = 'Bienvenido';
        $viewData = ['nombre' => 'juannw', 'email' => '[email protected]'];
        if (EmailTemplate::send($to, $subject, 'emails/welcome', $viewData)) {
            echo "Enviado";
        } else {
            echo "Error";
        }
    }
}

$this->responseJson(['success' => true, 'datos' => ['nombre' => 'Juan']], 200);

$data = $this->postData();
$nombre = $data['nombre'] ?? 'Sin nombre';
$this->responseJson(['success' => true, 'datos' => $data], 200);

// Select con filtros y límite
$users = \Quarkphp\Helpers\DB::select('test', ['id', 'mensaje'], ['id[>]' => 0], 10);

// Insert
$id = \Quarkphp\Helpers\DB::insert('test', ['mensaje' => 'Juan']);

// Update
$affected = \Quarkphp\Helpers\DB::update('test', ['mensaje' => 'Actualizado'], ['id' => $id]);

// Delete
$deleted = \Quarkphp\Helpers\DB::delete('test', ['id' => $id]);

\Quarkphp\Helpers\EmailTemplate::send(
    '[email protected]',
    'Asunto',
    'emails/welcome',
    ['nombre' => 'Juan', 'email' => '[email protected]']
);
html
<form method="post" action=" echo BASE_URL;