Skip to content

Commit

Permalink
#26 - php Fin
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelex committed Jun 27, 2024
1 parent 98e153c commit df0b576
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions Roadmap/26 - SOLID SRP/php/miguelex.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,10 @@ public function getLoans(){

$myLibrary = new Library();

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";

do {
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";
echo "\n\nMENÚ\n\n";
echo "";
echo "1. Añadir libro\n";
echo "2. Añadir usuario\n";
Expand Down Expand Up @@ -226,7 +228,12 @@ public function getCopies(){
}

public function loanBook(){
$this->copies--;
if ($this->copies > 0) {
$this->copies--;
return true;
} else {
return false;
}
}

public function returnBook(){
Expand Down Expand Up @@ -329,18 +336,23 @@ class LoanManager{
private $loans = [];

public function loanBook(UsersLibrary $user, Books $book){
$book->loanBook();
$this->loans[] = new Loan($user->getId(), $book->getTitle());
if ($book->loanBook()) {
$this->loans[] = new Loan($user->getId(), $book->getTitle());
} else {
echo "No hay copias disponibles para el libro: " . $book->getTitle() . "\n";
}
}

public function returnBook(UsersLibrary $user, Books $book){
$book->returnBook();
foreach ($this->loans as $key => $loan) {
if ($loan->getUserId() === $user->getId() && $loan->getBookTitle() === $book->getTitle()) {
$book->returnBook();
unset($this->loans[$key]);
break;
echo "Libro devuelto correctamente.\n";
return;
}
}
echo "No se encontró el préstamo del libro para el usuario especificado.\n";
}

public function getLoans(){
Expand All @@ -352,8 +364,10 @@ public function getLoans(){
$myUserManager = new UserManager();
$myLoanManager = new LoanManager();

echo "\n\nVamos a mostrar un ejemplo que si cumple SRP. En este caso es una clase que gestiona una biblioteca\n\n";

do {
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";
echo "\n\nMENÚ\n\n";
echo "";
echo "1. Añadir libro\n";
echo "2. Añadir usuario\n";
Expand Down Expand Up @@ -426,4 +440,3 @@ public function getLoans(){
}

} while (($option != 8));

0 comments on commit df0b576

Please sign in to comment.