request class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. 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

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

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 »

Medior/Senior Python developer (Django)

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 werken ze met pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Er is een kwaliteitsfocus en dan biedt ruimte om verbeteringen echt door te voeren binnen de gehele

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

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 »

Pagina: 1 2 3 4 5 volgende »

Ozzie PHP

Ozzie PHP

03/01/2013 20:37:29
Quote Anchor link
Hi peepz,

Ik ben een Request class aan het maken. Via deze class kan ik bijv. het domein van de opgevraagde URL opvragen, of het subdomein, en of het een beveiligde (https) verbinding betreft. De gegevens haal ik op uit de $_SERVER array. Nu had ik gewoon allemaal public funtcions gemaakt. Echter... ik realiseer me ineens dat gedurende 1 request de $_SERVER array altijd hetzelfde is. Het zou dan raar zijn als ik telkens als ik de Request class nodig heb "new Request()" zou doen.

Nu vraag ik me af wat volgens jullie de beste oplossing is. Ik zou een singleton kunnen maken, zodat je niet "$request = new Request()" doet, maar "$request = Request::getInstance()". Wat ik ook kan doen is iedere functie in de Request class static maken, zodat ik het domein bijv. als volgt opvraag: $domain = Request::getDomain();

Wat vinden jullie? En waarom?
 
PHP hulp

PHP hulp

29/03/2024 06:20:05
 
Wouter J

Wouter J

03/01/2013 22:35:35
Quote Anchor link
Heb je altijd maar 1 request per pagina request? Ik denk het niet, wat dacht je van subrequests?

Ik zou heel heel heel voorzichtig zijn met het gebruik van static methodes en naast een static factory method zou ik het nooit gebruiken. Je bent er nooit zeker van dat iets maar 1 keer gebruikt wordt.

Wat ik wel zou doen is de request opslaan als een shared service in je service container.
Gewijzigd op 03/01/2013 22:36:01 door Wouter J
 
Ozzie PHP

Ozzie PHP

03/01/2013 22:37:07
Quote Anchor link
Wouter, hoe bedoel je dat? Als je een pagina aanroept, dan heb je toch altijd maar 1 $_SERVER array... één request? Wat bedoel je met subrequests?
 
Wouter J

Wouter J

03/01/2013 22:57:06
Quote Anchor link
Subrequests zijn een request binnen een request. Symfony2 heeft bijv. een forward methode, hiermee kun je intern de ene controller naar de andere forwarden zonder dat de gebruiker er iets van merkt (docs).

Iets compleet uitsluiten om maar 1 instance te hebben is naar mijn mening dus het stomste wat je kunt doen in een OO applicatie.
 
Ozzie PHP

Ozzie PHP

03/01/2013 22:59:36
Quote Anchor link
Maar zelfs als je forward heb je toch nog steeds 1 en dezelfde $_SERVER array? Ik ben het met je eens dat je het niet vaak moet doen...

Maar in mijn geval gaat het dus om een request class... je hebt maar 1 request per pagina aanroep. Dan kan je in dit specifieke geval toch een singleton gebruiken?
 
Wouter J

Wouter J

03/01/2013 23:01:11
Quote Anchor link
Quote:
dezelfde $_SERVER array?

Volgens PHP wel, alleen als je een Request object gebruikt verdwijnt het idee van die PHP array, de Request klasse vervangt dat compleet.

In een subrequest wordt er weer een nieuwe request aangemaakt, andere parameters, andere locatie, ect.
 
Ozzie PHP

Ozzie PHP

03/01/2013 23:05:07
Quote Anchor link
Maar ik gebruik in die request class nu juist de $_SERVER informatie om bijvoorbeeld te achterhalen via welke poort de url is aangeroepen, wat de domeinnaam is e.d.

Op het moment dat jij daadwerkelijk een nieuwe (sub)request maakt, zal de class ook weer opnieuw worden ingeladen. Ik zie het probleem dus niet helemaal, maar wellicht zie ik iets over het hoofd nu, of begrijp ik je niet helemaal.
 
Wouter J

Wouter J

03/01/2013 23:14:25
Quote Anchor link
Nee, de klasse wordt niet opnieuw geladen. De browser weet maar af van die ene request, de subrequest gebruikt alleen op de server en is niet iets wat gesupport wordt door browsers, het is een techniek vanuit server-side scripttalen.

