bizar probleem parent::__construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »

Python Developer

Dit ga je doen Als Python Developer ben je verantwoordelijk voor: Het ontwikkelen van Stuurprogramma's in Python zodat er verbindingen kunnen worden gelegd tussen besturingssystemen en (AV) hardware; Het testen en debuggen van Stuurprorgamma's; Het communiceren met noodzakelijke partijen in gevallen waar extra technische details nodig zijn om een Stuurprogramma te ontwikkelen of problemen op te lossen; Het maken van de nodige technische documentatie (in het Engels); Het participeren in een Scrum/Agile omgeving. Hier ga je werken Deze internationale organisatie is wereldwijd een succesvol producent en leverancier van professionele AV hard- en software. Klanten gebruiken de producten o.a. voor het

Bekijk vacature »

Medior/Senior Python developer

Functie Jij als Senior Python developer hebt al ruime ervaring opgedaan. Bedrijven komen bij de organisatie om technische vraagstukken op te lossen. Jij als specialist bent dus de representatie van deze kwaliteit. Je zult de keuze krijgen tussen lange of korte projecten waarin je komt te werken in multidisciplinaire teams. Projecten die je gaat uitvoeren zijn zeer uitlopend. Zodoende kun je aan de ene kant kiezen voor een greenfield project en stroom je bij een ander project midden in een migratietraject in. Voor de ene klant ontwikkel je ene nieuwe portal en voor het andere project duik je veel meer

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 »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Java developer Zorgsysteem

Dit ga je doen Werken aan het eigen gebouwde zorgsysteem; Verbeteringen maken en toepassen binnen de applicatie; Jij gaat werken aan de Back-end van de applicatie en sporadisch werk je mee aan de Front-end; Samenwerken met andere teams voor een optimaal resultaat; Jij kan 'clean' werken en high quality code schrijven; Jij werkt resultaatgericht. Hier ga je werken De organisatie houdt zich bezig met diverse applicaties met betrekking tot zorgregistratie. Dankzij hun systeem komt alle informatie, omtrent de zorg van een patiënt, op een overzichtelijke en toegankelijke manier samen in één systeem te staan. Op deze manier is deze informatie

Bekijk vacature »

Pagina: 1 2 volgende »

Anthony de meulemeester

anthony de meulemeester

18/06/2013 01:54:59
Quote Anchor link
Beste mensen,

ik zit met een vervelend bizar probleem dat ik al werkend heb gezien bij iemand anders zijn code.

ik heb een main controller die de view init

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
<?php
class TESS_controller{
    
    public function __construct()
    {

        $this->view = new TESS_view();
    }

    
    public function load($model)
    {

        require 'application/models/' . $model . '.php';
        $this->model = new $model;
    }
}

?>


ik heb andere child constructors! De view word prima geinjecteerd door parent::__construct

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
<?php
class Index extends TESS_controller{
    
    public function __construct()
    {

        parent::__construct();
    
        $this->view->load('index/index');
    }

    
    public function anthony()
    {

    }    
}

?>


Wat is nu het probleem ik kan geen variable aanmaken in childs voor de view

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $this->view->naam = 'weetikwie'; ?>


werkt niet. ik krijg steeds undefined variable op de error.
maar als ik dit doe in de main controller lukt dat wel???

waarom kunnen de childs dit niet als parrent construct word? hoe kan ik dit het beste oplossen?
 
PHP hulp

PHP hulp

25/04/2024 20:07:24
 
Erwin H

Erwin H

18/06/2013 02:27:30
Quote Anchor link
Dit heeft niets met 'bizar' te maken. In je parent heb je $this->view niet gedefinieerd. Die variabele wordt dus runtime aan gemaakt en is daarmee private geworden. Descending classes kunnen die variabele dus niet gebruiken. Leer de verschillen tussen private, protected en public, dan is dit niet meer 'bizar'.
 
Wouter J

Wouter J

18/06/2013 07:38:08
Quote Anchor link
En gebruik ook een autoloader.
 
Anthony de meulemeester

anthony de meulemeester

18/06/2013 09:23:31
Quote Anchor link
protected of public maken van view werkt niet.
 
Ozzie PHP

Ozzie PHP

18/06/2013 09:56:37
Quote Anchor link
Probeer zo eens...

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
<?php
class TESS_controller{
    
    protected $view;    

    public function __construct()
    {

        $this->view = new TESS_view();
    }

    
    public function load($model)
    {

        require 'application/models/' . $model . '.php';
        $this->model = new $model;
    }
}

?>
 
Anthony de meulemeester

anthony de meulemeester

