Navigation class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer wanted! (Angular, React, Vue.j

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »

Lead C++ Developer

The role of Lead C++ Developer As Lead C++ Developer at KUBUS you will be responsible for the implementation design of requirements and the software architecture of the desktop applications of BIMcollab, our platform for 3D model validation and issue management aimed at improving the quality of 3D building design models. Better 3D models lead to better buildings, thus contributing to the sustainability of the built environment with smarter use of materials, less waste and energy-efficient buildings. A good user experience is of paramount importance to us; we go for innovation and quality in our development. In your role as

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

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 »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

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 »

Pagina: 1 2 volgende »

Reshad F

Reshad F

04/11/2012 15:49:22
Quote Anchor link
Hello OOP specialisten vooral :)

Ik ben na lange tijd maar weer is achter de PHP classes oefeningen gedoken.

Voor een nieuwe oefening dacht ik een navigatie menu te maken d.m.v. een Navigation class. Waar ik nu precies naar benieuwd ben, wat moet er zoal in en waar moet ik rekening mee houden. zijn er dingen die minimaal in een navigaton class moeten komen? ( denk hierbij aan de interface class ) etc...

alle tips zijn welkom :)

Offtopic:

ik post de vraag ook op andere fora dus wees niet verrast als je het tegenkomt, uiteraard zal ik het uiteindelijke resultaat overal neerzetten.
Gewijzigd op 04/11/2012 17:57:29 door Reshad F
 
PHP hulp

PHP hulp

05/01/2025 09:45:29
 
Wouter J

Wouter J

04/11/2012 15:54:08
Quote Anchor link
Ik zou voorstellen dat jij eerst gaat nadenken. Waar kom jij op? Het moet immers jij zijn die het gaat leren, wij weten het al.
 
Reshad F

Reshad F

04/11/2012 16:02:31
Quote Anchor link
oke, beginnend met de Interface zou ik zeggen

navigationInterface

setMenuItem(); //Menus opgeven vb Home, contact etc etc
getMenuItem(); // return de Menu items
display(); //de navigationMenu dispatchen naar het scherm

en aan de hand hiervan een navigation class bouwen
Gewijzigd op 04/11/2012 16:23:33 door Reshad F
 
Wouter J

Wouter J

04/11/2012 16:05:19
Quote Anchor link
Niet de manier zoals ik het zou doen. Kijk eens naar het menu van bijvoorbeeld deze site. Welke fysieke objecten kom je tegen en wat hebben die voor eigenschappen?

EDIT: Beetje verkeerd begrepen, als dit alleen om het menu gaat kan dit er mee door. Je kan ook alles als een element zien.
Maar die posities horen helemaal niet in PHP thuis, dat doe je maar lekker client-side... :)
Gewijzigd op 04/11/2012 16:06:38 door Wouter J
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/11/2012 16:05:46
Quote Anchor link
Ik denk dan vooral aan een object (class) menuItem met een aantal properties zoals href,name,enabled,active
en dan een object menu met een array als property. in deze array kunnen menuItems of submenu-objecten staan.
dan uiteraard de nodige setters/getters en een output functie
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
array menu ->     item('home')
            array submenu ->item('subitem1')
                        item('subitem2')
                        item('subitem3')
                item('contact')
                item('about')

zoiets dus
Gewijzigd op 04/11/2012 16:07:51 door Frank Nietbelangrijk
 
Reshad F

Reshad F

04/11/2012 16:17:01
Quote Anchor link
@WouterJ bedoel je daarmee de links met de bijbehorende attributen?
 
Wouter J

Wouter J

04/11/2012 16:19:50
Quote Anchor link
Als je een menu hebt zie je dan alleen links? Nee, je ziet menu items met sub items deze sub items hebben weer link items inzich die weer een tekst inzich hebben vervolgens zijn deze items weer geïntegreerd in een ul item die het menu maakt.

Zie je een pattern ontstaan in de tekst hierboven? Wat kunnen die items en wat is allemaal een item? Heb je een mooiere naam voor een item? Is het een idee om hier een interface van te maken?

Tevens kun je ook wat verder denken: Je kunt het hele principe toepassen voor een complete HTML pagina.
Gewijzigd op 04/11/2012 16:20:32 door Wouter J
 
Eddy E

Eddy E

04/11/2012 17:06:31
Quote Anchor link
Maar als je het zo in PHP gooit (dus statisch), waarom niet gewoon direct in (statische) html?
 
