Crear una calculadora científica en PHP con almacenamiento de operaciones y resultados

0
21

Archivo: calculator.php

<?php // Implementación de la política de seguridad de contenido, X-Frame-Options y X-Content-Type-Options nosniff en la respuesta HTTP. class Calculator { private $history = []; private $sessionToken; public function __construct($sessionToken) { $this->sessionToken = $sessionToken; // Cargar historia desde archivo si existe if (file_exists('history.json')) { $this->history = json_decode(file_get_contents('history.json'), true); } } public function sumar($a, $b) { return $a + $b; } public function restar($a, $b) { return $a - $b; } public function multiplicar($a, $b) { return $a * $b; } public function dividir($a, $b) { if ($b == 0) { throw new Exception('División por cero'); } return $a / $b; } public function potencia($base, $exponente) { return pow($base, $exponente); } public function factorial($n) { if (!is_int($n) || $n < 0) { throw new Exception('Factorial no definido para números negativos'); } $resultado = 1; for ($i = 2; $i <= $n; $i++) { $resultado *= $i; } return $resultado; } public function guardarHistoria() { file_put_contents('history.json', json_encode($this->history)); } public function agregarOperacion($operacion, $resultado) { array_push($this->history, ['operacion' => $operacion, 'resultado' => $resultado]); } } ?>

Uso

$calculator = new Calculator('token_de_sesion'); $calculator->agregarOperacion('2 + 2', $calculator->sumar(2, 2)); $calculator->guardarHistoria();
Buscar
Categorías
Leer más
Ciberseguridad
Open VSX Registry Vulnerability Allows Stored XSS and Session Hijacking
Open VSX Registry Vulnerability Allows Stored XSS and Session HijackingSummaryOpen VSX Registry...
Por Mario Serrano 2026-06-30 10:26:33 0 10
Ciberseguridad
CVE-2026-12866: Codeausf├╝hrung in expr-eval beheben
CVE-2026-12866: Codeausf├╝hrung in expr-eval behebenDieses Dokument beschreibt die...
Por Mario Serrano 2026-06-30 05:50:02 0 162
Otro
Titolo: Vulnerabilità CVE-2026-12866 - Dettagli CVSS, EPSS e CISA Kev | CVE Find (Italiano)
Titolo: Vulnerabilità CVE-2026-12866 - Dettagli CVSS, EPSS e CISA Kev | CVE FindSommario:La...
Por Mario Serrano 2026-06-30 06:15:05 0 50
Ciberseguridad
┌®┘êϪÏ▒█îÏ▓█î┘ä Ï│█îÏ¿Ï▒█î┘å┌» ϺÏ│┌®┘êÏ▒█îϬ█î ϬÏ╣┘ä█î┘à█î (Urdu)
┌®┘êϪÏ▒█îÏ▓█î┘ä Ï│█îÏ¿Ï▒█î┘å┌» ϺÏ│┌®┘êÏ▒█îϬ█î ϬÏ╣┘ä█î┘à█î┘à┘éÏ»┘à█ü (Urdu)Ϻ█î┘å...
Por Mario Serrano 2026-06-30 10:51:40 0 50
Ciberseguridad
ðùð░ð│ð¥ð╗ð¥ð▓ð¥ð║ (ð▓ ÐÇÐâÐüÐüð║ð¥ð╝)
ðùð░ð│ð¥ð╗ð¥ð▓ð¥ð║ (ð▓ ÐÇÐâÐüÐüð║ð¥ð╝)ðíð▓ð¥ð┤ð║ð░ (ð▓ ÐÇÐâÐüÐüð║ð¥ð╝)ðºÐéð¥...
Por Mario Serrano 2026-06-30 12:56:21 0 50