@@ -136,8 +136,10 @@ public function getLoans(){
136
136
137
137
$ myLibrary = new Library ();
138
138
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
+
139
141
do {
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" ;
141
143
echo "" ;
142
144
echo "1. Añadir libro \n" ;
143
145
echo "2. Añadir usuario \n" ;
@@ -226,7 +228,12 @@ public function getCopies(){
226
228
}
227
229
228
230
public function loanBook (){
229
- $ this ->copies --;
231
+ if ($ this ->copies > 0 ) {
232
+ $ this ->copies --;
233
+ return true ;
234
+ } else {
235
+ return false ;
236
+ }
230
237
}
231
238
232
239
public function returnBook (){
@@ -329,18 +336,23 @@ class LoanManager{
329
336
private $ loans = [];
330
337
331
338
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
+ }
334
344
}
335
345
336
346
public function returnBook (UsersLibrary $ user , Books $ book ){
337
- $ book ->returnBook ();
338
347
foreach ($ this ->loans as $ key => $ loan ) {
339
348
if ($ loan ->getUserId () === $ user ->getId () && $ loan ->getBookTitle () === $ book ->getTitle ()) {
349
+ $ book ->returnBook ();
340
350
unset($ this ->loans [$ key ]);
341
- break ;
351
+ echo "Libro devuelto correctamente. \n" ;
352
+ return ;
342
353
}
343
354
}
355
+ echo "No se encontró el préstamo del libro para el usuario especificado. \n" ;
344
356
}
345
357
346
358
public function getLoans (){
@@ -352,8 +364,10 @@ public function getLoans(){
352
364
$ myUserManager = new UserManager ();
353
365
$ myLoanManager = new LoanManager ();
354
366
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
+
355
369
do {
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" ;
357
371
echo "" ;
358
372
echo "1. Añadir libro \n" ;
359
373
echo "2. Añadir usuario \n" ;
@@ -426,4 +440,3 @@ public function getLoans(){
426
440
}
427
441
428
442
} while (($ option != 8 ));
429
-
0 commit comments