Reshad F

Reshad F

04/11/2012 17:23:14
Quote Anchor link
oke ik heb de interface gemaakt en de class en heb het getest en het werkt maar of het echt OO is weet ik niet zeker maar volgens mij zit ik in ieder geval in de goede richting. een ding waar ik niet helemaal uitkom en waar ik graag hulp bij zou kunnen gebruiken is om alle menuitems in een array te zetten..

dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$menu
->setMenuItem("home", "contact", "menu", "menu2");
?>


en dat deze dus in een array door alle waarde heen loopt in mijn class

hetgeen wat ik nu heb is het volgende:

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
40
41
42
43
<?php
class Navigation implements navigationInterface {

    public $menu = null;
    public $name = null;
    public $klasse = null;
    
    public function __construct($name, $klasse) {

        $this->name = $name;
        $this->klasse = $klasse;

    }


    public function getName() {
        return $this->name;
    }


    public function getClass() {
        return $this->klasse;
    }


    public function setMenuItem($items) {

        $this->menuItem = $items;

    }


    public function getMenuItem() {
        return $this->menuItem;
    }


    public function display() {

        $menu = '<nav class="' . $this->getName() . '">';
        $menu .= '<li><a class="' . $this->getClass() . '" href="index.php?page=' . $this->getMenuItem() . '.php">' . $this->getMenuItem() . '</a></li>';
        $menu .= '</nav>';

        return $menu;

    }
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
interface navigationInterface {
    
    public function setMenuItem($items);
    public function getMenuItem();
    public function display();

}

?>
Gewijzigd op 04/11/2012 17:29:39 door Reshad F
 
Wouter J

Wouter J

04/11/2012 17:25:19
Quote Anchor link
Reshad, deze tip heb ik je al 100 keer gegeven, maar denk niet aan scripten. Denk aan objecten durf die laptop eens dicht te klappen/die computer eens uit te zetten en alleen met een potlood en papier voor je neus te zitten.

Want terwijl we nog helemaal niet klaar zijn met onze OO structuur heb jij al de code af!
 
Reshad F

Reshad F

04/11/2012 17:42:24
Quote Anchor link
Wouter ik heb mijn structuur al af voor hetgeen ik in mijn hoofd heb/had hierop heb ik deze code gemaakt.

zie

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
+-----------------------------+
 |Interface navigationInterface|
 |-----------------------------|
 | setMenuItem($items);        |
 | getMenuItem();              |
 | display();                  |
 +-----------------------------+
 +-------------------+
 |class Navigation   |
 |-------------------|
 |+menu              |
 |+name              |
 |+klasse            |
 +-------------------+
 |getName();         |
 |getClass();        |
 |setMenuItem(items);|
 |getMenuItem();     |
 |display();         |
 +-------------------+


Maar wat mis ik verder volgens jou? ( en in antwoord op jou voorlaatste reactie: ik wil het eerst werkend hebben met gewone menu zonder subitems) omdat ik de class nu nog zo klein en schoon mogelijk wil houden alleen maar om te oefenen. Uiteraard is het later nog uit te breiden.
 
Wouter J

Wouter J

04/11/2012 17:46:44
Quote Anchor link
Quote:
ik wil het eerst werkend hebben met gewone menu zonder subitems) omdat ik de class nu nog zo klein en schoon mogelijk wil houden alleen maar om te oefenen. Uiteraard is het later nog uit te breiden.

Als je OO bouwt moet je het altijd bouwen met het oog op de toekomst: Wat kan er in de toekomst veranderen en hoe maak ik het zo simpel mogelijk om die verandering toe te passen. Daarom moet je nu al gaan nadenken hoe het straks wordt.

Wat hier mis is dat de Navigatie klasse nu meerdere taken heeft => mag niet in OO. Vervolgens ga je hier maar uit van 1 menu item, richt je je blik niet op de toekomst en is je code veel te gespecialiseerd voor deze applicatie i.p.v. als een component die in elke applicatie kan werken.
 
- Raoul -

- Raoul -

04/11/2012 17:52:02
Quote Anchor link
Ik zou een klasse maken, genaamd Navigation. Voor ieder menu item maak je dan iets als NavigationItem.
Klein opzetje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$nav
= new Navigation;
$nav_item = new Navigation_Item;
$nav_item->setLink('/home');
$nav_item->setText('Startpagina');

