[OOP] Classes vanuit andere classes

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

Bekijk vacature »

.NET Developer

Functie De perfecte combinatie tussen techniek en vastgoed. Werk samen met de senior software developer om allerlei software van fluX te verbeteren. Gelukkig voel jij je helemaal thuis in de codewereld van .NET. Dus of je nu bezig bent met het verhogen van de conformiteitscore of het automatiseren van allerlei taxatiemodellen, jij weet precies hoe je de doelstellingen realiseert. En dat terwijl je ook samenwerkt met een extern ontwikkelteam. Waar dit team bepaalde softwaresystemen ontwikkelen, richt jij je vooral op onze Nederlands georiënteerde producten en alle wetgeving die daarbij komt kijken. Voor minimaal 32 uur per week verrijk jij onze

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Pagina: 1 2 volgende »

Roel -

Roel -

29/08/2011 16:13:43
Quote Anchor link
Hoi,

Ik ben sinds een tijdje bezig met object georiënteerd programmeren omdat het me wel aanspreekt. Ik leer op school Java en die manier van programmeren spreekt me ook wel aan.

Wat ik dus heb gedaan, ik heb een paar classes gemaakt in PHP die ongeveer op hetzelfde neerkomen als in Java.

Waar ik echter mee in de knoop raak is het volgende.
Ik heb deze classes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
// Standaard classes
class Form
{
        private $aElements;
        
        public function setElements()
        {

                $this->aElements = func_get_args();
        }

        
        public function build()
        {

                $sForm = '<form method="post" action=""><p>';
                foreach ($this->aElements as $oElement)
                {

                        $sForm .= $oElement->build();
                }

                return $sForm.'</p></form>';
        }

        
        public function addActionListener($oHandler)
        {
                
        }
}


class Input
{
        private $bRequired;
        
        public function setRequired($bRequired)
        {

                $this->bRequired = $bRequired ? true : false;
        }
}


class Button extends Input
{
        private $sName, $sValue, $iType;
        
        public function __construct($sName, $sValue = '', $iType = 1)
        {

                $this->sName = $sName;
                $this->sValue = $sValue;
                $this->iType = $iType;
        }

        
        public function setValue($sValue)
        {

                $this->sValue = $sValue;
        }

        
        public function build()
        {

                return '<input type="'.(($this->iType == 1) ? 'submit' : 'reset').'" name="'.$this->sName.'" value="'.$this->sValue.'" />';
        }
}


class Text extends Input
{
        private $sName, $sValue;
        
        public function __construct($sName, $sValue = '')
        {

                $this->sName = $sName;
                $this->sValue = $sValue;
        }

        
        public function setValue($sValue)
        {

                $this->sValue = $sValue;
        }

        
        public function build()
        {

                return '<input type="text" name="'.$this->sName.'" value="'.$this->sValue.'" />';
        }
}


// Classes per pagina
class KnopHandler
{
        
}


$oForm = new Form();
$oText = new Text('tekst');
$oButton = new Button('knop', 'Klik me');
$oForm->setElements($oText, $oButton);
echo $oForm->build();

?>


Ik wil zoals in Java bijvoorbeeld ook een addActionListener() functie hebben. Dan zou ik in mijn voorbeeld $oButton->addActionListener(new KnopHandler()) gebruiken. Kan iemand me helpen hoe ik dit kan realiseren?

Verder vraag ik me ook af hoe ik een object kan benaderen vanuit een ander object. Bijvoorbeeld, ik heb het object $oButton. In de class daarvan (class Button) wil ik $oText benaderen. Is dat mogelijk?

Bij voorbaat dank!
 
PHP hulp

PHP hulp

25/12/2024 05:29:58
 
Nick Audenaerde

Nick Audenaerde

29/08/2011 16:24:23
Quote Anchor link
Net als in java kan je classes extenden en classes includen in een andere pagina waardoor je deze weer aanroept.
 
Roel -

Roel -

29/08/2011 16:26:21
Quote Anchor link
Dat snap ik. Maar als ik in m'n Button class $oText probeer aan te roepen krijg ik fouten.
Gewijzigd op 29/08/2011 16:31:09 door Roel -
 
Fabian M

Fabian M

29/08/2011 17:44:03
Quote Anchor link
Roel van de Water op 29/08/2011 16:26:21:
Dat snap ik. Maar als ik in m'n Button class $oText probeer aan te roepen krijg ik fouten.


omdat $oText niet bestaat.
 
Roel -

Roel -

29/08/2011 17:48:33
Quote Anchor link
Ik heb het nu met extended gedaan inderdaad. Ik wist niet dat dat bedoeld werd.
Dat new KnopHandler() is trouwens geregeld.

Het tweede probleem lukt me nog steeds niet. Ik weet totaal niet wat ik moet doen. M'n script ziet er nu zo uit trouwens:
[script]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
// Standaard classes
class Form
{
        private $aElements;
        
        public function setElements()
        {

                $this->aElements = func_get_args();
        }

        
        public function build()
        {

                $sForm = '<form method="post" action=""><p>';
                foreach ($this->aElements as $oElement)
                {

                        $sForm .= $oElement->build();
                }

                return $sForm.'</p></form>';
        }

        
        public function getValue($oElement)
        {

                return $_POST[$oElement];
        }
}