Het probleem van een singleton is dat je nooit een nieuwe instance kan krijgen in dezelfde request, je blokkeert op die manier dus alle mogelijkheden tot uitbreiding.
Nu snap je het misschien nog niet, maar straks misschien wel en dan moet je alles weer gaan veranderen omdat je het nu zo strikt in een tunnelvisie hebt geprogrammeerd. Het is nooit goed de weg naar de toekomst te blokkeren met zoiets als singletons.

Singleton is een zogenaamd anti-pattern. Ze lijken leuk en voor beginners zijn ze leuk, maar als je serieus bezig gaat moet je ze vermijden.

Offtopic:
Leuk dat je weer aan je framework begonnen bent, heb ik ook weer een discussie maatje :)
 
Ozzie PHP

Ozzie PHP

03/01/2013 23:19:58
Quote Anchor link
Wouter thanks... maar kun je dan eens een voorbeeld geven van zo'n subrequest. Waar zou ik die in de praktijk voor nodig kunnen hebben?

"Het probleem van een singleton is dat je nooit een nieuwe instance kan krijgen in dezelfde request"
Nee precies, maar dat is voor die request class ook precies wat ik wil bereiken ;)


Offtopic:

Yep, deze keer zelfs op een eigen (gehuurde) VPS. Hoop dat ik deze keer een stuk verder ga komen dan voorgaande keren ;)
 
Wouter J

Wouter J

03/01/2013 23:49:14
Quote Anchor link
Quote:
Waar zou ik die in de praktijk voor nodig kunnen hebben?

Bij het afhandelen van forms. Het form wordt verzonden, je controleert of alles correct is ingevuld, slaat de gegevens op en forward je dan naar een controller die de succes message laat zien. Een forward is een redirect die je intern gebruikt, je gebruikt hem dus waar het voor de bezoeker niks uitmaakt, hij hoeft geen nieuwe url te hebben voor de succes message.

Quote:
Nee precies, maar dat is voor die request class ook precies wat ik wil bereiken ;)

Ja, dat denk je en het is misschien ook wel zo, maar in OO moet je alle mogelijkheden open houden.
Ook als je unit of functional tests gaat schrijven heb je ook per test een nieuwe class nodig, niet per request. Een artikel daarover van PHP unit test god Sebastian Bregmann: http://sebastian-bergmann.de/archives/882-Testing-Code-That-Uses-Singletons.html
 
Ozzie PHP

Ozzie PHP

03/01/2013 23:53:28
Quote Anchor link
"Een forward is een redirect die je intern gebruikt, je gebruikt hem dus waar het voor de bezoeker niks uitmaakt, hij hoeft geen nieuwe url te hebben voor de succes message."

Oké, maar dan is het nog steeds dezelfde request, maar je include een bestand. Is dat wat je bedoelt met forwarden? Of bedoel je dat je daadwerkelijk redirect naar een andere URL om de succes message te tonen? Als dat is wat je bedoelt, doe je dus feitelijk weer een nieuwe request.
 
Wouter J

Wouter J

04/01/2013 00:01:25
Quote Anchor link
Er komt weer een nieuwe request, alleen gebeurd het intern.

Mijn laatste poging tot uitleggen:

Ik heb 2 controllers:
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 PageBackendController extends Controller
{
    public function editAction($id)
    {

        // ... heel veel form maken en form afhandeling
        if ($form->isValid()) {
            // ... gegevens opslaan in db
            $this->forward('PageBackend:success', array('page' => $page->getName());
        }
    }


    public function successAction($page)
    {

        // ...
        return $this->render(...);
    }
}

?>


Als ik nu het formulier invul en op submit klik wordt de edit action aangeroepen, die slaat de gegevens op en het tonen van de success message laat hij over aan de success action.

Intern wordt nu de success controller aangeroepen met de parameters, de forward functie zou er zo uitzien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
public function forward($controller, array $parameters = array())
{

    // ...
    return call_user_func(explode(':', $controller), $parameters);
}

?>


Het is dus eigenlijk gewoon een method call in PHP, alleen wordt er een andere controller aangeroepen en wordt er op de plaats van de 3 stippen een nieuw Request object aangemaakt.
 
Ozzie PHP

Ozzie PHP

04/01/2013 00:10:33
Quote Anchor link
Wouter, maar zover ik het in jouw code kan zien wordt er geen nieuwe pagina aangeroepen. Er wordt dus niet daadwerkelijk een nieuwe request uitgevoerd. Ik zie een request als zijnde een URL-aanroep. Jij ziet een interne doorverwijzing ook als een request. Verschil van interpretatie denk ik.

By the way 1) Waarom forward je naar een functie in dezelfde class, ipv gewoon $this->successAction() te doen?

