Nauka html'u i php'

Przeciążanie właściwości obiektów i wołania ich metod

CIV. Przeciążanie właściwości obiektów i wołania ich metod

Wstęp

Celem tego rozszerzenia jest umożliwienie przeciążania dostępu do właściwości obiektów oraz wołania metod. Rozszerzenie to definiuje tylko jedną funkcję, overload(), która przyjmuje jako parametr nazwę klasy dla której przeciążanie powinno być udostępnione. Klasa ta powinna mieć zdefiniowane odpowiednie metody, jeżeli chce korzystać z tej dodatkowej funkcjonalności: __get(), __set() oraz __call() odpowwiednio dla pobierania/ustawiania wartości właściwości, lub wołania metod. Tym sposobem przeciążanie może być dostępne wybiórczo. Wewnątrz tych funkcji bsługujących przeciążanie, ono samo jest niedostępne by mieć możliwość normalnego dostępu do właściwości obiektu.

Ostrzeżenie

Ten moduł jest w stadium EKSPERYMENTALNYM. Oznacza to, że zachowanie tych funkcji, ich nazwy, w zasadzie wszystko udokumentowane tutaj może zostać zmienione w przyszłych wersjach PHP bez wcześniejszego uprzedzenia. Używaj tego modułu na własne ryzyko.

Ostrzeżenie

To rozszerzenie nie jest częścią PHP 5. PHP 5 obsługuje __get(), __set() i __call() natywnie. Zobacz stronę Przeciążanie w PHP 5 aby uzyskać więcej informacji.

Wymagania

Do zbudowania tego rozszerzenia nie są wymagane żadne zewnętrzne biblioteki.

Instalacja

Chcąc używać tych funkcji musisz skompilować PHP z opcją --enable-overload. Od PHP 4.3.0 to rozszerzenie jest włączone domyślnie. Możesz wyłączyć wsparcie dla przeciążania opcją --disable--overload.

PHP w wersji dla systemów Windows posiada wbudowaną obsługę dla tego rozszerzenia. Nie trzeba ładować żadnych dodatkowych rozszerzeń aby korzystać z tych funkcji.

Notatka: Wsparcie dla przeciążania jest wbudowane od wersji PHP 4.3.0.

Konfiguracja uruchomieniowa

To rozszerzenie nie definiuje posiada żadnych dyrektyw konfiguracyjnych w pliku php.ini.

Typy zasobów

To rozszerzenie nie posiada żadnych rodzajów zasobów.

Stałe predefiniowane

To rozszerzenie nie posiada żadnych stałych.

Przykłady

Kilka prostych przykładów demonstrujących użycie funkcji overload():

Przykład 1. Przeciążanie klasy PHP

<?php

class OO
{
    var
$a = 111;
    var
$elem = array('b' => 9, 'c' => 42);

    
// Funkcja obsługująca pobierania właściwości
    
function __get($wl_nazwa, &$wl_wart)
    {
        if (isset(
$this->elem[$wl_nazwa])) {
            
$wl_wart = $this->elem[$wl_nazwa];
            return
true;
        } else {
            return
false;
        }
    }

    
// Funkcja obsługująca ustawianie właściwości
    
function __set($wl_nazwa, $wl_wart)
    {
        
$this->elem[$wl_nazwa] = $wl_wart;
        return
true;
    }
}

// Umożliwiamy przeciążanie obiektów klasy OO
overload('OO');

$o = new OO;
echo
"\$o->a: $o->a\n"; // print: $o->a: 111
echo "\$o->b: $o->b\n"; // print: $o->b: 9
echo "\$o->c: $o->c\n"; // print: $o->c: 42
echo "\$o->d: $o->d\n"; // print: $o->d:

// dodajemy nowÄ… pozycjÄ™ do tablicy $elem w OO
$o->x = 56;

// tworzymy egzemplarz klasy stdclass (wbudowanej w PHP 4)
// $val nie jest przeciążane!
$val = new stdclass;
$val->prop = 555;

// Ustawiamy "a" jako tablicę z obiektem $val w środku
// Lecz __set() włoży to do tablicy $elem
$o->a = array($val);
var_dump($o->a[0]->prop);

?>

Spis treści
overload -- Umożliwienie przeciążania wÅ‚aÅ›ciwoÅ›ci i woÅ‚ania metod dla klasy

media opony bielizna internet kredyty

Lista dyskusyjna:

Wymagania a gry
* 64-bitowy (x64) procesor o szybko¶ci 1 GHz,
* 1 GB pamiêci systemowe
* Dysk twardy o pojemno¶ci 40 GB i przynajmniej 15 GB wolnego miejsca
* Obs³uga grafiki DirectX 9 z:

