MVC view variabelen advies

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer!? Sta jij aan het begin van jouw loopbaan of heb jij misschien al enige ervaring? Vind jij het daarnaast belangrijk om jezelf constant te kunnen ontwikkelen en uitdagen? Lees dan snel verder! Voor een vooraanstaand softwarehuis in Nieuwegein ben ik op zoek naar een Junior Software Developer. De eigenaar van het bedrijf is ervan bewust dat je als junior nog een hoop kan leren, waardoor je de eerste maanden veel begeleiding en diverse trainingen krijgt. Daarna ga je samen met je collega's aan zowel kleine als grote projecten werken.

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

.NET Developer

Functie omschrijving Net afgestudeerd en op zoek naar een leuke baan als developer? Zoek niet verder! Ik heb een functie beschikbaar als back-end developer, bij een leuk familiebedrijf. Je gaat werken met de Microsoft stack en de technieken C# en .NET. Verder maak je gebruik van MVC en Entity framework. SQL kent ook geen geheimen voor jou. Jouw verantwoordelijkheden: Nieuwe maatwerk software bouwen; API koppelingen bouwen; Applicaties en software optimaliseren; Back-end programmeren. Een erg uitdagende functie, met veel vrijheid. Je kan meerdere dagen thuis werken en als je op kantoor werkt wordt de lunch verzorgd. Heb je interesse, reageer dan

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

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 »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »
Jan terhuijzen

jan terhuijzen

05/07/2014 18:14:43
Quote Anchor link
Ik doe in mijn MVC nu in elke controller dit, als ik een view wil laten zien:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// Voorbeeld, maakt niet echt uit waar variabelen vandaan komen
$data = array("title" => "Beveiligde pagina"
              "username"
=> $username,
              "css_href" => $url,
              "subpage" => "views/users/settings.php",
              "subpage_content" => "views/users/email-settings.php",
              
              "email" => $email,
              "form_msg" => $form_msg,
              );
            
$this->loadView("views/users/index.php", $data);
?>


Elke controller extends de Base Controller. Daardoor heeft elke controller de methode loadView om een view weer te geven. De methode loadView krijgt ook nog de $data parameter mee, dat is een array met de variabelen die de view nodig heeft. Deze array wordt ge-extract.
Ik kan dus maar 1x data aan de view meegeven. Daardoor moet ik in bijna elke controller opnieuw dezelfde variabelen in de $data array zetten en meegeven aan loadView.
Ik had dus bedacht om een nieuwe laag toe te voegen tussen de controllers. Bijvoorbeeld de UserAreaController voor alles van het gedeelte waar bv. een gebruiker ingelogd moet zijn.
Dan krijg je:
Controller (base controller)
|- UserAreaController
|- (de specifieke controller van een pagina)

In die UserAreaController kan ik dan in de constructor alle (boilerplate) variabelen maken. Het probleem is dus dat ik dan meerdere keren data moet mee kunnen geven aan de view. Terwijl die view nog moet worden gemaakt in een lager gelegen controller.
Wat is dan beter: naast de loadView methode, een nieuwe methode maken in de base controller die bv. storeViewData heet. Dan sla ik daar tijdelijk de data op, totdat loadView wordt aangeroepen. Als die wordt aangeroepen wordt de eerder opgegeven (bewaarde) data ook ge-extract (net als de $data in de loadView parameter) en zo wordt dus alles berijkbaar in het view bestand.
Of helemaal die $data parameter van loadView eruit halen, en via een aparte methode van de base controller de data meegeven. Zodat er een aparte methode is voor het laden (includen) van een view, en een aparte voor het meegeven van de data.
Gewijzigd op 05/07/2014 18:18:28 door Jan terhuijzen
 
PHP hulp

PHP hulp

23/11/2024 13:31:25
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/07/2014 19:00:54
Quote Anchor link
Jan terhuijzen op 05/07/2014 18:14:43:
Het probleem is dus dat ik dan meerdere keren data moet mee kunnen geven aan de view. Terwijl die view nog moet worden gemaakt in een lager gelegen controller.


Feitelijk is er geen lager gelegen controller.

Dit:
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 Controller
{
    private $a;

    public function a()
    {
    }
}


class UserController extends Controller
{
    private $b;

    public function b()
    {
    }
}

?>


Is (nagenoeg) hetzelfde als
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 UserController
{
    private $a;
    private $b;

    public function a()
    {
    }


    public function b()
    {
    }
}

?>
 
Jan terhuijzen

jan terhuijzen