By the way 2) Ik gebruik PHP 5.4.9 en merk dat het niet meer uitmaak hoe ik een class-/functienaam aanroep.
$boe = new Boe(); $boe->doeIets(); levert hetzelfde resultaat op als $boe = new bOe(); $boe->DOEietS();
Dat was vroeger toch niet zo?
 
- Raoul -

- Raoul -

04/01/2013 00:12:50
Quote Anchor link
Ik zit ook met het probleem van Ozzie.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

class Iets
{
  public function anders()
  {

    return 'Iets anders';
  }
}


echo Iets::anders(); // => 'iets anders'
?>


Terwijl anders() niet eens static is!

// E: Of nee ik zit niet met hetzelfde probleem, maar het is wel een probleem xD
Gewijzigd op 04/01/2013 00:25:42 door - Raoul -
 
Wouter J

Wouter J

04/01/2013 00:15:40
Quote Anchor link
Een request is in het geval waar we nu over praten het opnieuw aanmaken van een request object.

Quote:
1) Waarom forward je naar een functie in dezelfde class, ipv gewoon $this->successAction() te doen?

Omdat de success action recht heeft op een eigen request. Dat is in dit geval natuurlijk zinloos, maar ik kan nu even op geen beter voorbeeld komen.

Quote:
Dat was vroeger toch niet zo?

Getest met PHP5.2.7 en dan werkt het ook, maar het lijkt erop alsof het een configuratie optie is (denk ik). Ik raad het in elk geval niet aan te doen.
 
Ozzie PHP

Ozzie PHP

04/01/2013 00:23:40
Quote Anchor link
Oké, ik bedoel met een request dus een pagina request / aanroep. Vandaar wellicht onze verschillende visie.

"...maar ik kan nu even op geen beter voorbeeld komen."

Lekker is dat :)

"Getest met PHP5.2.7 en dan werkt het ook, maar het lijkt erop alsof het een configuratie optie is (denk ik). Ik raad het in elk geval niet aan te doen."

Hmmm, ik ben er ook geen voorstander van eerlijk gezegd, maar ik weet ook niet of (en zo ja hoe) ik dit gedrag kan uitzetten. Ik vind het maar raar. Kan me niet herinneren dat ik het eerder gezien heb... maar als het bij jou ook gebeurt?? Vreemd...
 
- Raoul -

- Raoul -

04/01/2013 00:29:40
Quote Anchor link
Maar Ozzie, wat vind jij nu mooier om te doen, direct $this->successAction() of een aparte Request maken? Wat klinkt nu logischer?
Gewijzigd op 04/01/2013 00:29:54 door - Raoul -
 
Ozzie PHP

Ozzie PHP

04/01/2013 00:34:00
Quote Anchor link
Raoul, uit jouw vraagstelling leid ik af dat jij de aparte request mooier vind.

Maar dan ben ik ook wel benieuwd waarom?

Waarom zou je een method, die in dezelfde class staat, laten aanroepen door een andere class? Wat ook nog eens vertragend werkt? Ik zie het nut er op dit moment (nog) niet van in, maar jij blijkbaar wel... dus vertel...
Gewijzigd op 04/01/2013 00:34:31 door Ozzie PHP
 
- Raoul -

- Raoul -

04/01/2013 00:36:25
Quote Anchor link
Dat heb je goed. Als je bezig bent met OO moet je alles vanuit een logisch oogpunt zien, $this->successAction() callen kan wel. Maar als je met requests werkt is het altijd logischer om een aparte request aan te maken en die te forwarden, want je laad als het ware een andere pagina in, en een andere pagina inladen, is dan ook weer een nieuwe request.
 
Ozzie PHP

Ozzie PHP

04/01/2013 00:39:26
Quote Anchor link
Maar leg me aub dan eens uit wat jij verstaat onder een request? Wat is volgens jou een request?
 
- Raoul -

- Raoul -

04/01/2013 00:40:01
Quote Anchor link
Ozzie PHP op 04/01/2013 00:39:26:
Maar leg me aub dan eens uit wat jij verstaat onder een request? Wat is volgens jou een request?

Een request? Dat is een pagina die je inlaad. Of een poging doen tot het inladen van een pagina.
 

Pagina: 1 2 3 4 5 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.