frontcontroller

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in een ontwikkelteam met 7 .NET developers. In ons team werken er drie senior .NET developer, twee medior .NET developers en twee junior .NET developers. Er is dan ook genoeg senioriteit in ons team om jou te kunnen bieden wat jij nodig hebt! Wij werken in scrum en hebben drie wekelijkste sprints. Daarnaast doen wij minimaal vier keer per jaar een release. Ons platform is ontzettend complex en groot. Het is dan ook in het begin belangrijk dat jij de processen gaat begrijpen. Jij krijgt dan ook een cursus om beter te begrijpen

Bekijk vacature »

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# 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. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Developer (One Data)

Do you have experience with managing IT Teams in a service delivery organization? Are you keen to bring the team and our platform to a higher level? Then Nutreco has a very interesting role for you! As a One Data developer you are responsible for the management, running and functional use of our integration landscape and processes within Nutreco. Nutreco is using at this time BizTalk 2016, and Apigee for its API management, to be replaced by Azure Integration Services as of 2023. You will be part of a virtual teams of 11 people (own and outsourced) working in an

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

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 »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »
- Rob -

- Rob -

13/12/2016 18:45:31
Quote Anchor link
Hallo,

Ik vroeg me af hoe ik met frontcontroller of framework kan zorgen dat www.JOUWDOMEIN.nl/paneel/page/profiel.php?gebruikersnaam=rob naar www.JOUWDOMEIN.nl/paneel/profiel/rob wordt veranderd, en dat dit het zelfde wordt gedaan bij bv. Luuk dat www.JOUWDOMEIN.nl/paneel/page/profiel.php?gebruikersnaam=luuk dit wordt: www.JOUWDOMEIN.nl/paneel/profiel/luuk alvast bedankt voor de uitleg.
 
PHP hulp

PHP hulp

07/05/2024 08:11:23
 
- SanThe -

- SanThe -

13/12/2016 19:17:59
Quote Anchor link
Dat is toch dezelfde vraag als in je vorige topic https://www.phphulp.nl/php/forum/topic/link-van-gebruiker/100637/
 
- Ariën  -
Beheerder

- Ariën -

13/12/2016 21:03:16
Quote Anchor link
Eigenlijk wel, maar ik houd deze maar even open omdat de topicstarter meer een idee zoekt van de werking van een frontcontroller.

Het is eigenlijk, zoals Thomas v/d Heuvel al eerder zegt, de beste oplossing om met een enkele rewrite rule alles door te verwijzen naar de index.php. Als je dan de $_SERVER['REQUEST_URI'] ontleedt dan kan je alles wat tussen de slashes staat apart in een array-element zetten.

Een mooi artikel daarover heeft hij geschreven op: http://fangorn.thijma.nl/news/redirecting-all-requests-to-index-php-with-htaccess
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/12/2016 21:20:01
Quote Anchor link
De werking van een frontcontroller in samenwerking met rewrite rules:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
http://mijnsite.nl/                     gaat naar /index.php
http://mijnsite.nl/about                gaat naar /index.php
http://mijnsite.nl/contact              gaat naar /index.php
http://mijnsite.nl/contact/confirmation gaat naar /index.php


In index.php wordt vervolgens gekeken wat de opgevraagde route was:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
http://mijnsite.nl/                      route: /
http://mijnsite.nl/about                 route: /about  
http://mijnsite.nl/contact               route: /contact
http://mijnsite.nl/contact/confirmation  route: /contact/confirmation


Aan de hand van de route wordt vervolgens een controller aangeroepen. (lees: voor iedere route een aparte controller).
Een controller is een gewone PHP class met een aantal methods (functies)
Iedere (public) method is vervolgens het begin waarin een bepaalde pagina opgebouwd gaat worden. Dit begint doorgaans met het verzamelen van data, meestal uit de database. Vervolgens wordt de HTML opgebouwd.

Voordelen
Er zijn best een aantal behoorlijke voordelen te benoemen. Je hebt bijvoorbeeld geen problemen meer met relatieve paden omdat je altijd vanuit hetzelfde punt begint; namelijk /index.php Een ander voordeel is dat je heel makkelijk een autoloader voor je classes kunt gebruiken waarna je ook geen include of require meer hoeft te gebruiken.
Het komt de beveiliging en de structuur ook ten goede. Als laatste zo even uit het hoofd heb je direct de user-friendly URL's waar ik in het andere topic al over begon. En je bent van de .php extensies af in je url's.
Gewijzigd op 13/12/2016 21:26:22 door Frank Nietbelangrijk
 
- Rob -

- Rob -

14/12/2016 17:00:23
Quote Anchor link
Als ik eerder ben snao ik hier helemaal niks van... Frank Nietbelangrijk? Hoe kan ik daarmee zorgen dat /gebruikersnaam=rob naar /rob wordt veranderd? Ariën? Ik snap niet echt hoe ik daarmee dan die link kan veranderen. Kan iemand mij even precies uitleggen hoe dat werkt en niet doorlinken naar scripts in het engels want daar begrijp ik sowieso al veel minder van.. Alvast bedankt!
 
- Ariën  -
Beheerder

- Ariën -

14/12/2016 17:53:27
Quote Anchor link
In dit geval hoef je geen $_GET te gebruiken omdat alles op de index al wordt aangeroepen. In plaats van $_GET vind je in $path je hele pad in de URL gesplits in een array.