05/07/2014 19:06:45
Quote Anchor link
Ja, maar ik denk ook niet dat dit het probleem is.
Het probleem zit vooral in de volgorde.
Als de view is gemaakt door loadView, kan ik niks meer aan de view veranderen. Een controller om de gebruikersinstellingen te veranderen moet nu dus ook data naar de view sturen die eigenlijk standaard al nodig is. Bijvoorbeeld de begruikersnaam rechts boven in beeld, de href voor de stylesheet etc. Dan zou ik in elke methode (action) van een controller opnieuw een lange array neer moeten zetten. Het is eigenlijk best simpel. Ik zoek gewoon een manier om meerdere keren data naar de view te kunnen sturen uit verschillende controller klassen (lagen) *, vóórdat de view is geladen natuurlijk.

* Dit is natuurlijk heel makkelijk al gedaan door overerving
Gewijzigd op 05/07/2014 19:08:33 door jan terhuijzen
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/07/2014 19:13:50
Quote Anchor link
Maar goed de een Controller is gewoon een class waarin je private functies kunt aanroepen:

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

        $data =  array_merge(
            $this->_getStandardBehavior(),
            array(
                "blabla" => "jajaja",
                "zozozo" => "mooimooi",
            )
        };


        $this->loadView("views/users/index.php", $data);
    }


    public function viewAction()
    {

        $data =  array_merge(
            $this->_getStandardBehavior(),
            array(
                "blabla" => "neeneenee",
                "zozozo" => "oeioeioei",
            )
        };


        $this->loadView("views/users/index.php", $data);
    }


    private _getStandardBehavior()
    {

        return array(
            "title" => "Beveiligde pagina"
            "username"
=> $username,
        );
    }
}


?>


De view laden doe je als allerlaatste inderdaad.
Gewijzigd op 05/07/2014 19:16:07 door Frank Nietbelangrijk
 
Jan terhuijzen

jan terhuijzen

05/07/2014 19:18:13
Quote Anchor link
Dat is ook een manier! i.p.v. de stukjes apart aan de view meegeven kun je ook de data van verschillende plekken halen zoals hier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$this
->_getStandardBehavior(),
            array(
                "blabla" => "neeneenee",
                "zozozo" => "oeioeioei",
            )

?>

Dan hoef je ook maar 1x de data aan de view te geven.
Gewijzigd op 05/07/2014 19:18:32 door jan terhuijzen
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/07/2014 19:18:37
Quote Anchor link
Je kunt ook overwegen om per pagina verschillende controllers aan te roepen. de eerste wordt aangeroepen door de router. alle volgende vanuit de view.

index.php (view)
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
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
    <nav>
        <?php render('MenuController:indexAction'); ?>
    </nav>

    ...

</body>
</html>
Gewijzigd op 05/07/2014 19:22:46 door Frank Nietbelangrijk
 
Patrick S

patrick S

05/07/2014 20:47:26
Quote Anchor link
Kun je niet de $data attribuut in je Base Controller zetten?

Dus zoiets?

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
class Base_Controller
{
    public $data = array();

    public function __construct()
    {
        $this->data = array("title" => "Beveiligde pagina"
              "username" => $username,
              );  
    }
}

class UsersController extends Base_Controller
{
    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        $this->data['subpage'] = 'views/users/settings.php';
        $this->data['subpage_content'] = 'views/users/email-settings.php';
        $this->loadView("views/users/index.php", $this->data);
    }
}
Gewijzigd op 05/07/2014 20:48:17 door patrick S
 
Frank Nietbelangrijk

Frank Nietbelangrijk

06/07/2014 02:06:51
Quote Anchor link
Ja zeker dat kan ook maar dan zou je dus wel in elke controller met $this->data moeten gaan werken, anders ben je niet consequent bezig.
Gewijzigd op 06/07/2014 02:21:20 door Frank Nietbelangrijk
 
Jan terhuijzen

jan terhuijzen

06/07/2014 23:11:16
Quote Anchor link
Ik doe het gewoon zo: loadView heeft de $data parameter gewoon, en er komt naast loadView nog een andere methode in de base controller die setViewData heet.
De hele view data wordt opgeslagen als property in de base controller.
Zo doe je de data gewoon instellen met setViewData(), en eventueel later nog bij loadView($path, $data).
In loadView heb je dan de $data parameter als een aanvulling op de (eventueel) eerder gevulde $data property van de base controller. In de methode loadView kun je de array dan samenvoegen etc.
Gewijzigd op 06/07/2014 23:12:03 door jan terhuijzen
 



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.