Skip to content

Commit dbf34b9

Browse files
committed
Correccion rutas segunda vez
1 parent 3ef59a5 commit dbf34b9

File tree

1 file changed

+44
-78
lines changed

1 file changed

+44
-78
lines changed

web/index.php

Lines changed: 44 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,17 @@
1515

1616
// Create DI container
1717
$container = new Container();
18+
1819
// Add Twig to Container
1920
$container->set(Twig::class, function() {
20-
return Twig::create(__DIR__.'/../views');
21+
return Twig::create(__DIR__.'/../views');
2122
});
23+
2224
// Add Monolog to Container
2325
$container->set(LoggerInterface::class, function () {
24-
$logger = new Logger('default');
25-
$logger->pushHandler(new StreamHandler('php://stderr'), Level::Debug);
26-
return $logger;
26+
$logger = new Logger('default');
27+
$logger->pushHandler(new StreamHandler('php://stderr'), Level::Debug);
28+
return $logger;
2729
});
2830

2931
// Create main Slim app
@@ -32,116 +34,80 @@
3234

3335
// Our web handlers
3436
$app->get('/', function(Request $request, Response $response, LoggerInterface $logger, Twig $twig) {
35-
$logger->debug('logging output.');
36-
return $twig->render($response, 'index.twig');
37-
});
38-
39-
// Add Cowsay to Container
40-
$container->set(\Cowsayphp\AnimalInterface::class, function() {
41-
$class = '\\Cowsayphp\\Farm\\'.(getenv("COWSAY_FARM_CLASS")?:'Cow');
42-
return \Cowsayphp\Farm::create($class);
37+
$logger->debug('logging output.');
38+
return $twig->render($response, 'index.twig');
4339
});
4440

45-
$app->get('/coolbeans', function(Request $request, Response $response, LoggerInterface $logger, \Cowsayphp\AnimalInterface $animal) {
46-
$logger->debug('letting the Cowsay library write something cool.');
47-
$response->getBody()->write("<pre>".$animal->say("Cool beans")."</pre>");
48-
return $response;
49-
});
50-
51-
5241
// Add Database connection to Container
5342
$container->set(PDO::class, function() {
54-
$dburl = parse_url(getenv('DATABASE_URL') ?: throw new Exception('no DATABASE_URL'));
55-
return new PDO(sprintf(
56-
"pgsql:host=%s;port=%s;dbname=%s;user=%s;password=%s",
57-
$dburl['host'],
58-
$dburl['port'],
59-
ltrim($dburl['path'], '/'), // URL path is the DB name, must remove leading slash
60-
$dburl['user'],
61-
$dburl['pass'],
62-
));
63-
});
64-
65-
$app->get('/db', function(Request $request, Response $response, LoggerInterface $logger, Twig $twig, PDO $pdo) {
66-
$st = $pdo->prepare('SELECT name FROM test_table');
67-
$st->execute();
68-
$names = array();
69-
while($row = $st->fetch(PDO::FETCH_ASSOC)) {
70-
$logger->debug('Row ' . $row['name']);
71-
$names[] = $row;
72-
}
73-
return $twig->render($response, 'database.twig', [
74-
'names' => $names,
75-
]);
43+
$dburl = parse_url(getenv('DATABASE_URL') ?: throw new Exception('no DATABASE_URL'));
44+
return new PDO(sprintf(
45+
"pgsql:host=%s;port=%s;dbname=%s;user=%s;password=%s",
46+
$dburl['host'],
47+
$dburl['port'],
48+
ltrim($dburl['path'], '/'), // URL path is the DB name, must remove leading slash
49+
$dburl['user'],
50+
$dburl['pass'],
51+
));
7652
});
7753

7854
// Mostrar todos los registros
7955
$app->get('/list', function(Request $request, Response $response, LoggerInterface $logger, Twig $twig, PDO $pdo) {
80-
$stmt = $pdo->query('SELECT * FROM your_table');
81-
$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
82-
return $twig->render($response, 'list.twig', ['items' => $items]);
56+
$stmt = $pdo->query('SELECT * FROM your_table');
57+
$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
58+
return $twig->render($response, 'list.twig', ['items' => $items]);
8359
});
8460

