bizar probleem parent::__construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Fullstack Java Developer @ Regio Amsterdam

2021-10-14 iSense Junior Fullstack Java Developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond en wil je graag aan de slag als Fullstack JAVA Developer? Lees dan snel verder! Want in februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie JAVA. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISNA51153 Wat ga je doen tijdens het Fullstack JAVA ontwikkeltraject? Vanaf februari 2022 krijg jij via de Experis Academy een unieke kans om jouw IT-carrière een kickstart te geven en

Bekijk vacature »

Javascript Front-end Developer - Medior

We're searching for a front-end developer to help a client grow their front-end applications and improve user experiences. The front-end is solely hand made in JavaScript and therefore you need to breathe JavaScript. Job Description Our client is a medium sized specialist in email marketing. The company is characterized by an open atmosphere with a strong focus on personal development and interest. To support their growth we're searching for a front-end developer with JavaScript skills. The front-end is a single-page application developed in JavaScript that requires HTML and CSS expertise. You should also be comfortable with PHP in order to

Bekijk vacature »

SAP CRM Developer @ Den Haag

2021-07-26 iSense SAP CRM Developer Heb jij ervaring met SAP CRM/UI5 en Webdypro ABAP? Denk jij niet in problemen maar in oplossingen en wil jij met die oplossingen de business naar een hoger niveau tillen? Lees dan snel verder! ISKA50585 Organisatie De organisatie staat voor het leveren van een efficiënte en kwalitatief hoogwaardige salaris- en personeelsadministratie. Je gaat samenwerken met ICT-professionals met uiteenlopende kennis en achtergronden. Hou je van Agile samenwerken en kom je maximaal tot je recht in zelfsturende teams? Dan is dit de plaats waar jouw toekomst ligt. Voor deze functie zijn we op zoek naar een ervaren

Bekijk vacature »

.NET ontwikkelaar / Azure @ Utrecht

2021-08-16 iSense .NET ontwikkelaar / Azure Ben jij een ervaren .NET Developer die na al die jaren programmeren nog steeds niets liever doet dan programmeren in .NET en heb jij daarnaast al de nodige kennis in Azure opgedaan? Lees dan snel verder! ISKL48621 Organisatie Als onderdeel van een grote IT-dienstverlener is deze organisatie nu gegroeid tot een organisatie van bijna 30 man groot. Iedereen binnen deze organisatie houdt zich bezig met het ontwikkelen, beheren, onderhouden van bedrijfskritische applicaties. De organisatie ontwikkelt applicaties voor o.a. diverse grote zorgverzekeraars, maar ook de wat kleinere lokale bedrijven worden door deze organisatie ondersteund. In

Bekijk vacature »

Developer / Low-code @ Regio Lelystad

2021-08-16 iSense Developer Low-code Vind jij het leuk om als Ontwikkelaar te werken aan een eindproduct voor verschillende grote klanten in Nederland en voel jij je prettig binnen een familiebedrijf? Lees dan snel verder en solliciteer! ISK50314 Nieuw Organisatie Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De organisatie

Bekijk vacature »

Fullstack .Net Developer @ Rotterdam

2021-09-03 iSense Fullstack .Net Developer .Net Developer Back-end ISAR49919 Nieuw Organisatie Onze klant is een zakelijke dienstverlener in de regio Rotterdam, bij hun staat de medewerker centraal en daarna de klant. Ze zijn op zoek naar ervaren .Net Developers om hun klanten te helpen bij de digitale transformatie. Je gaat werken voor grote uitdagende klanten en ontwikkelen aan enterprise applicaties. Samen met het team bouw je de gewenste oplossingen. Naast het bouwen van oplossingen denk je mee met de klant en adviseer je de klant over bepaalde technische vraagstukken. De focus ligt bij deze functie vooral op de back-end. Ben

Bekijk vacature »

Back-end PHP Developer @ Alkmaar

2021-08-20 iSense Back-end PHP Developer Ben jij een developer die de volgende stap in zijn carrière wilt maken? Wijk jij niet uit voor precisie werk in een open en informele omgeving? Lees dan snel verder en reageer! ISCA41143 Organisatie Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken in een organisatie met een open en informele sfeer. Het

Bekijk vacature »

Fullstack .NET Developer @ Utrecht

2021-07-28 iSense Fullstack .NET Developer Spreekt het werken in een complexe omgeving jou aan, waarbij de klant, de markt en het beheren van data voor interne en externe partijen aan bod komen? Solliciteer dan nu! ISPA50580 Organisatie Onze klant is een grote organisatie en is actief in de financiële sector. Je komt terecht in een omgeving waar ze met een team van zo'n 50 collega's inzicht geven in alle speerpunten van de organisatie zoals digitalisering, KYC (Know Your Customer) en bereikbaarheid voor zowel de centrale bank als de lokale banken. Samen met collega's van Business Intelligence creëer je impactvolle datagerelateerde

