request class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

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 »

Webshop beheerder / Fullstack developer

Functie omschrijving Wij zijn op zoek naar een full stack developer die zich bezig gaat 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. 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? Lees dan snel verder! Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator

Bekijk vacature »

Software Programmeur PHP

Functie Ben jij op zoek naar een nieuwe uitdaging als PHP developer en zoek je een leuke platte organisatie? Lees dan snel verder! Voor een opdrachtgever in omgeving Capelle aan den IJssel dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

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 »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Full Stack Software Developer C#.NET

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: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »

Pagina: « vorige 1 2 3 4 5 volgende »

Wouter J

Wouter J

04/01/2013 19:01:00
Quote Anchor link
Quote:
Wanneer zou je NIET createfromglobals willen gebruiken? Is toch makkelijker dan alles handmatig meegeven?

Op momenten dat je geen gebruik van de superglobals kunt/wilt maken, bijv. in een test omgeving of in een subrequest...
 
PHP hulp

PHP hulp

26/12/2024 22:42:03
 
Ozzie PHP

Ozzie PHP

04/01/2013 19:48:08
Quote Anchor link
hmmm, okeej... maar als je dan een subrequest uitvoert... maak je dan opnieuw een request object aan? Maar dat kan toch niet, want $_SERVER, $_POST etc. is dan toch nog steeds hetzelfde?
 
Wouter J

Wouter J

04/01/2013 19:50:44
Quote Anchor link
Ja, en daarom maak je bij een subrequest je eigen superglobals en daarom kun je dus niet createFromGlobals gebruiken.
 
Ozzie PHP

Ozzie PHP

04/01/2013 19:55:01
Quote Anchor link
Euh... je eigen superglobals maken? En dat zou je dan doen omdat... ??
 
Moose -

Moose -

04/01/2013 19:56:04
Quote Anchor link
Ozzie PHP op 04/01/2013 19:55:01:
Euh... je eigen superglobals maken? En dat zou je dan doen omdat... ??


omdat:

Not Moose op 04/01/2013 18:55:45:
Bijvoorbeeld bij het testen. Als je een GET, POST, PUT, DELETE request wil testen, is het handig dat je een setRequestMethod functie hebt
 
Ozzie PHP

Ozzie PHP

04/01/2013 19:57:18
Quote Anchor link
Ah oke...
 
Moose -

Moose -

04/01/2013 20:00:23
Quote Anchor link
Maar afgezien van het testen zie ik ook het nut niet van een subrequest
 
Ozzie PHP

Ozzie PHP

04/01/2013 20:08:51
Quote Anchor link
Oh oké, haha...

Maar dat vind ik dus het lastige. Ik wil een simpel framework bouwen... en dan vraag ik me dus ook af waar ik dan die subrequests voor nodig zou hebben... en als ik dan al een subrequest zou hebben, waarvoor zou ik dan een nieuw request object moeten aanmaken.

Ik wil vooral zo effectief mogelijk programmeren en niet "programmeren om het programmeren". Testen ga ik niet doen, dus vandaar mijn vraag of ik de constructor dan niet gewoon private zou maken.
 
Wouter J

Wouter J

04/01/2013 20:16:26
Quote Anchor link
Oké, dan laten we het hele subrequest verhaal varen. Alsnog moet je je OO applicatie niet dichtbouwen, je moet niet zorgen dat elke weg naar uitbreiding geblokkeerd is. Daarom moet je dus niet je constructor opeens private gaan maken of een singleton gebruiken.

Tevens testen niet doen? Dat weet je zeker? Je weet dat zodra je gaat testen je code logischer wordt, je sneller script omdat je alles test en je weet dat testen je later extreem veel voordeel op gaat leveren? Denk bijv. aan fixen van een bug, allereerst moet je de bug kunnen nabootsen en vervolgens moet je er maar zeker van zijn dat alles in je framework nog werkt nadat je de bug denkt opgelost te hebben.
Wat je doet is dat je een test schrijft die de bug nabootst en dat je vervolgens de bug oplost en dan alle tests van het framework afspeelt, slagen alle tests dan weet je zeker dat alles in je framework niet werkt.

Ik ben best benieuwd naar jou redenen om niet te gaan testen.
 
Ozzie PHP

Ozzie PHP

04/01/2013 20:21:53
Quote Anchor link
Nja, ik hoop dat ik alles in 1x goed kan maken :D

Nou, zeg nooit nooit... maar ik wil me daar nu niet mee bezig houden. Zoveel tijd heb ik niet. Da's de voornaamste reden.

Voor de rest wil ik m'n framework lichtgewicht maken. Veilig, efficiënt en doeltreffend. Zonder veel rare fratsen.