- sterownikiem WDDM
- 128 MB pamiêci na karcie graficznej (minimum)
- sprzêtow± obs³ug± funkcji Pixel Shader 2.0
- obs³ug± 32-bitowej palety kolorów

zalecane wymagania Windows Vista posiadam:

AMD Athlon x2 x64 3600+ ( mo¿na by podkrêciæ )

GF7950GT 512mb

Geil 1GB DDr 2 PC800 ultra dual 512x512, dokupuje za tydzieñ 2GB tego samego ramu tez dual i ultra tylko 1024x1024 (3GB)

my¶lê, ¿e to stykanie na viste ale mam trzy pytania czy bêdzie du¿a ró¿nica miêdzy systemem 64 bit a 32? i gdzie ja zauwa¿ê w gra tez czy nie?

Czy je¶li ona wymaga np 128mb na karcie graficznej to czy przy w³±czeniu gry np zostanie mi tylko 384 bo vista zje 128
albo w przypadku procesora gdzie mam ledwo 2Ghz to vista zje 1 i dal gry zostanie 1?

Czy w grach bêdzie strasznie du¿a ró¿nica co do XP 32? ( chodzi mi o spadek wydajno¶ci )

jeszcze jedno znalaz³em na http://www.xp.net.pl/art/vista_opt.html optymalizacje visty czy to du¿o daje czy raczej nie op³aca siê w to bawiæ?
karty w laptopach
witajcie ponownie tongue.gif
ostatnio grzebie po sieci i znalaz³em co¶ co mnie zainteresowa³o.

Firma Dell ktorej przedstawiaæ nie trzeba u¿ywa w swoich XPS ( laptopach stworzonych dla graczy) karty typu

nVidia FX770M Graphics Card (with 512MB dedicated memory)
2 x 256MB nVidia GeForce 8700M GT SLI (Total 512MB)
Nvidia Quadro 2500M 512MB

wszystkie maja po 512 MB grafike ale która z tych jest lepsza i jaka jest ich wydajno¶æ w porównaniu do GF 8600 GS/GT czy GF 9500 GS GF 9600 GT ??


Jak uruchomiæ kilka .iso?
Mam problem, bo ¶ci±gn±³em pewien program w kilku czê¶ciach jako pliki .iso zapakowane w WinRarze. Domy¶lam siê, ¿e maj± one stworzyæ jeden plik instalacyjny. Pierwszy raz mam do czynienia z takimi plikami, czyta³em, ¿e u¿ywa siê programów do nagrywania p³yt ale nie wiem o co dok³adnie chodzi. U¿ywam programu Nero je¶li to pomo¿e. z góry dziêki za ka¿d± odpowied¼.
system nie widzi napedow (po dodaniu nowego dysku)
Czesc!

Pisze do Was z prosba o pomoc. Kupilem wczoraj nowy dysk do swojego kompa, jest to dysk Seagate SATA, chcialem by byl on dyskiem dodatkowym. Do tej pory mialem i mam dalej dysk Seagate ale ATA. System zostawilem bez zmian na starym dysku czyli na ATA. Przestawilem w BIOSIE obsluge ATA + SATA i niby wszystko dziala, system widzi oba dyski (mam Windowsa Xp SP2) ale za to przestal widziec napedy (DVD i CD-ROM). Dodam ze zadnych kabli od napedow nie odlaczalem. Mam wrazenie ze musze cos jeszcze zrobic w BIOSIE ale niestety nie wiem co i tutaj moja prosba o pomoc.
Sterowniki Geforce 9600 GT
Posiadam kartê graficzna firmy PNY Geforce 9600 GT OC(http://pny.eu/products.php?section=product...p;productid=241). Podczas instalacji sterowników, pasek instalatora dochodzi do polowy, staje, po czym ekran robi siê czarny a w lewym górnym rogu miga kursor (znaczy taka kreseczka _ ).

Mój sprzêt:

PLYTA: ASUS P5Q
RAM: Geil 2Gb DDR2 1066
PROCESOR: INTEL CORE 2 QUAD 9550
ZASILACZ: CHIEFTEC 560W

Próbowa³em ju¿ 3 ró¿nych sterowników, nawet robi³em update biosa i dalej jest to samo sad.gif

Czy ktos mial stycznosc z AJAXem w ASP? Czy nie jest tak ze to technologia opracowana pod katem wspolpracy z PHP? Jestem ciekaw czy ktos korzystal z AJAXa w ASP bo trzeba przyznac ze technologia jest bardzo ciekawa i zdobywa coraz wieksza popularnosc (zreszta tak jak samo ASP). Znacie moze jakies ciekawe materialy (glownie chodzi mi o wersje "drukowane").