Bekijk vacature »

Junior RPA Developer met veel opleidingsmogelijkhe

Bedrijfsomschrijving RPA is jong en groeiende, net als deze organisatie. Er komt steeds meer vraag naar RPA, hierom is jouw hulp echt nodig. Deze organisatie biedt junioren de kans om de eerste stap te zetten en mee te groeien binnen RPA. Ze bestaat nu bijna 5 jaar en ze hebben al flinke stappen gemaakt. De vraag naar Robotics wordt steeds groter en de klanten van deze organisatie zoeken een snelle en efficiënte manier om bedrijfsprocessen te realiseren. Functieomschrijving Je gaat hier aan de slag als Junior RPA Developer. Jouw affiniteit met techniek maakt je leergierig en zorgt dat je nieuwe

Bekijk vacature »

(junior) PLC programmeur

Sta jij klaar om een bijdrage te leveren aan de verbetering van het productieproces? Dan is dit een uitdagende en veelzijdige functie die bij je past! Functie Het team waarin je werkt is verantwoordelijk voor het project vanaf het concept tot en met de nazorg. Denk hierbij aan het maken van offertes, opstellen van schema's, doen van bestellingen en programmeren van de PLC's; Je werkt hoofdzakelijk zelfstandig, onderhoudt de communicatie met de klant, je collega's op andere projecten en met de leveranciers; Je helpt bij het verder moderniseren en automatiseren van de huidige productielijnen; Onderhouden en optimaliseren van de software;

Bekijk vacature »

Technisch Developer

Werken aan innovatieve oplossingen die onmisbaar zijn voor iedereen en dus ook voor jou als reiziger? Als Technisch Developer bij InTraffic lever jij een waardevolle bijdrage aan de reizigerservaring! • Hoe? Door te werken aan complexe technische vraagstukken met behulp van C++. • Waarom? Om de veiligheid en doorstroom op het spoor te kunnen waarborgen. Je draagt bij aan de mobiliteit van nu en ook die van de toekomst. • Waar? Bij InTraffic in Nieuwegein, dé IT-specialist op het gebied van verkeer en vervoer. • Met wie? Je werkt in een scrumteam. Onze teams variëren van 3 tot 9 professionals.

Bekijk vacature »

OutSystems Developer @ Hilversum

2021-08-04 iSense OutSystems Developer Heb jij als OutSystems Developer ruime ervaring met het ontwikkelen van diverse applicaties? Lijkt het jou gaaf om aan de vooravond te staan van de implementatie van een volledig nieuw applicatiehuis? Wil jij aan de slag binnen een uitdagende omgeving waarbij je de mogelijkheid krijgt jezelf verder te ontwikkelen? Lees snel verder! ISKO47620 Organisatie 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, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor

Bekijk vacature »

Oracle en PL/SQL Developer @ Regio Den Haag

2021-07-01 iSense Oracle en PL/SQL Developer Wil jij een bijdrage leveren aan de groei en ontwikkeling van een energie leverancier die duurzaamheid hoog in het vaandel heeft staan? Vind je het gaaf om je eigen applicaties te bouwen? Lees dan snel verder! ISBA49318 Nieuw Organisatie Als ervaren DevOps Engineer zal je verantwoordelijk zijn voor de ontwikkeling van nieuwe webapplicaties door middel van Oracle APEX en PL/SQL. Je houdt je bezig met het realiseren van mooie en innovatieve oplossingen, voortstormend uit de requirements die je hebt achterhaald bij diverse stakeholders. Naast web development ben je tevens verantwoordelijk voor het onderhouden een

Bekijk vacature »

Junior Fullstack JAVA developer @ Regio Den Haag

2021-10-01 iSense Junior Fullstack JAVA developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond en wil je graag aan de slag als Fullstack JAVA Developer? Lees dan snel verder! Want in januari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie JAVA. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISNA51156 Meerdere functies beschikbaar Wat ga je doen tijdens het Fullstack JAVA ontwikkeltraject? Vanaf januari 2022 krijg jij via de Experis Academy een unieke kans om jouw IT-carrière een kickstart

Bekijk vacature »

GIS Developer @ Utrecht

2021-10-06 iSense GIS Developer Ben jij een Software Developer met minimaal drie jaar ervaring en wil jij aan werken aan toonaangevende GIS software? Spreekt het jou aan om binnen een innovatief ingenieursbureau te werken aan uiteenlopende projecten voor diverse grote en bekende namen in Nederland? Lees dan nu verder! ISHU48803 Organisatie Als GIS Developer kom je te werken bij een high-tech ingenieursbureau in de regio van Utrecht. Al ruim 15 jaar werken ze aan de eigen ontwikkeling van innovatieve applicaties op het gebied van mobiliteit en infrastructuur. Met al hun jaren ervaring bedenken en ontwikkelen ze geografische oplossingen voor grote

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

17/10/2021 23:10:20
 
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.