Dus met www.domein.nl/gebruiker/rob zal je op de eerste positie van je array (array's beginnen in PHP bij 0) je naam Rob vinden.
Dus $path[1].
Gewijzigd op 14/12/2016 17:55:27 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/12/2016 22:31:57
Quote Anchor link
Heb je de code uit het linkje dat Ariën je gegeven heeft al geprobeerd toe te passen?

Je maakt in dat artikel twee bestandjes aan op de root van je website. een .htaccess bestand en een index.php bestand. En wat gebeurd er dan?
 
Bart V B

Bart V B

15/12/2016 08:57:04
Quote Anchor link
Ik denk (zonder te lezen wat er allemaal in dit topic is geschreven) wat jou probleem is. :)
Quote:
Hoe kan ik daarmee zorgen dat /gebruikersnaam=rob naar /rob wordt veranderd? Ariën?

Daar zit niks magisch in.
Die links moet je zelf bouwen, dus hard coded maken.
Dus als je de link:
http://www.domein.tld/gebruiker/rob/ maakt.
Dan word je link vertaald onderwater naar:
http://www.domain.tld/profiel.php?gebruikersnaam=rob
Dus in je html moet jij alleen de links maken als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="http://www.domein.tld/gebruiker/rob/">Gebruiker Rob</a>

De voodoo gebeurd onderwater, maar de code van de link moet je zelf doen.
Het is niet zo dat er een oplossing is om profiel=?rob "zomaar" ineens als link /rob is.
Gewijzigd op 15/12/2016 08:58:02 door Bart V B
 
- Rob -

- Rob -

15/12/2016 15:34:42
Quote Anchor link
Ja maar hoe kan ik dan die gebruikersnaam krijgen bij http://www.domein.tld/gebruiker/rob/ ?


- Ariën -:
Quoten van het voorgaande bericht is niet nodig.
Gewijzigd op 15/12/2016 16:04:35 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

15/12/2016 15:59:00
Quote Anchor link
Die gebruikersnaam in de URL typt de gebruiker in, of genereer je zelf in een link op je site om het uit de database te halen.

Een simpel voorbeeldje voor een simpele ledenlijst waarin je de usernaam ophaalt en linkbaar maakt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<ul>
<?php
$sql
= "SELECT username FROM users";
$result = $mysqli->query($sql);
while($data = $result->fetch_assoc()) {
    echo '<li><a href="/gebruiker/'.$data['username'].'">'.ucfirst($data['username']).'</li>';
}

?>

</ul>

Aan de hand van de waarde waar op die plek in de URl (in dit geval 'rob' moet je script de juiste gegevens van Rob erbij pakken. Als er Tim staat pak je Tim etc.
Als er helemaal geen gebruiker bestaat met die naam, dan toon je een foutmelding met daarin dat de naam niet bekend is.
Gewijzigd op 15/12/2016 16:06:03 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

15/12/2016 16:41:13
Quote Anchor link
Zoals hierboven al geschetst wordt zul je wat extra werk moeten verzetten. Enerzijds zul je functionaliteit moeten hebben die op een of andere manier op grond van het zogenoemde applicatie-pad (het deel van de URL dat van belang is voor je applicatie) bepaalt welke code uitgevoerd moet worden en anderzijds, waar jouw vraag over ging, zul je in je applicatie functionaliteit moeten hebben die deze applicatie-paden genereert. Dit resulteert dus in een soort van "dubbel gelinkte lijst".

Wat je ook nog zou kunnen overwegen is het volgende. Je zou de ontleding van een URL nog verder kunnen opdelen. Volgens mij had @Frank het in een ander recent topic over slugs. Dit zijn in wezen de partjes in de URL die van belang zijn voor je applicatie (en dus ook: de onderdelen waaruit het applicatie-pad is opgebouwd). Alle slugs bij elkaar vormen het applicatie-pad. Voor bovengenoemde functionaliteit zijn applicatie-paden bijvoorbeeld:

gebruiker/rob (slugs: gebruiker, rob)
gebruiker/henk (slugs: gebruiker, henk)
et cetera

De eerste slug is altijd "gebruiker". Als je -heel simpel gesteld- de REQUEST_URI explode op "/" dan heb je meteen alle partjes. Je zou dan de eerste slug ("gebruiker") kunnen gebruiken om bijvoorbeeld gebruiker.php te includen die vervolgens iets met de tweede ("rob", "henk") en volgende slugs doet. Op deze manier houd je je index.php schoon en generiek. Hier wordt immers niets specifieks gedaan met betrekking tot gebruikers, index.php include enkel een ander bestand dat het specifieke werk verricht.
Gewijzigd op 15/12/2016 16:45:51 door Thomas van den Heuvel
 
- Rob -

- Rob -

15/12/2016 18:28:24
Quote Anchor link
Ik krijg telkens de error Fatal error bij iets uit de datbase te halen, ook met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$sql = "SELECT username FROM users";
$result = $con->query($sql);
while($data = $result->fetch_assoc()) {
    echo '<li><a href="/gebruiker/'.$data['username'].'">'.ucfirst($data['username']).'</li>';
}

dit geeft die dan steeds als error: Call to a member function fetch_assoc() on a non-object
 
- Ariën  -
Beheerder

- Ariën -

15/12/2016 18:31:55
Quote Anchor link
Het is een voorbeeld, je zult op zijn minst $con moeten initialiseren met mysqli

$con = new mysqli("localhost", "user", "password", "databasename");
Gewijzigd op 15/12/2016 18:33:20 door - Ariën -
 



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.