Βίντεο: Εγκατάσταση τοπικού server 2025
Η PHP παρέχει μια μέθοδο που μπορείτε να χρησιμοποιήσετε για να αντιγράψετε ένα αντικείμενο. Η μέθοδος είναι __clone, με δύο υπογράμμισε. Μπορείτε να γράψετε τη δική σας μέθοδο __clone σε μια κλάση, εάν θέλετε να καθορίσετε τις δηλώσεις που θα εκτελούνται όταν αντιγράφεται το αντικείμενο. Εάν δεν γράφετε το δικό σας, η PHP χρησιμοποιεί την προεπιλεγμένη __clone μέθοδο που αντιγράφει όλες τις ιδιότητες όπως είναι.
Όπως φαίνεται από τις δύο υπογραμμίσεις που ξεκινούν το όνομά του, η μέθοδος κλώνου είναι ένας διαφορετικός τύπος μεθόδου και έτσι ονομάζεται διαφορετικά, όπως φαίνεται στο ακόλουθο παράδειγμα.
Θα μπορούσατε να γράψετε την ακόλουθη κλάση:
class Car {private $ gas = 0; ιδιωτικό $ color = "κόκκινο"; συνάρτηση addGas (ποσό $) {$ this-> gas = $ this-> gas + $ amount; echo "$ ποσό γαλόνια προστέθηκε στο δοχείο αερίου";} λειτουργία __clone () {$ this-> gas = 5;}}
Χρησιμοποιώντας αυτή την τάξη, μπορείτε να δημιουργήσετε ένα αντικείμενο και να το αντιγράψετε ως εξής:
firstCar = νέο αυτοκίνητο. $ firstCar-> addGas (10); $ secondCar = κλωνοποίηση $ firstCar;
Μετά από αυτές τις δηλώσεις, έχετε δύο αυτοκίνητα:
-
$ firstCar : Αυτό το αυτοκίνητο είναι κόκκινο και περιέχει δέκα γαλόνια αερίου. Οι δέκα γαλόνια προστέθηκαν με τη μέθοδο addGas.
-
$ secondCar : Αυτό το αυτοκίνητο είναι κόκκινο, αλλά περιέχει πέντε γαλόνια αερίου. Το διπλό αυτοκίνητο δημιουργείται χρησιμοποιώντας τη μέθοδο __clone στην κατηγορία Αυτοκινήτου. Αυτή η μέθοδος ρυθμίζει το αέριο στο 5 και δεν καθορίζει καθόλου το χρώμα.
Αν δεν είχατε μια μέθοδο __clone στην κλάση Αυτοκινήτου, η PHP θα χρησιμοποιεί μια προεπιλεγμένη μέθοδο __clone που θα αντιγράψει όλες τις ιδιότητες, κάνοντας το $ secondCar κόκκινο και περιέχει δέκα γαλόνια αερίου.