Mijn reden waarom ik de contructor private zou maken, zou dan zijn om te voorkomen dat ik alle globals zou gaan doorgeven, terwijl er een makkelijkere methode is. Door de contstructor private te maken, dwing je jezelf om altijd de makkelijke functie te gebruiken.
 
Wouter J

Wouter J

04/01/2013 20:23:51
Quote Anchor link
Quote:
Door de contstructor private te maken, dwing je jezelf om altijd de makkelijke functie te gebruiken.

Dus alleen omdat je zelf geen goed beeld hebt van je klassen wil je toepassing onmogelijk maken? Vind het een erg klein argument als ik eerlijk mag zijn. Maar goed, heb wel weer genoeg gediscussieerd, schrijf je framework gewoon zoals jij het wilt, ik heb genoeg gedaan je over te halen....
 
Ozzie PHP

Ozzie PHP

04/01/2013 20:32:34
Quote Anchor link
Haha, ja dat heb je zeker. Het geeft mij in ieder geval weer stof tot nadenken :)
Iedereen heeft z'n eigen stijl en ik sta ook zeker open voor alle argumenten. Ik heb in ieder geval weer een hoop dingen gehoord waar ik mee aan de slag kan. Thanks! ;)
 
Ozzie PHP

Ozzie PHP

07/01/2013 17:46:03
Quote Anchor link
Wouter, nog even terugkomend op de dependency injection container. Gebruik je die ook om bijvoorbeeld je session waardes te setten en te getten?
 
Wouter J

Wouter J

07/01/2013 18:06:28
Quote Anchor link
Als je zoiets bedoelt, ja dat doe ik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$container
->get('session.manager')->set('session_name', 'session value');

echo $container->get('session.manager')->get('session_name');
?>
 
Ozzie PHP

Ozzie PHP

07/01/2013 18:13:03
Quote Anchor link
Ah, oke thanks... dat is inderdaad precies wat ik bedoelde.
Kun je misschien met een (simpel) code voorbeeldje eens laten zien hoe dit in elkaar steekt?
Hoe je zeg maar die session manager in de container stopt en hoe het setten en getten in z'n werk gaat?

(Hoeft niet heel uitgebreid hoor. Ik ben met name benieuwd hoe de session manager (ik neem aan dat dat een class is) in de container terecht komt en hoe de set en get functies werken Die zijn denk ik onderdeel van de session manager class?)
 
Wouter J

Wouter J

07/01/2013 19:42:49
Quote Anchor link
We nemen aan dat de container een heel simpel klasje is, zoals:
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
44
45
46
<?php
class Container
{
    // ...

    /**
     * Sets a parameter.
     *
     * @param string $id    The name of the parameter
     * @param mixed  $value
     */

    public function setParameter($id, $value)
    {}


    /**
     * Gets a parameter.
     *
     * @param string $id The name of the parameter
     *
     * @return mixed
     */

    public function getParameter($id)
    {}


    /**
     * Sets a factory which builds a service.
     *
     * @param string   $id The name of the service
     * @param \Closure $factory
     * @param boolean  $shared  Optional, default is `true`, which means that it always returns the same instance
     */

    public function set($id, \Closure $factory, $shared = true)
    {}


    /**
     * Gets a service.
     *
     * @param string  $id  The name of the service
     * @param boolean $raw Optional, default is `false`. If true, the factory is returned and not called
     *
     * @return object The result of the factory
     */

    public function get($id, $raw = false)
    {}
}

?>


De klassen zelf ga ik hier niet maken, we houden het even kort. We gaan hier alleen de Container configureren en vervolgens gebruiken.

Allereerst moet je natuurlijk nadenken wat een service 'moet' zijn. Ik ben van mening dat elke globale klasse het verdient een service te zijn, hiermee bedoel ik dat bijv. SessionManager een service is, Database, maar niet globale klassen zoals Controller klassen moeten geen services zijn.

Dan de concepten van iedere Container. Je hebt namelijk 2 typen code die je kunt opslaan in een container: parameters en factories. De parameters zijn gewoon variabele die een waarde vasthouden, factories zijn Closures (anonymous functions) die ervoor zorgen dat de klasse aangemaakt wordt. Het voordeel van deze factories is dat hij pas wordt uitgevoerd als je hem opvraagt, dit betekend dat als je hem niet gebruikt hij geen tijd verspilt aan het aanmaken (speciaal voor jou ;-).

Wat ik altijd doe, en dat heb ik weer van symfony, is dat ik de klasse van de service opsla in een parameter. Mocht ik de klasse willen veranderen, maar de rest hetzelfde houden, dan hoef ik niet aan de factory te knoeien maar alleen 1 parameter (wat veel simpeler is).

