@@ -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+
139141do {
140- echo "\n\n Vamos 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\n MENÚ \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+
355369do {
356- echo "\n\n Vamos 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\n MENÚ \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