request class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

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 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 - Juniorfunctie

Functie omschrijving Ben jij op zoek naar een uitdagende baan als front-end developer, in een informele werksfeer, waar jij echt het verschil kan maken? Wil jij graag werken voor een bedrijf dat sportiviteit en een open communicatie, hoog in het vaandel heeft staan? Dan hebben wij de perfecte vacature voor je! Voor een klein bedrijf in Rijen dat gespecialiseerd is in het omzetten van digitale woningtekeningen naar managementinformatie, zijn wij per direct op zoek naar een allround front-end developer. Jouw werkzaamheden zien er als volgt uit: Ja gaat nauw samenwerken met de back-end developer. De database structuur is volledig gebouwd

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 »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! 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. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »

Front-end Developer

Gezellige team, passie en een groene toekomst! Lees hier de vacature van Front-end Developer bij All in Power! All in power heeft zich tot doel gesteld écht bij te dragen aan de energietransitie. Dit doen wij door de markt voor energie volledig op zijn kop te zetten. Producenten van schone (wind- of zonne-)energie verkopen via ons platform hun energie rechtstreeks aan gebruikers. Of dit nu huishoudens, bedrijven of bijvoorbeeld laadpalen zijn ons platform maakt het uitwisselen van energie mogelijk. Zo maken we de business case van onze klanten veel sterker en loont het om (meer) te investeren in vergroening voor

Bekijk vacature »

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 »

Software developer

Werkzaamheden voor jou als software developer Voor een goede relatie in de regio Zwolle (meerdere locaties) zoeken wij een software developer die betrokken is bij de ontwikkelcyclus en verantwoordelijk is voor het testen en keuren van nieuwe en geoptimaliseerde software. In deze functie ben je in de implementatiefase de persoon die risico's beoordeelt en intern oplossingen aanbrengt om risico's te verkleinen. Binnen het ontwikkelteam van de software ben je een belangrijke schakel waar je intensief meewerkt met scrum. Het voorkomen van bugs in de programma's en het bevorderen van gebruiksvriendelijkheid voor eindklanten zijn voor jou een uitdaging en geeft voldoening

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

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 »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

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

26/12/2024 09:14:33
 
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.