Gå til innhold

Utvide et objekt.


Anbefalte innlegg

Skrevet

I javascript kan du:

myobj.prototype.my = function()
{
/* code */
}

 

Kan jeg gjøre noe tilsvarende i PHP?

 

function MYOBJ::my()
{
/* code */
}

Virker ikke. Finner heller ikke noen andre måter.

Videoannonse
Annonse
Gjest Slettet-rXRozPkg
Skrevet

Du kan ikke utvide en funksjon i PHP. Det du kan utvide er en klasse, og redefinere funksjonen i den utvidete klassen.

Skrevet

Poenget er:

 

<?php
class news
{
function a()
{
/* code */
}
}

/* nå vil jeg ha news::b() også */
function news::b()
{
/* code */
}
?>

 

Men hvordan får jeg b(), hvordan utvider jeg klassen. Har ikke programmert på en stund.

Gjest Slettet-df17e
Skrevet

Hvorfor kan du ikke gjøre det som dette ?

 

class news
{
function a() {}
function b() {}
}

Skrevet
Poenget er:

 

<?php
class news
{
function a()
{
/* code */
}
}

/* nå vil jeg ha news::b() også */
function news::b()
{
/* code */
}
?>

 

Men hvordan får jeg b(), hvordan utvider jeg klassen. Har ikke programmert på en stund.

7049237[/snapback]

Fysj og fysj. Kan jo ikke akkurat lage en funksjon som ikke er definert i klassen. Skal du legge til en funksjon må du arve fra klassen.
Skrevet

enkleste er, som Ernie sier, å arve klassen og lage utvidelser der.

PHP

<?php

class {

function a() {

echo 'a';

}

}

 

class extends {

function b() {

echo 'b';

}

}

?>

Skrevet

Er til et modul system, tror jeg kan gjøre det på denne måten.

 

<?PHP
class NEWS
{
function __call($m,$arg)
{
  hvis extNEWS$m funskjon eksisterer kall den med $arg.
}
}
function extNEWSb()
{
/* code */
}
$news = new news();
$news->b();
?>

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...