Skip to content

Commit df0b576

Browse files
committed
#26 - php Fin
1 parent 98e153c commit df0b576

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

Roadmap/26 - SOLID SRP/php/miguelex.php

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,10 @@ public function getLoans(){
136136

137137
$myLibrary = new Library();
138138

139+
echo "\n\nVamos a mostrar un ejemplo de una clase que no cumple el SRP. En este caso es una clase que gestiona una biblioteca\n\n";
140+
139141
do {
140-
echo "\n\nVamos a mostrar un ejemplo de una clase que no cumple el SRP. En este caso es una clase que gestiona una biblioteca\n\n";
142+
echo "\n\nMENÚ\n\n";
141143
echo "";
142144
echo "1. Añadir libro\n";
143145
echo "2. Añadir usuario\n";
@@ -226,7 +228,12 @@ public function getCopies(){
226228
}
227229

228230
public function loanBook(){
229-
$this->copies--;
231+
if ($this->copies > 0) {
232+
$this->copies--;
233+
return true;
234+
} else {
235+
return false;
236+
}
230237
}
231238

232239
public function returnBook(){
@@ -329,18 +336,23 @@ class LoanManager{
329336
private $loans = [];
330337

331338
public function loanBook(UsersLibrary $user, Books $book){
332-
$book->loanBook();
333-
$this->loans[] = new Loan($user->getId(), $book->getTitle());
339+
if ($book->loanBook()) {
340+
$this->loans[] = new Loan($user->getId(), $book->getTitle());
341+
} else {
342+
echo "No hay copias disponibles para el libro: " . $book->getTitle() . "\n";
343+
}
334344
}
335345

336346
public function returnBook(UsersLibrary $user, Books $book){
337-
$book->returnBook();
338347
foreach ($this->loans as $key => $loan) {
339348
if ($loan->getUserId() === $user->getId() && $loan->getBookTitle() === $book->getTitle()) {
349+
$book->returnBook();
340350
unset($this->loans[$key]);
341-
break;
351+
echo "Libro devuelto correctamente.\n";
352+
return;
342353
}
343354
}
355+
echo "No se encontró el préstamo del libro para el usuario especificado.\n";
344356
}
345357

346358
public function getLoans(){
@@ -352,8 +364,10 @@ public function getLoans(){
352364
$myUserManager = new UserManager();
353365
$myLoanManager = new LoanManager();
354366

367+
echo "\n\nVamos a mostrar un ejemplo que si cumple SRP. En este caso es una clase que gestiona una biblioteca\n\n";
368+
355369
do {
356-
echo "\n\nVamos a mostrar un ejemplo de una clase que no cumple el SRP. En este caso es una clase que gestiona una biblioteca\n\n";
370+
echo "\n\nMENÚ\n\n";
357371
echo "";
358372
echo "1. Añadir libro\n";
359373
echo "2. Añadir usuario\n";
@@ -426,4 +440,3 @@ public function getLoans(){
426440
}
427441

428442
} while (($option != 8));
429-

0 commit comments

Comments
 (0)