Daarnaast moeten we bedenken wat voor dependencies the SessionManager in ons geval zou moeten hebben, in ieder geval een raw Session factory die een Session klasse aanmaakt, deze kunnen we dan gebruiken als we een nieuwe sessie willen aanmaken met de Manager. Daarnaast is het ook handig om een array te krijgen van de huidige sessies. Dit betekend dus dat we 1 service factory en 1 parameter moeten krijgen.
Dan vragen we ons af of we deze via de constructor of via een getter meegeven, aangezien de SessionManager niks kan zonder de Session factory moeten we die via de constructor meegeven en de huidige sessies moet ook via de constructor (die hebben we immers meteen nodig).

Tot zover het nadenken, aan de slag:
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
<?php
$container
= new Container();

// session klasse
$container->setParameter('session.class', 'Ozzie\Framework\Session\Session');

// session service factory
$container->set('session', function ($c) {
    return $c->getParameter('session.class')();
});




// de SessionManager klasse
$container->setParameter('session_manager.class', 'Ozzie\Framework\Session\SessionManager');
// de huidige sessies
$container->setParameter('session_manager.current_sessions', $_SESSION);

// de SessionManager factory
$container->set('session_manager', function ($c) {
    return $c->getParameter('session_manager.class')(
        $c->get('session', true),
        $c->getParameter('session_manager.current_sessions')
    );
});

?>


Nu hebben we de container helemaal geconfigureerd (dit doen we nu met PHP, later wil je hier misschien XML of Yaml voor gebruiken).

Tijd om hem te gebruiken:
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
<?php
use Ozzie\Framework\Controller\Controller;
use Ozzie\Framework\Controller\Http\Response;

class WelcomeController extends Controller
{
    public function indexAction()
    {

        $html = '<!doctype html><meta charset=utf-8><title>hello world</title>';

        $sm = $this->getContainer()->get('session_manager');
        if (!$sm->has('visitor_name') {
            // new visitor
            $html .= '<h3>Welkom op deze website!</h3>';
        }
else {
            // returning visitor
            $html .= '<h3>Welkom terug, '.$sm->get('visitor_name').'!</h3>';
        }


        return new Response($html);
    }
}

?>


In dit geval gaan ik ervan uit dat de Controller klasse van je framework de ContainerAware klasse overerft (die weer ContainerAwareInterface implementeerd) die ervoor zorgt dat we toegang hebben tot de getContainer en setContainer methods.

Edit:
Sorry, niet erg kort geworden. Naja, als je er wat aan hebt, nu heb ik tenminste ook weer een mooi bericht om vaker naar te linken.
Gewijzigd op 07/01/2013 19:48:12 door Wouter J
 
Ozzie PHP

Ozzie PHP

07/01/2013 20:50:31
Quote Anchor link
Poeh... heftig... wat is dit eigenlijk? 'Ozzie\Framework\Session\SessionManager' Is dat het pad naar de Session Class?

Bedoel je met "current_sessions" de inhoud (array velden) van de huidige sessie? Of bedoel je hier echt de afzonderlijke sessiebestanden op de server mee?

Ik moet nog even doorkrijgen wat nu precies het verschil is tussen session en session_manager.

(Merk dat ik niet heel scherp meer ben momenteel...)
 
Wouter J

Wouter J

07/01/2013 23:36:28
Quote Anchor link
Quote:
wat is dit eigenlijk? 'Ozzie\Framework\Session\SessionManager' Is dat het pad naar de Session Class?

Dit is de SessionManager klasse in de Ozzie\Framework\Session namespace.

Quote:
Bedoel je met "current_sessions" de inhoud (array velden) van de huidige sessie? Of bedoel je hier echt de afzonderlijke sessiebestanden op de server mee?

Kijk maar naar de definitie van current_sessions op regel 17.

Quote:
Ik moet nog even doorkrijgen wat nu precies het verschil is tussen session en session_manager.

Session is 1 enkele sessie en SessionManager is de DataMapper voor deze sessies.
 
Ozzie PHP

Ozzie PHP

07/01/2013 23:48:06
Quote Anchor link
Wat bedoel je precies met datamapper? Je kunt de gegevens toch uit de Session class halen? Ik snap niet helemaal waarom je daar 2 classes voor maakt.
 
Wouter J

Wouter J

08/01/2013 07:36:43
Quote Anchor link
De session klasse is toch maar 1 sessie? Daar kun je dan alleen de gegeven uit halen voor 1 sessie. Je hebt dan nog een klasse nodig die alle sessies groepeert en die ervoor zorgt dat je sessies kunt aanmaken, updaten, verwijderen en uitlezen?
 

Pagina: « vorige 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.