Εγχειρίδιο χρήσης του phpchartPlus |
|
|
|
| 4.3 Αναπτύσσοντας νέα υπόβαθρα |
| Εάν θέλετε να βελτιώσετε τα παρεχόμενα υπόβαθρα ή να εισάγετε νέα στο περιβάλλον του phpchartPlus θα πρέπει κάθε φορά να υλοποιείτε την ανάλογη διασύνδεση. Οι διασυνδέσεις είναι ένα από τα νέα χαρακτηριστικά που υποστηρίζει η PHP. |
| Η διασύνδεση CachingStrategy |
Για να αναπτύξετε ένα νέο CachingStrategy υπόβαθρο, η κλάση σας θα πρέπει να υλοποιήσει τη διασύνδεση CachingStrategy.
- Η διασύνδεση
Η συνάρτηση Initialize χρησιμοποιείται για την αρχικοποίηση του CachingStrategy αντικειμένου. Πρέπει να επιστρέφει void και δέχεται ως παραμέτρους:
- Το Content-Type της παραγόμενης εικόνας $CacheImageType
- Το χρονικό διάστημα εγκυρότητας της αποθηκευμένης εικόνας $CacheForMinutes
- ένας αυθαίρετος αριθμός από caching-specific παραμέτρους $Params. Για παράδειγμα σε μια βάση δεδομένων οι παράμετροι σύνδεσης
Η συνάρτηση CacheImage είναι το μέρος όπου γίνεται το caching, επομένως όσοι μηχανισμοί είναι απαραίτητοι για την υλοποίηση της λειτουργίας αυτής πρέπει να βρίσκονται εδώ.
- Υποδεικνύοντας λάθη
Εάν θέλετε να υποδείξετε μια εσφαλμένη κατάσταση, όπως μη έγκυρη αρχικοποίηση ή αποθήκευση εικόνας μπορείτε να ρίξετε μια CachingStrategy εξαίρεση και να αφήσετε τον χρήστη να αποφασίσει τι θα κάνει με το λάθος. |
class CachingStrategy_Exception extends Exception { function CachingStrategy_Exception($data) {
Exception::__construct($data);
}
}
Interface CachingStrategy_Interface {
public function Initialize ($CacheImageType,$CacheForMinutes,$Params);
public function CacheImage();
} |
| Η διασύνδεση ConfigStrategy |
Για να αναπτύξετε ένα ConfigStrategy υπόβαθρο, η κλάση σας θα πρέπει να υλοποιήσει τη διασύνδεση ConfigStrategy.
- Η διασύνδεση
Η συνάρτηση initialize χρησιμοποιείται για την αρχικοποιήση του ConfigStrategy αντικειμένου. Πρέπει να επιστρέφει void και δέχεται ένα αυθαίρετο αριθμό από παραμέτρους ρύθμισης στη μεταβλητή $params. Για παράδειγμα στο υπόβαθρο XMLConfig το όνομα του xml αρχείου δεδομένων.
Η συνάρτηση readData είναι το μέρος όπου γίνεται το διάβασμα των δεδομένων. Οι παράμετροι ρύθμισης επιστρέφονται σε ένα αντικείμενο ConfigData που το χρησιμοποιεί ο ConfigParser για να τις διαβάσει. Η συνάρτηση δέχεται επίσης και έναν αυθαίρετο αριθμό από παραμέτρους στη μεταβλητή $params. Οι παράμετροι αυτοί μπορεί να είναι ένας πίνακας από δεδομένα για διάβασμα όπως στην περίπωση της στρατηγικής PHPConfig.
Η συνάρτηση finalize χρησιμοποιείται για τον τερμαρισμό του αντικειμένου. Εδώ μπορεί να τοποθετηθεί οποιοσδήποτε cleanup κώδικας όπως το κλείσιμο των file descriptors ή των συνδέσεων με βάση δεδομένων.
- Υποδεικνύοντας λάθη
Εάν θέλετε να υποδείξετε μια εσφαλμένη κατάσταση, όπως μη έγκυρη αρχικοποίηση ή εισαγωγή δεδομένων μπορείτε να ρίξετε μία ConfigStrategy εξαίρεση και να αφήσετε τον χρήστη να αποφασίσει τι θα κάνει με το λάθος. |
class ConfigStrategy_Exception extends Exception {
function ConfigStrategy_Exception($data) {
Exception::__construct($data);
} }
class ConfigData {
public $ImageWidth;
public $ImageHeight;
public $ImageOutputType;
public $ChartTitle;
public $ChartType;
public $ChartUseBlending;
public $ChartUseAntialias;
public $ChartHmargin;
public $ChartVmargin;
public $ChartUseStatus;
public $ImageColor_Start;
public $ImageColor_Finish;
public $ImageColor_Alpha;
public $ChartColor_Start;
public $ChartColor_Finish;
public $ChartColor_Alpha;
public $ChartBgImage;
public $FontFileLocation;
public $FontColor;
public $FontWidth;
public $FontHeight;
public $FontSize;
public $LegendColors=array();
public $LegendColors_Alpha=array();
public $GridNum;
public $GridMinValue;
public $GridMaxValue;
public $GridColor;
}Interface ConfigStrategy_Interface {
public function initialize($params=NULL);
public function readData($params=NULL);
//returns ConfigData
public function finalize();
}
|
| Η διασύνδεση DataStrategy |
Για να αναπτύξετε ένα νέο DataStrategy υπόβαθρο, η κλάση σας θα πρέπει να υλοποιήσει τη διασύνδεση DataStrategy.
- Η διασύνδεση
Η συνάρτηση initialize χρησιμοποιείται για την αρχικοποίηση του DataStrategy αντικειμένου. Πρέπει να επιστρέφει void και δέχεται ένα αυθαίρετο αριθμό από data-specific παραμέτρους στη μεταβλητή $params. Για παράδειγμα στο υπόβαθρο TXTData το όνομα του TXT αρχείου δεδομένων.
Η συνάρτηση perform είναι το μέρος όπου γίνεται το διάβασμα των δεδομώνων. Τα δεδομένα που έχουν διαβαστεί επιστρέφονται ως ένας πίνακας από Group κλάσεις. Κάθεμία Group κλάση έχει δύο χαρακτηριστικά, το όνομα του Group και ένα πίνακα από GroupItem κλάσεις και κάθε GroupItem κλάση έχει ως μέλη το ItemName και ItemValue. Η συνάρτηση αυτή δέχεται επίσης ένα αυθαίρετο αριθμό από παραμέτρους στη μεταβλητή $params. Αυτοί οι παράμετροι μπορεί να είναι για πράδειγμα το ερώτημα sql προς μια βάση δεδομένων όπως στην περίπτωση της στρατηγικής PEARDBData.
Η συνάρτηση finalize χρησιμοποιείται για τον τερματισμό του αντικειμένου. Εδώ μπορεί να τοποθετηθεί οποιοσδήποτε cleanup κώδικας όπως το κλείσιμο των file descriptors ή των συνδέσεων με βάση δεδομένων.
- Υποδεικνύοντας λάθη
Εάν θέλετε να υποδείξετε μια εσφαλμένη κατάσταση, όπως μη έγκυρη αρχικοποίηση ή εισαγωγή δεδομένων μπορείτε να ρίξετε μία DataStrategy εξαίρεση και να αφήσετε τον χρήστη να αποφασίσει τι θα κάνει με το λάθος. |
class DataStrategy_Exception extends Exception { function DataStrategy_Exception($data) {
Exception::__construct($data);
}
}
class GroupItem {
public $ItemName;
public $ItemValue;
} class Group { public $GroupName;
public $GroupItems=array();
} Interface DataStrategy_Interface { public function initialize($params=NULL);
public function perform($params=NULL);
public function finalize();
} |