PHP
PHP KOULUTUSTA VUONNA 2025!
-
PHP koulutus
-
WordPress PHP-devaajalle koulutus
-
MySQL koulutus
-
Apache HTTPd koulutus
-
Microsoft IIS koulutus
Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi heti! Koulutuksen järjestää asiantuntijasi Koulutus- ja konsultointipalvelu KK Mediat.
PHP:n tietotyypit: objektit ja viittaustyypit (byRef,byVal)
Objektit
PHP:ssä objekti (object) on yksi perus tietotyypeistä. Se on viittaus luokasta (class) luotuun ilmentymään. Objektien avulla PHP pystyy mallintamaan monimutkaisiakin datarakenteita helposti.
PHP:ssä olio luodaan määrittelemällä luokka (class
) ja alustamalla se muuttujaan new
-avainsanalla.
Tämä muuttuja saa tietotyypikseen object:
<?php
class Foo {
function do_foo() {
echo "Do foo.";
}
}
$bar = new Foo; // objekti
$bar->do_foo(); // Do foo
?>
Objektimuuttuja voi sisältää sekä ominaisuuksia (properties) että menetelmiä (methods), joiden avulla ilmentymään säilöttyä tietoa käsitellään.
Objektin tyypin tarkistaminen
Voit tarkistaa muuttujan olevan objekti käyttämällä menetelmää is_object()
:
<?php
if (is_object($obj)) {
echo "Muuttuja on objekti.";
}
?>
Voit myös tarkistaa mihin luokkaan objekti kuuluu:
<?php
if ($bar instanceof Foo) {
echo "Objekti on luokkaa Foo.";
}
?>
Objektiviittaukset ovat byReference - kaikki muut tietotyypit byVal
Toisin kuin PHP:n muut tietotyypit, objektiviittaukset tapahtuvat aina nk. byReference. Tämä tarkoittaa sitä, että kun objekti sijoitetaan toiseen muuttujaan, muutokset vaikuttavat myös alkuperäiseen ilmentymään. Pieni esimerkki selventää asiaa:
<?php
// perustietotyypit toimivat byValue viittauksilla
$iA = 1;
$iB = $iA;
$iA = 10;
var_dump($iB); // 1
//objekti toimii byRef-viittauksilla
class Auto {
public $merkki = "Tesla";
}
$oA = new Auto();
$oB = $oA;
$oB->merkki = "BMW";
echo $oA->merkki; // Tulostaa: BMW
?>