Te ayudo a crear una API RESTful en PHP.
Te ayudo a crear una API RESTful en PHP. Aquí tienes una implementación completa:
Estructura del proyecto
api/
├── config/
│ └── database.php
├── controllers/
│ └── ApiController.php
├── models/
│ └── User.php
├── .htaccess
└── index.php1. Archivo .htaccess (para URL amigables)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type, Authorization"2. Configuración de la base de datos (config/database.php)
<?php
class Database {
private $host = 'localhost';
private $db_name = 'tu_base_de_datos';
private $username = 'tu_usuario';
private $password = 'tu_contraseña';
public $conn;
public function getConnection() {
$this->conn = null;
try {
$this->conn = new PDO(
"mysql:host=" . $this->host . ";dbname=" . $this->db_name,
$this->username,
$this->password
);
$this->conn->exec("set names utf8");
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $exception) {
echo "Error de conexión: " . $exception->getMessage();
}
return $this->conn;
}
}
?>3. Modelo de usuario (models/User.php)
<?php
class User {
private $conn;
private $table_name = "users";
public $id;
public $name;
public $email;
public $created_at;
public function __construct($db) {
$this->conn = $db;
}
public function read() {
$query = "SELECT id, name, email, created_at FROM " . $this->table_name;
$stmt = $this->conn->prepare($query);
$stmt->execute();
return $stmt;
}
public function create() {
$query = "INSERT INTO " . $this->table_name . "
Comentarios
Publicar un comentario