class Input
{
        private $bRequired;
        
        public function setRequired($bRequired)
        {

                $this->bRequired = $bRequired ? true : false;
        }
}


class Button
{
        private $sName, $sValue, $iType;
        
        public function __construct($sName, $sValue = '', $iType = 1)
        {

                $this->sName = $sName;
                $this->sValue = $sValue;
                $this->iType = $iType;
        }

        
        public function setValue($sValue)
        {

                $this->sValue = $sValue;
        }

        
        public function build()
        {

                return '<input type="'.(($this->iType == 1) ? 'submit' : 'reset').'" name="'.$this->sName.'" value="'.$this->sValue.'" />';
        }

        
        public function addActionListener($oHandler)
        {

                if (isset($_POST[$this->sName])) {
                        new
$oHandler;
                        $oHandler->Main();
                }
        }
}


class Text extends Input
{
        private $sName, $sValue;
        
        public function __construct($sName, $sValue = '')
        {

                $this->sName = $sName;
                $this->sValue = $sValue;
        }

        
        public function setValue($sValue)
        {

                $this->sValue = $sValue;
        }

        
        public function build()
        {

                return '<input type="text" name="'.$this->sName.'" value="'.$this->sValue.'" />';
        }

        
        public static function getValue()
        {

                return 'test';// $_POST[$this->sName];
        }
}


// Classes per pagina
class KH extends Form
{
        public function Main()
        {

                echo $this->getValue('tekst');
        }
}


$oForm = new Form();
$oText = new Text('tekst');
$oButton = new Button('knop', 'Klik me');
$oButton->addActionListener(new KH());
$oForm->setElements($oText, $oButton);
echo $oForm->build();[/script]
 
Niels K

Niels K

29/08/2011 19:56:28
Quote Anchor link
Wat is precies je tweede probleem?
 
Roel -

Roel -

29/08/2011 21:42:47
Quote Anchor link
Dat vraag ik mezelf ook af na die post eerlijk gezegd.
Het ging volgens mij niet zoals ik het in de eerste instantie wou, hoewel me dit toch de beste oplossing leek...

Excuus :P
 
Write Down

Write Down

29/08/2011 23:51:58
Quote Anchor link
Sorry dat ik alsnog reageer, maar is het nu opgelost of niet?
 
Roel -

Roel -

30/08/2011 12:40:06
Quote Anchor link
Jep.
 
Roel -

Roel -

04/09/2011 17:23:59
Quote Anchor link
Ik raak er toch nog niet helemaal aan uit.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
/* Standard classes */

// Form class

class Form
{
        private $aElements;
        
        // After all elements are created, add them to the form
        public function setElements()
        {

                $this->aElements = func_get_args();
        }

        
        // Build the form
        public function build()
        {

                $sForm = '<form method="post" action=""><p>';
                foreach ($this->aElements as $oElement)
                {

                        $sForm .= $oElement->build();
                }

                return $sForm.'</p></form>';
        }

        
        // Get the value of an object
        public function getValue($oElement)
        {

                return $this->aElements[$oElement]->getValue();
        }

        
        // Set the value of an object
        public function setValue($oElement, $sValue)
        {

                $this->aElements[$oElement]->setValue($sValue);
        }
}


// Input class, used for form elements
class Input extends Form
{
        // Get the name of a form element
        public function getName()
        {

                return $this->sName;
        }
}


class Button extends Input
{
        private $sName, $sValue, $iType;
        
        // Set the name, value and type for a button
        public function __construct($sName, $sValue = '', $iType = 1)
        {

                $this->sName = $sName;
                $this->sValue = $sValue;
                $this->iType = $iType;
        }

        
        // Set the value of the button
        public function setValue($sValue)
        {

                $this->sValue = $sValue;
        }

        
        // Return the HTML button
        public function build()
        {

                return '<input type="'.(($this->iType == 1) ? 'submit' : 'reset').'" name="'.$this->sName.'" value="'.$this->sValue.'" />';
        }

        
        // Add an ActionListener which is called when the button is clicked
        public function addActionListener($oHandler)
        {

                if (isset($_POST[$this->sName])) {
                        new
$oHandler;
                        $oHandler->Main();
                }
        }
}


class Text extends Input
{
        private $sName, $sValue;
        
        // Set the name and value for the textfield
        public function __construct($sName, $sValue = '')
        {

                $this->sName = $sName;
                $this->sValue = $sValue;
        }

        
        // Set the value of the textfield
        public function setValue($sValue)
        {

                $this->sValue = $sValue;
        }

        
        // Get the value of the textfield
        public function getValue()
        {

                return $_POST[$this->sName];
        }

        
        // Return the HTML textfield
        public function build()
        {

                return '<input type="text" name="'.$this->sName.'" value="'.$this->sValue.'" />';
        }
}


/* Classes per page */
class KH extends Form
{
        // Main() is called when the button is clicked
        public function Main()
        {

                $this->setValue('text', 'Text in a textfield');
        }
}