8561
// Mostrar un registro individual
8662
$app->get('/view/{id}', function(Request $request, Response $response, LoggerInterface $logger, Twig $twig, PDO $pdo, $args) {
87-
$stmt = $pdo->prepare('SELECT * FROM your_table WHERE id = :id');
88-
$stmt->execute(['id' => $args['id']]);
89-
$item = $stmt->fetch(PDO::FETCH_ASSOC);
90-
return $twig->render($response, 'view.twig', ['item' => $item]);
63+
$stmt = $pdo->prepare('SELECT * FROM your_table WHERE id = :id');
64+
$stmt->execute(['id' => $args['id']]);
65+
$item = $stmt->fetch(PDO::FETCH_ASSOC);
66+
return $twig->render($response, 'view.twig', ['item' => $item]);
9167
});
9268

9369
// Editar un registro
9470
$app->get('/edit/{id}', function(Request $request, Response $response, LoggerInterface $logger, Twig $twig, PDO $pdo, $args) {
95-
$stmt = $pdo->prepare('SELECT * FROM your_table WHERE id = :id');
96-
$stmt->execute(['id' => $args['id']]);
97-
$item = $stmt->fetch(PDO::FETCH_ASSOC);
98-
return $twig->render($response, 'edit.twig', ['item' => $item]);
71+
$stmt = $pdo->prepare('SELECT * FROM your_table WHERE id = :id');
72+
$stmt->execute(['id' => $args['id']]);
73+
$item = $stmt->fetch(PDO::FETCH_ASSOC);
74+
return $twig->render($response, 'edit.twig', ['item' => $item]);
9975
});
10076

10177
$app->post('/edit/{id}', function(Request $request, Response $response, LoggerInterface $logger, PDO $pdo, $args) {
102-
// Procesar la edición del registro
78+
// Procesar la edición del registro
10379
});
10480

10581
// Eliminar un registro
10682
$app->get('/delete/{id}', function(Request $request, Response $response, LoggerInterface $logger, Twig $twig, PDO $pdo, $args) {
107-
$stmt = $pdo->prepare('SELECT * FROM your_table WHERE id = :id');
108-
$stmt->execute(['id' => $args['id']]);
109-
$item = $stmt->fetch(PDO::FETCH_ASSOC);
110-
return $twig->render($response, 'delete.twig', ['item' => $item]);
83+
$stmt = $pdo->prepare('SELECT * FROM your_table WHERE id = :id');
84+
$stmt->execute(['id' => $args['id']]);
85+
$item = $stmt->fetch(PDO::FETCH_ASSOC);
86+
return $twig->render($response, 'delete.twig', ['item' => $item]);
11187
});
11288

11389
$app->post('/delete/{id}', function(Request $request, Response $response, LoggerInterface $logger, PDO $pdo, $args) {
114-
// Procesar la eliminación del registro
90+
// Procesar la eliminación del registro
11591
});
11692

11793
// Agregar un registro
11894
$app->get('/add', function(Request $request, Response $response, LoggerInterface $logger, Twig $twig) {
119-
return $twig->render($response, 'add.twig');
95+
return $twig->render($response, 'add.twig');
12096
});
12197

12298
$app->post('/add', function(Request $request, Response $response, LoggerInterface $logger, PDO $pdo) {
123-
// Procesar la adición del registro
124-
});
99+
// Procesar la adición del registro
100+
// Obtener los datos del formulario
101+
$name = $request->getParsedBody()['name']; // Suponiendo que el formulario tiene un campo llamado "name"
125102

126-
// Ruta para mostrar el formulario de agregar un nuevo registro
127-
$app->get('/add', function(Request $request, Response $response, Twig $twig) {
128-
return $twig->render($response, 'add.twig');
129-
});
103+
// Validar los datos si es necesario
130104

131-
// Ruta para procesar el formulario de agregar un nuevo registro
132-
$app->post('/add', function(Request $request, Response $response, PDO $pdo) {
133-
// Obtener los datos del formulario
134-
$name = $request->getParsedBody()['name']; // Suponiendo que el formulario tiene un campo llamado "name"
105+
// Insertar el nuevo registro en la base de datos
106+
$stmt = $pdo->prepare('INSERT INTO your_table (name) VALUES (:name)');
107+
$stmt->execute(['name' => $name]);
135108

136-
// Validar los datos si es necesario
137-
138-
// Insertar el nuevo registro en la base de datos
139-
$stmt = $pdo->prepare('INSERT INTO your_table (name) VALUES (:name)');
140-
$stmt->execute(['name' => $name]);
141-
142-
// Redirigir a la página principal u otra página según sea necesario
143-
return $response->withHeader('Location', '/');
109+
// Redirigir a la página principal u otra página según sea necesario
110+
return $response->withHeader('Location', '/');
144111
});
145112

146-
147113
$app->run();

0 commit comments

Comments
 (0)