Η Στατική Δήλωση PHP
Η μαγεία της στατικής δήλωσης PHP είναι ότι επιτρέπει σε μια λειτουργία να "θυμάται" την τιμή μιας τοπικής μεταβλητής για την επόμενη φορά που καλείται η συνάρτηση.

Σε αυτό το σεμινάριο θα μάθετε πώς να χρησιμοποιείτε τη στατική δήλωση PHP για να δώσετε μια συνάρτηση PHP μια "μνήμη". Μια βασική συνάρτηση PHP δεν έχει τη δυνατότητα να θυμάται την αξία μιας τοπικής μεταβλητής που έχει δημιουργηθεί ή αλλάξει μέσα στη λειτουργία. Μόλις ολοκληρωθεί η λειτουργία, εξαφανίζονται όλες οι γνώσεις της τιμής της μεταβλητής της λειτουργίας. Για να επιλύσουμε αυτό το πρόβλημα, μπορούμε να χρησιμοποιήσουμε τη στατική δήλωση PHP για να πούμε τη συνάρτηση να θυμάται την τιμή μιας τοπικής μεταβλητής από μία κλήση μιας συνάρτησης στην επόμενη κλήση. Ας ρίξουμε μια ματιά στον βασικό κώδικα.

λειτουργία count_calls ()
{
static $ no_calls = 0;
$ no_calls ++;
echo "Αυτή η λειτουργία ονομάζεται $ no_calls times.";
}


συνάρτηση function_name ()
λειτουργία count_calls ()
Δεν υπάρχει τίποτα νέο εδώ. Όπως και στα προηγούμενα μαθήματα, το όνομα της λειτουργίας αναγνωρίζει αυτή τη λειτουργία και οι οδηγίες για τη λειτουργία τοποθετούνται μεταξύ των ακόλουθων {και}.

static $ variable = value;
static $ no_calls = 0;
Αυτή είναι η στατική δήλωση που χρησιμοποιείται για τη διατήρηση ενός τρέχοντος συνόλου (και θυμηθείτε) τον αριθμό των φορών που έχει καλέσει αυτή η λειτουργία. Την πρώτη φορά που ονομάζεται η συνάρτηση, η στατική εντολή αρχικοποιεί τη μεταβλητή $ no_calls στην αρχική τιμή 0. Στη συνέχεια, καθώς συνεχίζεται η λειτουργία, η τιμή της μεταβλητής αυξάνεται κατά 1. Η δεύτερη και επόμενες φορές η συνάρτηση καλείται, η αυξημένη τιμή της μεταβλητής θυμάται από την τελευταία φορά. Αυτό μπορεί να μην φαίνεται μαγικό μέχρι να συνειδητοποιήσετε ότι χωρίς τη στατική δήλωση η τιμή της μεταβλητής θα είναι μηδέν κάθε φορά που καλείται αυτή η λειτουργία.

$ variable ++;
$ no_calls ++;
Αυτή η έκφραση αυξάνει την τρέχουσα τιμή της μεταβλητής $ no_calls κατά 1. Η μαγεία της στατικής δήλωσης είναι ότι η συνάρτηση μπορεί τώρα να "θυμάται" την αυξημένη τιμή της μεταβλητής $ no_calls για την επόμενη φορά που ονομάζεται η συνάρτηση.

echo statement
echo "Αυτή η λειτουργία ονομάζεται $ no_calls times.";
Αυτή η εντολή ηχώ θα εκτυπώσει το κείμενο και τη νέα (αυξημένη) τιμή της μεταβλητής $ no_calls στο πρόγραμμα περιήγησης ιστού.

Αυτό είναι το μόνο που υπάρχει στη λειτουργία μας. Την επόμενη φορά που αυτή η λειτουργία ονομάζεται, η τιμή της μεταβλητής $ no_calls θυμάται από την τελευταία εκτέλεση της συνάρτησης και στη συνέχεια αυξάνεται κατά ένα πάλι.





Οδηγίες Βίντεο: Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 8 - ΣΤΑΤΙΚΑ ΜΕΛΗ ΚΛΑΣΕΩΝ - ΘΕΩΡΙΑ 2 από 4 (Στατικές μέθοδοι) (Απρίλιος 2024).