$oForm = new Form();
$oText = new Text('text');
$oButton = new Button('button', 'Click me');
$oForm->setElements($oText, $oButton);
$oButton->addActionListener(new KH());
echo $oForm->build();
?>


Wat ik probeer, is vanuit m'n KH() (knophandler) de value te veranderen van het tekstvak. Alleen krijg ik telkens een fatal error:
Fatal error: Call to a member function setValue() on a non-object in /usr/home/deb17902/domains/globallife.nl/public_html/form.class.php on line 35

Het script is hier te vinden: klik

Weet iemand wat te doen om het werkend te krijgen?
Thx!
Gewijzigd op 04/09/2011 17:24:48 door Roel -
 
Wouter J

Wouter J

04/09/2011 17:52:32
Quote Anchor link
Wat is de code waar je de method setValue aanroept?

De error zegt namelijk dat de var waarin je die method koppelt geen object is. Alsof je zoiets hebt gedaan bijv. :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$user
= 'Roel';
$user->setValue(); // Ahh, $user is een string geen object!
?>
Gewijzigd op 04/09/2011 17:52:59 door Wouter J
 
Roel -

Roel -

04/09/2011 17:55:32
Quote Anchor link
Dat is op regel 119. Ik snap inderdaad dat het daarom gaat.
Maar hoe fix ik dit? Bij het argument van de functie setValue ervoor zorgen dat ie het argument als een object ziet?
 
Roel -

Roel -

05/09/2011 19:20:20
Quote Anchor link
Bump.
 
Pim -

Pim -

05/09/2011 20:41:03
Quote Anchor link
Je doet het verkeerd.
De knophandler hoort Form niet uit te breiden, maar een form als property te dragen, zodat je erin $this->_form->setValue() kan doen.

Toevoeging op 05/09/2011 20:43:14:

Verder is het gebruiken listeners door requests heen (dus bijv. luisteren naar het submitten van een form) in PHP een stuk lastiger dan in Java, omdat daar de objecten blijven bestaan en je ze in PHP steeds moet herbouwen. Het is lastiger, niet onmogelijk, hoewel ik het niet echt op deze manier ben tegengekomen.
 
Roel -

Roel -

05/09/2011 21:12:44
Quote Anchor link
Ja het is ook een uitdaging om dit zo te maken.
Weet je ook hoe ik een form als property meegeef?

Ik zou namelijk totaal niet weten hoe ik dit moet doen.
 
Roel -

Roel -

06/09/2011 21:15:30
Quote Anchor link
Bump.
 
Wouter J

Wouter J

06/09/2011 21:48:07
Quote Anchor link
Waarom bump je elke dag? We zijn hier gewoon vrijwillig en als de persoon die hier van af weet even niet online is is dit niet erg.

Je kan een propertie maken van User door deze mee te geven in een methode. Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
class User
{
  private $name;

  public function __construct( $name )
  {

    $this->name = (string) $name;
  }


  public function getName()
  {

    return $this->name;
  }
}

class Post
{
  protected $author;
  // veel code voor de post
  public function setAuthor( User $author )
  {

    $this->user = $author;
  }

  public function getAuthor()
  {

    return $this->user->getName();
  }
}


// Maak een nieuw User object
$user = new User('Roel');
// Maak een nieuw Post object
$bericht = new Post();
// Set de author door de User object mee te geven
$bericht->setAuthor($user);
// ... heel veel code ...
echo $bericht->getAuthor();
?>

Hierbij heb ik User als een propertie meegegeven aan $bericht. Deze heb ik in de propertie $author gezet. Vervolgens kan ik dit gewoon gebruiken als een class en kan ik $this->autor->getName() doen als ik de naam van User wil weten.
 
Roel -

Roel -

06/09/2011 23:41:18
Quote Anchor link
Kijk, daar heb ik wat aan.
Thx!
 
Ozzie PHP

Ozzie PHP

06/09/2011 23:49:55
Quote Anchor link
@Wouter: is dat eigenlijk de "normale" manier om een compleet User object mee te geven aan de setAuthor() functie? Je hebt toch alleen maar een naam nodig?

Is zoiets als dit niet logischer?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$user = new User('Roel');
$author = $user->getName();
$post = new Post($author);
echo $post->getAuthor();  
 
Wouter J

Wouter J

07/09/2011 07:59:27
Quote Anchor link
@Ozzie, ik ben niet heel goed in het OOP denken dus het kan totaal verkeerd zijn wat ik nu ga zeggen. Maar ik vind wat ik heb gedaan handiger. Stel dat je later ook nog een avatar wil van die author, of een stukje biografie van die author. Dan moet je al je code weer aanpassen. I.p.v. daarvan stop je gewoon de hele user object in de post, zo kunnen we via het post object zelf bepalen wat we willen en wat niet.
 
Ozzie PHP

Ozzie PHP

07/09/2011 12:36:51
Quote Anchor link
@Wouter, ik weet ook niet wat in dit geval "goed" is.

Hoe kijken andere leden hier tegenaan? Vooral de mensen die vaker met OOP werken?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.