Navigation class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer Symfony

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. Hier ga je werken Als PHP Developer kom 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 teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »

SAP HANA Cloud Application Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12662 Introductie HANA Cloud Application Developer at a High Tech company. The company is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. This role is situated in the Big Data Analytics (BDA) Domain. The teams have mixture of young talent and senior specialists and have a

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 »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

Software ontwikkelaar ASP .Net / C#

Functie omschrijving Gezocht! Software ontwikkelaar. Ben jij bekend met termen als ASP .Net, C# en SQL? Ben jij op zoek naar een afwisselende en uitdagende IT-functie binnen de agrarische sector? En omschrijf jij jezelf als zelfstandig, enthousiast en proactief? Dan hebben wij de perfecte functie voor jou! Als Software ontwikkelaar binnen deze organisatie ben je samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Je gaat hierbij bijdragen aan de vertaling van klantwensen naar effectieve softwareoplossingen. Verder bestaan je werkzaamheden uit: Technische uitwerking van de business

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

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 »

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. 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 verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

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

16/02/2025 15:54:43
 
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.