$nav->addItem($nav_item);

echo $nav->render();

?>
 
Reshad F

Reshad F

04/11/2012 17:54:40
Quote Anchor link
hmm welke dingen moeten er in deze klasse nog gescheiden worden volgens jou dan?

( het benoemen, geven van css class namen etc scheiden van het creëren van menu items? )


@Raoul

het volgende heb ik nu.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$menu
= new Navigation("Test", "mainmenu");

$menu->setMenuItem("home", "test");
echo $menu->display();

?>


en volgens mij denk ik nu wat WouterJ ook gelijk bedoelt, ( zie commentaar op WouterJ )
 
Wouter J

Wouter J

04/11/2012 17:59:15
Quote Anchor link
Ik zou gewoon alles groeperen als een Element met een ElementInterface die geldt voor elk HTML element die je maar kunt bedenken. Die heeft methoden als appendChild(child:ElementInterface) en setAttribute(name:string, value:string).

Je kunt dan een AnchorElement maken en een NavItem element. Elk NavItem kan via appendChild een nieuw NavItem bevatten, om zo subitems te maken, maar ook een Anchor element die vervolgens weer wat tekst kan bevatten of een nieuw element als een SpanElement.

Als laatst heb je dan een NavItem die de hele navigatie voorstelt en gebruik je een RendererInterface met daaronder HTMLRenderer en XMLRenderer of YamlRenderen of wat je maar wilt, die de uiteindelijke HTML code maakt.


Dit idee is gebaseerd op knpmenu, die ik vaak met het Symfony2 Framework (icm KnpMenuBundle) gebruik, maar dan nog wat verder gedacht.

Wat voorbeeldjes van dit idee: http://www.phphulp.nl/php/forum/topic/oop-forms/85477/#610520 en http://www.phphulp.nl/php/forum/topic/paginering-oop/84869/#605327
 
Reshad F

Reshad F

04/11/2012 18:31:10
Quote Anchor link
Het ziet er goed uit vooral pim's voorbeeldje wat ik wel snap ( kwa code ) en deels ook kwa werking.. maar de connectie met de appendChild enz zie ik er zo 1,2,3 niet in.
 
- Raoul -

- Raoul -

04/11/2012 18:45:44
Quote Anchor link
Reshad F op 04/11/2012 17:54:40:

@Raoul

het volgende heb ik nu.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$menu
= new Navigation("Test", "mainmenu");

$menu->setMenuItem("home", "test");
echo $menu->display();

?>


Ja dus? Dat is nog steeds niet correct OO. Alles is een object in OOP, onthoud dat altijd goed.
In dit geval is Navigation, een object, een zelfstandig werkwoord. Dat klopt al, maar, een menu-item, dat is ook een apart object.
->setMenuItem() is geen apart object maar een method in je Navigatie functie!!!

Omdat een menu-item ook nog steeds een apart object is, doe je het, zoals ik al zei, beter in een aparte class!!!
Gewijzigd op 04/11/2012 18:47:26 door - Raoul -
 
Jasper DS

Jasper DS

04/11/2012 19:12:56
Quote Anchor link
Ik ga ook even mijn gedacht posten als oefening. :)

Zou het er uiteindelijk niet zo uit moeten zien?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

    $menu
= new Navigatie('...');
    $menuItem = new Item('...');
    $anotherItem = new Item('...');
    $menu->append($menuItem);
    $menu->append($anotherItem);
    echo $menu->display();

?>
 
Wouter J

Wouter J

04/11/2012 19:14:26
Quote Anchor link
Jasper, zo kan je het doen. Maar je kan nog wat verder erin gaan. Kijk maar eens naar het voorbeeld dat ik gaf (http://github.com/knplabs/knpmenu )
 
Reshad F

Reshad F

04/11/2012 19:53:57
Quote Anchor link
hmm @Raoul als ik deze twee nu wil scheiden. moet/kan ik dan gewoon de item methods in een andere class zetten en de class aanroepen in mijn navigation constructor?

en vervolgens in mijn display(); methode de methodes ervan ook aanroepen?

of is hier een andere manier voor..
 
Wouter J

Wouter J

04/11/2012 19:55:43
Quote Anchor link
Nee, Reshad je moet je invoegen zoals Jasper in zijn voorbeeld doet.

Offtopic:
Jammer dat je niks met mijn idee doet, maar goed ik respecteer je keuze.
 

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.