Pereiti prie turinio

[PHP][Class]Kaip veikia klasės?


Rekomenduojami pranešimai

Pasistengsiu supažindinti su PHP Class, supažindinsiu su pagrindiniais dalykais.

 

1. Šiek tiek apie struktūra

 

__construct - Ši funkcija iškviečiama, kai, tik paleidžiama klasė.

__destruct - Funkcija paleidžiama kai klasė yra užbaigiama.

 

Pavyzdys:

<?php
class labadiena{

function __construct(){
	echo 'Laba';
}
function __destruct(){
	echo 'diena';
}

}
$labadiena = new labadiena();
?>

 

Paleidus matysime - Labadiena

 

 

Public - Prieinama už klasės ribų

Private - Prieinama tik klasėje

Protected - Prieinama tik klasėse

Pavyzdys:

 

<?php
class privpub{
private function privatu(){
	echo 'Private naudojama tik pačioje klasėje!';
}
public function sveiki_visi(){
	echo 'Public galima naudoti bet kur';
}
public function rodom_private(){
	$this->privatu();
}
}
$privpub = new privpub();
$privpub->privatu();
$privpub->sveiki_visi();
$privpub->rodom_private();
?>

 

$privpub->privatu(); Gausime klaidą - Call to private method privpub::privatu() from context

 

$privpub->sveiki_visi(); Gausime tekstą - Public galima naudoti bet kur

 

$privpub->rodom_private(); Parodys tai, kas yra mūsų Private funkcijoje, kurią galime paleisti tik klasėje. Gausime tekstą - Private naudojama tik pačioje klasėje!

 

 

Dviejų klasių sujungimas.

Extends - Sujungiamos dvi klasės

Pavyzdys:

Turime failus:

vienas.php

du.php

 

Vienas.php failas turi tokią klasę:

<?php
class vienas{
function kitas_failas(){
	echo 'Šis tekstas gautas iš kito failo!';
}
}
?>

 

du.php failas turi tokią klasę:

<?php
include 'vienas.php';
class du extends vienas{
function kitas_failas(){
	$this->kitas_failas();
}
}
new du();
?>

Paleidus du.php failą, gausime tokį tekstą: Šis tekstas gautas iš kito failo!

 

Kadangi aukščiau su protected pavyzdžio nepateikiau, pateikiu dabar, kadangi jis naudojamas su extends

Naudojama kai yra sujungiamos klasės, tokiu atveju jis atstoja Private.

Pavyzdys:

Turime failus:

vienas.php

du.php

 

Vienas.php failas turi tokią klasę:

<?php
class vienas{
protected function kitas_failas(){
	echo 'Šis tekstas gautas iš kito failo!';
}
}
?>

 

du.php failas turi tokią klasę:

<?php
include 'vienas.php';
class du extends vienas{
function kitas_failas(){
	$this->kitas_failas();
}
}
new du();
?>

Paleidus du.php failą, gausime tokį tekstą: Šis tekstas gautas iš kito failo!

Šią vietą "protected function kitas_failas(){ " pakeitus į " private function kitas_failas(){ " ir paleidus gausime klaidą - Call to private method du::kitas_failas() from context

 

 

Pamoka vis papildysiu, atsiprašau jeigu kai kur suklydau, vakare rašiau.

Redagavo EdvinasJ
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dėl destruktoriaus - prašauta pro šoną. Jis nėra iškviečiamas, kai sukuriamas objektas.

Taip pat, protected pasiekiamumas yra pagrindinė klasė bei klasės paveldinčios tą klasę.

O šiaip, tikėjausi, kad daugiau bus apie objektus pašnekėta, nes kitaip nelabai yra prasmės čia.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dėl destruktoriaus - prašauta pro šoną. Jis nėra iškviečiamas, kai sukuriamas objektas.

Taip pat, protected pasiekiamumas yra pagrindinė klasė bei klasės paveldinčios tą klasę.

O šiaip, tikėjausi, kad daugiau bus apie objektus pašnekėta, nes kitaip nelabai yra prasmės čia.

 

Viska aiškinu palaipsniui, apie kiek vieną dalyką aiškinsiu dar karta, ir daug plačiau, nes nematau prasmės pradėt aiškinti apie sunkesnius dalykus. Be to tai reikalauja ir laiko, visko nesurašysiu per vieną kartą.

 

O dėl __destruct, dėkui kad parašei, pataisyta, jis paleidžiama kai klasė užbaigiama.

 

P.S dėl protected, parašiau tą patį, tik galbūt nelabai aiškiai.

Redagavo EdvinasJ
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...