bizar probleem parent::__construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder voor het financiele domein op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

Software Ontwikkelaar

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 »

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 »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn ze op zoek naar een Technische front end developer. Momenteel hun front end back end team gescheiden aan het werk. Hier willen ze verandering in krijgen. Omdat ook veel interne applicaties ontwikkeld worden zoeken ze iemand die hen kan helpen om de interne applicaties te voorzien van de juiste Vue.js componenten. Zodoende willen ze de interactie tussen front end en back end versoepelen en de volgende stap binnen het platform gaan zetten. Deze componenten die jij ontwikkeld zullen in elk project gebruikt worden. Het back end team bestaat momenteel uit 8 ontwikkelaars

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

API Developer Red Hat Fuse

Dit ga je doen Als API Developer zal je verantwoordelijk zijn voor het: het maken van API's en het correct laten draaien van de API's op het platform. Hierdoor kom je in aanraking met Red Hat Fuse, Springt Boot, 3Scale, Red Hat SSO, Openshift en Azure DevOps; zorgen voor de kwaliteit van de ontwikkeling, integratie en prestaties van de API's; zorgen voor een stabiel integratieplatform. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap dat hoofdzakelijk op OpenShift, Azure en

Bekijk vacature »

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

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

23/12/2024 11:00:10
 
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.