Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

PHP Referencie Vs . Objekt Rukoväte

Keď vytvoríte funkciu a odovzdať parametre na to v PHP : Hypertext Preprocessor , musíte pochopiť rozsah parametrov . PHP vás núti výslovne vyhlásiť , kedy sa umožní zmeniť funkciu globálnu hodnotu parametra . V PHP verzia 5 , objektový model ovplyvňuje, ako sú objekty považované keď odovzdané ako parametre funkcií . Kým model je v súlade s celkovým štandardu PHP , poskytuje funkciu , ktorá vám umožní manipulovať s globálnou hodnoty členov objektu , bez toho, aby výslovne deklarovať to v definícii funkcie . Parameter Rozsah

Keď odovzdáte premennú do funkcie v PHP a funkcie modifikuje hodnotu premennej , ale nemá žiadny vplyv na hodnoty premennej mimo rozsah funkcie . Ak chcete povoliť funkciu zmeniť hodnotu premennej , musíte výslovne určil , že tento zámer prefixu názov premennej s ampersand v definícii funkcie . Napríklad :

funkcie modify_param ( & param ) { }
hodnoty alebo referenčné

funkcie nemožno zmeniť hodnotu danej premennej mimo vlastný rozsah , pretože PHP prechádza premennú hodnotou . To vytvorí kópiu hodnoty premennej a odovzdá kópiu do funkcie . Akékoľvek zmeny tejto hodnoty ovplyvní iba lokálnu kópiu . Pri odovzdaní odkazom pomocou ampersand v definícii funkcie , PHP odovzdáva ukazovateľ na adresový priestor pamäte , ktorá obsahuje hodnotu premennej . Operácie na premenné sú potom vykonávané na globálne hodnotu premennej , nie kópie jeho hodnoty .
Odovzdávanie objektov

Keď odovzdáte objekt ako parameter funkcie , PHP stále prechádza objekt hodnotou , ale to prejde iný druh hodnoty . Kópia objektu rukoväťou , alebo identifikátora , je odovzdaný do funkcie . Identifikátor objektu umožňuje funkciu nájsť miesto na pamäťové adresy , kde sú uložené hodnoty členov objektu . To znamená , že členovia objektu sú skutočne odovzdané odkazom . Operácie , ktoré používajú vlastnosti a metódy objektových manipulovať adresový priestor pamäti tých členov a meniť ich globálnej hodnoty .
Objektu Handle Copy

Nie sú odovzdané všetky objekty v PHP odkazom , aj keď sa zmení na členov objektu ovplyvní globálne hodnoty . Kópia objektu rukoväte je odovzdaný funkciu . Je-li funkcia je úloha, ktorá mení objekt rukoväť sám , že zmena nemení objekt rukoväť , pretože je odovzdávaný hodnotou . Ak chcete povoliť funkciu zmeniť popisovač objektu , je nutné odovzdať objekt odkazom , rovnako ako u akejkoľvek inej premennej v PHP .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené