Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

PHP Αναφορές Vs . Αντικείμενο Λαβές

Όταν δημιουργείτε μια λειτουργία και να περάσει παραμέτρους σε αυτό το PHP : Hypertext Preprocessor , θα πρέπει να κατανοήσουν το περιεχόμενο των παραμέτρων . PHP σας αναγκάζει να δηλώσει ειδικά όταν για να επιτρέψετε σε μια συνάρτηση να τροποποιήσει την παγκόσμια τιμή της παραμέτρου . Στην PHP έκδοση 5 , το μοντέλο αντικειμένου επηρεάζει τον τρόπο τα αντικείμενα αντιμετωπίζονται όταν μεταβιβάζονται ως παράμετροι σε συναρτήσεις . Ενώ το μοντέλο συμμορφώνεται με το συνολικό πρότυπο PHP , παρέχει μια λειτουργία που σας επιτρέπει να χειριστείτε τις παγκόσμιες αξίες των μελών αντικειμένου χωρίς ειδικά δηλώνοντας αυτό στον ορισμό της συνάρτησης . Παράμετρος Πεδίο
Η

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

modify_param λειτουργία ( & param ) { }
εικόνων Αξία ή Αναφορά
Η

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

Η αντικείμενα Περνώντας
Η

Όταν περνάτε ένα αντικείμενο ως παράμετρος σε μια λειτουργία , PHP εξακολουθεί να περνά το αντικείμενο με αξία, αλλά περνάει ένα διαφορετικό είδος της αξίας . Ένα αντίγραφο ενός αντικειμένου λαβή , ή αναγνωριστικό , έχει περάσει στη λειτουργία . Το αναγνωριστικό αντικειμένου επιτρέπει τη λειτουργία για να βρει το χώρο διευθύνσεων μνήμης όπου αποθηκεύονται οι τιμές των μελών αντικειμένου . Αυτό σημαίνει ότι τα μέλη ενός αντικειμένου είναι στην πραγματικότητα πέρασε με αναφορά . Οι λειτουργίες που χρησιμοποιούν τις ιδιότητες και τις μεθόδους ενός αντικειμένου χειραγωγήσουν το χώρο διευθύνσεων της μνήμης των μελών και να αλλάξετε τις γενικές τιμές τους .
Εικόνων Αντικείμενο Λαβή Αντιγραφή
Η

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα