Navigation class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Medior Java developer

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 »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; 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 brengt de aanpassingssuggesties van klanten in kaart, om ze

Bekijk vacature »

Back-end PHP Software Developer - Juniorfunctie

Functieomschrijving Wij zijn op zoek naar een PHP Software Developer om ons team te versterken en mee te werken aan de ontwikkeling van eigen IOT-oplossingen. In deze functie ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor het uitlezen en managen van sensoren in machines. Je werkt nauw samen met een team van ontwikkelaars en engineers om de beste software-oplossingen te creëren. Jouw werkzaamheden zien er als volgt uit: Je bent in deze rol verantwoordelijk voor het ontwerpen, ontwikkelen en onderhouden van webapplicaties en softwaretoepassingen voor in-house ontwikkelde IOT oplossingen. Je werkt aan complexe databases en back-end

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

07/05/2024 20:00:14
 
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.