18/06/2013 10:04:22
Quote Anchor link
heb ik al geprobeerd werkt niet

in de main controller kan ik dus vars on the fly maken

$this->view->nummer = 8 geen probleem

maar in de childcomtrollers krijg ik steeds undefined variable TESS_view::nummer.

terwijl ik op de tutorial die gast hetzelfde zie doen in de childs met dezelfde code ongeveer denk ik.

ligt dat aan men instellingen ofzo? ik zie anders geen uitweg?

tenzij de views telkens op te roepen in de child controllers in plaats van in de main controller

maar dan heeft die ook geen nut meer.
 
Ozzie PHP

Ozzie PHP

18/06/2013 10:14:31
Quote Anchor link
Laat (de code) eens zien hoe je dat doet vanuit de child controller.
 
Anthony de meulemeester

anthony de meulemeester

18/06/2013 10:22:12
Quote Anchor link
stel ik surf naar index/test, word mijn test functie aangeroepen

die zegt dat $this->view->naam gelijk aan men modal die bv Anthony returned

variable $this->view->naam blijft leeg NULL;

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
<?php

class Index extends TESS_controller{
    
    public function __construct()
    {

        parent::__construct();
    
        $this->view->load('index/index');
        
    }
    
    
    public function test()
    {

        $this->view->naam = $this->model->Getnaam();
    }
}

?>



Toevoeging op 18/06/2013 10:22:44:

doe ik dit inde main werkt het wel
 
Ozzie PHP

Ozzie PHP

18/06/2013 10:26:11
Quote Anchor link
Net had je het over een foutmelding die je kreeg, nu heb je het over een variabele die NULL is. Dat zijn 2 verschillende dingen. En waar roep je die $this->view->naam op?
 
Anthony de meulemeester

anthony de meulemeester

18/06/2013 10:48:16
Quote Anchor link
in de client index

print $this->naam;

alles werkt als ik de view in elke controller aanmaak

dus elke keer $this->view = new TESS_view;

maar ik wil dat in men main doen daarvoor dient deze tog.

ik begrijp het echt niet. ik zie mensen dit doen. ben al van gisteren middag bezig dit op te lossen maar in vind geen oplossing.
 
Ozzie PHP

Ozzie PHP

18/06/2013 10:49:58
Quote Anchor link
$this->naam is iets anders dan $this->view->naam.

Plaats nu eens gewoon even al je code inclusief de code waar het misgaat.
 
Erwin H

Erwin H

18/06/2013 11:25:15
Quote Anchor link
Anthony de meulemeester op 18/06/2013 10:04:22:
in de main controller kan ik dus vars on the fly maken

Om te beginnen moet je dat helemaal niet doen 'vars on the fly' aanmaken. Niet alleen een slechte gewoonte, ook is het dan helemaal niet mogelijk om buiten het object die variabelen nog aan te roepen. Nogmaals, omdat ze dan private worden.
Anthony de meulemeester op 18/06/2013 10:48:16:
ik begrijp het echt niet. ik zie mensen dit doen.

Dat lijkt me dus klinklare onzin, dat kan namelijk helemaal niet. Alleen BINNEN een object, hoewel het dan nog steeds een slechte gewoonte blijft.
 
Anthony de meulemeester

anthony de meulemeester

18/06/2013 11:26:51
Quote Anchor link
index model

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
<?php


class index_model{
    
    public function __construct()
    {

        print 'here is the index_model <br>';
    }

    
    public function test()
    {

        return 'ik ben een vis';
    }
}

?>


index controller

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
<?php

class Index extends TESS_controller{
    
    public function __construct()
    {

        parent::__construct();
        
    }
    
    
    public function index()
    {

        $this->view->load('index/index');
        $this->view->naam = $this->model->test();
    }

    
}

?>


main controller

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
<?php
class TESS_controller{
    
    public function __construct()
    {

        $this->view = new TESS_view();
    }

    
    public function load($model)
    {

        
            require 'application/models/' . $model . '.php';
            $this->model = new $model;
        
    }

}

?>


en de client side index
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
<div class="container margintop">
<
div class="modal-header">
<
h3>Tess php framework</h3>
<
/div>

[
code]<?php print $this->naam ?>

</div>
?>




Toevoeging op 18/06/2013 11:28:40:

error = Notice: Undefined property: TESS_view::$naam in C:\xampp\htdocs\tess-framework\application\views\index\index.php on line 6
Gewijzigd op 18/06/2013 11:27:23 door anthony de meulemeester
 
Ozzie PHP

Ozzie PHP

18/06/2013 11:29:11
Quote Anchor link
@Erwin: wat bedoel je met dat variabelen private worden? Variabelen worden toch niet vanzelf private?

