Gå til innhold

arv php4 - syntaks


Anbefalte innlegg

Skrevet (endret)

jeg har en klasse ting

PHP

<?php

class Ting{

var $tang;

function Ting($t){

$this->tang $t;

}

}

 

// og klassen Tang

class Tang extends Ting{

function Tang($t){

// super? i php 5 er dette parent::__construct()

//alt a)

$this->tang $t;

// alt b)

parent::Ting($t);

}

function change_tang($new){

// alt a)

$this->tang $new;

// alt b)

parent::$tang $new// her får jeg parse-error

}

}

 

$tang = new Tang("tingeling");

$tang->change_tang("bommelom");

print $tang->tang;

?>

 

Jeg innser at php4 objektsyntaks er helt fjernt for meg.

Noen som kan?

 

/

Endret av CruellaDeVille
Videoannonse
Annonse
Gjest Slettet+142
Skrevet (endret)

har du testet om function Tang faktisk virker som en konstruktør?

 

prøv å legge til echo "hei!"; i funksjonen Tang og se om det skrives ut...

 

 

edit: eller får du riktig output når du kjører koden?

Endret av Slettet+142
Skrevet

Alternativ a fungerer jo strålende:

// Dropper å skrive klassene på nytt, men fjern parent:: sakene
$tang = new Tang("tingeling");
print $tang->tang;
$tang->change_tang("bommelom");
print $tang->tang;'
?>

gir

tingelingbommelom

Skrevet

jeg fant det ut til slutt.

Men da har jeg enda et spørsmål. Jeg har brukt kvelden til å skrive om opplastingsskriptet fra en tidligere tråd, den var på under 100 linjer. Nå har jeg lagt til en resize-klasse og en multiviewer, men filen er nå over 300 linjer lang. Kan OOP forsvares i sånne tilfeller også?

Skrevet

OOP kan alltid forsvareres i større prosjekter og komponenter du tenker å gjenbruke på en eller annen måte.

Koder man derimot små script med enkel funksjonalitet og programmering er mer en hobby og funksjonaliteten til scriptet ikke vil trenges igjen så bør man vurdere om ikke "rett fram" koding holder.

Vis du tviler veldig på OOP bør du huske at dette er helt nytt for deg (tror jeg) og at det tar tid (et par måneder, et halvt år, et år. Alt ettersom) og oppdage alle nytteverdiene.

Jeg har sett få erfarne utviklere som bruker PHP til store prosjekter og velger den "gamle" måten, men PHP gir jo brukeren begge mulighetene og mange velger en miks, selv driver jeg mest med større prosjekter og bruker en mer fullblods OOP-løsning

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...