bizar probleem parent::__construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

Front-end Developer

Functie omschrijving Wij zijn op zoek naar een Front-end Developer! Als Front-end Developer binnen dit softwarebedrijf ga je de frontends voor zowel je eigen interne projecten als die voor klanten opzetten, onderhouden en uitbreiden. Je zet ideeën om naar mooie successen voor de klanten. Dat is in een notendop wat je gaat doen! Wat kun je verwachten? Je werkt aan de doorontwikkeling van bestaande maatwerkapplicaties. Bijvoorbeeld wanneer de klant de applicatie wil uitbreiden met een nieuwe feature; Samen met het team van backenders en desginers zet je nieuwe ideeën van klanten om naar mooie oplossingen; Je werkt met verschillende frameworks.

Bekijk vacature »

Low code Developer

Dit ga je doen Je richt je op het doorontwikkelen van bestaande applicaties en het geheel van scratch af aan opzetten van nieuwe applicaties binnen een low code platform; Je beoordeelt technisch ontwerpen en maakt de vertaalslag naar de technische oplossingen binnen het platform; Je voert testwerkzaamheden uit; Je adviseert de organisatie op jouw vakgebied; Je schakelt met business analisten en de architect om tot mooie oplossingen te komen; Je lost bugs op en denkt mee over een structurele oplossing. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Front end developer Zorgplatform

Functie Jij als Front end ontwikkelen zult komen te werken samen met 1 PHP ontwikkelaar, 1 Python developer en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De Marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult als Front ender dus voornamelijk bezig zijn met het verbeteren van onze interfaces op onze verschillende producten. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

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 »

Fullstack Developer

Functieomschrijving Heb je kort geleden jouw HBO diploma ICT development behaald? Of zit je nog aan het begin van je carrière en heb je affiniteit met C#.NET? Voor een erkende werkgever in de omgeving van Oosterhout zijn wij op zoek naar een fullstack developer. Als C#.NET developer werk je samen met een vooruitstrevend team aan het ontwikkelen van maatwerk software voor klanten. Je hebt affiniteit met SQL, maar nog belangrijker is dat je kennis en ervaring hebt met C#.NET. Jouw werkzaamheden zien er als volgt uit: Het ontwikkelen van onze high-availability en high-performance backend; Je begint de dag rond 8:30

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

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

29/04/2024 17:36:32
 
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.