Toevoeging op 18/06/2013 11:40:43:

Je hebt je model niet gedeclareerd terwijl je die wel aanspreekt: $this->model->test();

Daarnaast moet je ook je prooperties in je classes declareren.
 
Wouter J

Wouter J

18/06/2013 11:46:16
Quote Anchor link
Quote:
wat bedoel je met dat variabelen private worden? Variabelen worden toch niet vanzelf private?
- See more at: http://www.phphulp.nl/php/forum/topic/bizar-probleem-parentconstruct/91205/last/#sthash.6X6C8u7O.dpuf

ik dacht ook dat ze standaard public worden. Werden ze maar private...
 
Erwin H

Erwin H

18/06/2013 11:49:12
Quote Anchor link
woops...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
class Test{
  public function __construct(){
    $this->naam = 'ikke';
  }
}


$test = new Test();
echo $test->naam;
?>

Levert dus inderdaad wel 'ikke' op. Dat stuk van de private mag je dus vergeten inderdaad :-)
Neemt niet weg dat het 'on the fly' aanmaken van allerlei variabelen in een class een slecht gewoonte is.... Je object krijgt er namelijk allerlei onvoorziene gegevens bij die het verder niet zal managen, immers, het object zelf weet niet eens dat het er is. Voor jezelf is het ook zeer ongewis welke variabelen er op welk moment allemaal bestaan en debuggen wordt dan ook een ramp.
 
Ozzie PHP

Ozzie PHP

18/06/2013 11:50:06
Quote Anchor link
Wouter J op 18/06/2013 11:46:16:
Quote:
wat bedoel je met dat variabelen private worden? Variabelen worden toch niet vanzelf private?
- See more at: http://www.phphulp.nl/php/forum/topic/bizar-probleem-parentconstruct/91205/last/#sthash.6X6C8u7O.dpuf

ik dacht ook dat ze standaard public worden. Werden ze maar private...

Ja, dat zou wel gaaf zijn :-)

Offtopic:

Sinds wanneer is dat fijne (ahum) "See more at: ..." regeltje weer terug? Irritant...




Toevoeging op 18/06/2013 11:50:57:

Erwin H op 18/06/2013 11:49:12:
woops...

inderdaad, hehehe ;-)
 
Anthony de meulemeester

anthony de meulemeester

18/06/2013 11:53:05
Quote Anchor link
maar hoe kan dit nu?

kijk nu inject ik view in elke controller

ik krijg nu op men scherm

Notice: Undefined property: TESS_view::$naam in C:\xampp\htdocs\tess-framework\application\views\index\index.php on line 6 -

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
<?php
class Index extends TESS_controller{
    
    public function __construct()
    {

        
        $this->view = new TESS_view();
        //$this->view->naam = 'ikke';
    }    
    
    public function index()
    {

        $this->view->load('index/index');
        $this->view->naam = 'anthony';
        
    }
}

?>


steek ik het in de constructer krijg ik 'ikke ' op men scherm.

in de constructor werkt het. was da nu weer alemaal;
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
<?php
class Index extends TESS_controller{
    
    public function __construct()
    {

        
        $this->view = new TESS_view();
        $this->view->naam = 'ikke';
    }
    
    
    public function index()
    {

        $this->view->load('index/index');
        //$this->view->naam = 'anthony';
    
    
    }    
}

?>


Toevoeging op 18/06/2013 11:57:43:

ik kan dus enkel in de constructor $this->view aanpassen.

raar
Gewijzigd op 18/06/2013 11:53:56 door anthony de meulemeester
 
Ozzie PHP

Ozzie PHP

18/06/2013 12:35:35
Quote Anchor link
Draai de regels eens om:

NIET:

$this->view->load('index/index');
$this->view->naam = 'anthony';

MAAR:

$this->view->naam = 'anthony';
$this->view->load('index/index');
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/06/2013 12:52:08
Quote Anchor link
Dat is helemaal niet raar, je kan alleen in een constructor variabelen van een object aanmaken.
Blijkbaar bestaat de variabele naam niet in het view object.
Maar let op wat je nu aan het doen bent, want dit kan dus wel!:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function index() {
    $this->view = 'Anthony';
}

?>

Met alle gevolgen van dien.
 
Ozzie PHP

Ozzie PHP

18/06/2013 13:07:46
Quote Anchor link
Ger van Steenderen op 18/06/2013 12:52:08:
Dat is helemaal niet raar, je kan alleen in een constructor variabelen van een object aanmaken.

Huh? Wat bedoel jij nu?
 

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.