background image

Κεφάλαιο 3 - Ανάπτυξη και Υλοποίηση της Εφαρμογής 
 

 

 

46 

 

1. 

<?php

 

2. 

// load necessary files

 

3. 

include

(

'loader.php'

);

 

4.  
5. 

//handles the post requests

 

6. 

if

(

$_SERVER

[

'REQUEST_METHOD'

]==

'POST'

 

&&

 

isset

(

$_POST

[

"ajax_action"

])

 

&&

 

isset

(

$_SESSION

[

'vhdl_user'

][

'loged_in'

])

 

&&

 

$_SESSION

[

'vhdl_us-

er'

][

'loged_in'

]==

1

){

 

7. 

  switch

(

$_POST

[

"ajax_action"

]){

 

8. 

    case

 

"select_users_like"

:

 

9. 

       [...]

 

10. 

   break

;

 

11. 

   [...]

 

12. 

 }

 

13. 

}

else

{

 

14. 

  header

(

"Location:"

.

$BASE_URL

);

 

15. 

}

 

16. 

?>

 

 

Κώδικας 9: ajax_handler.php - Γενική δομή του αρχείου 

Έτσι, το αρχείο “ajax_handler.php” έχει ως πρώτη εντολή την κλήση του αρχείου “loader.php” 
(Κώδικας  9,  γραμμή  3).  Καλώντας  το  αρχείο  αρχικοποίησης,  έχουμε  πρόσβαση  στις 
λειτουργίες,  μεταβλητές  και  συνεδρίες  που  θα  χρειαστούμε.  Οι  αιτήσεις  AJAX  που 
χρησιμοποιούμε  γίνονται  σε  HTTP  με  την  μέθοδο  POST  και  περιέχουν  την  μεταβλητή 
“ajax_action” που λειτουργεί με παρόμοιο τρόπο με την μεταβλητή “post_action” του αρχείου 
“post_handler.php”.  Στην  συνέχεια,  γίνεται  έλεγχος  για  την  ύπαρξη  αίτησης  POST  και 
συγκεκριμένα  για  την  ύπαρξη  τιμής  στον  πίνακα  “$_POST[‘ajax_action’]”  (Κώδικας  9, 
γραμμή 6). Στον ίδιο έλεγχο επιβεβαιώνουμε ότι υπάρχει συνδεμένος χρήστης καθώς όλες οι 
διαθέσιμες  λειτουργίες  AJAX  προσφέρονται  μόνο  σε  συνδεμένους  λογαριασμούς.  Στην 
περίπτωση  που  ο  χρήστης  δεν  είναι  συνδεμένος  ή  δεν  υπάρχει  τιμή  στον  πίνακα 
“$_POST[‘ajax_action’]”, έχουμε ανακατεύθυνση στην αρχική σελίδα (Κώδικας 9, γραμμές 
13-15). Η επιλογή της λειτουργίας γίνεται με την δομή “switch” για τους ίδιους λόγους που 
εξηγήσαμε στο αρχείο “post_handler.php”. Έτσι δημιουργούμε ένα προσαρμοσμένο σύστημα 
για  την  αντιμετώπιση  αιτήσεων  μέσω  AJAX  που  συμβαδίζει  στην  λογική  εύκολα 
συντηρήσιμου κώδικα. 

 

Τα δύο αυτά αρχεία μας επιτρέπουν την ανάλυση αιτήσεων του χρήστη και επιλογή της 

σωστής λειτουργίας. Τα αρχεία αυτά περιέχουν την δομή κάθε αλληλεπίδρασης είτε πρόκειται 
για την δημιουργία λογαριασμού χρήστη ή για την αναζήτηση ενός έργου. Παρόλα αυτά, οι 
λειτουργίες που αναπτύχθηκαν σε αυτά τα αρχεία περιέχουν βασικότερα δομικά υλικά. Στο 
επόμενο υποκεφάλαιο βλέπουμε τις κλάσεις που συνθέτουν αυτά τα υλικά στο χαμηλότερο 
επίπεδο. 

 

3.3.3 Ανάλυση των Κλάσεων που Χρησιμοποιήθηκαν 
 

 

Η χρήση κλάσεων στην εφαρμογή μας αποτελεί ένα ακόμη βήμα προς την λογική του 

εύκολα  συντηρήσιμου  κώδικα.  Χρησιμοποιώντας  ξεχωριστά  αντικείμενα  για  διαφορετικές 
λειτουργίες με απλές μεθόδους για την εκτέλεση συγκεκριμένης εργασίας έχουμε διαχωρίσει 
περίπλοκα  προβλήματα  σε  ένα  σύνολο  απλών.  Οι  κλάσεις  λοιπόν  που  αναπτύξαμε  είναι