OOP curl class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

API Developer Red Hat Fuse

Dit ga je doen Als API Developer zal je verantwoordelijk zijn voor het: het maken van API's en het correct laten draaien van de API's op het platform. Hierdoor kom je in aanraking met Red Hat Fuse, Springt Boot, 3Scale, Red Hat SSO, Openshift en Azure DevOps; zorgen voor de kwaliteit van de ontwikkeling, integratie en prestaties van de API's; zorgen voor een stabiel integratieplatform. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap dat hoofdzakelijk op OpenShift, Azure en

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 »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Mendix Ontwikkelaar - Vernieuwen van het applicati

Bedrijfsomschrijving De ontwikkelingen in de transportsector gaan razendsnel. Bij ons kun je een belangrijke rol spelen in deze sector. We streven ernaar om onze klanten te ontzorgen op het gebied van continuïteit en veiligheid met innovatieve producten en diensten. We willen dat onze klanten de veiligste vervoerders van Europa worden. Ons team werkt hard om deze ambitieuze doelstellingen te bereiken en we bieden een motiverende werkomgeving aan. We zijn op zoek naar zelfstarters met een focus op resultaat en beslissingsbevoegdheid. Functieomschrijving Als Mendix ontwikkelaar bij deze organisatie heb je een gevarieerde baan. Het applicatielandschap wordt vernieuwd en de “schade en

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 »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

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 »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Als developer bouw je in DevOps teams aan enterprise applicaties, nieuwe IOT, Chatbots of AI oplossingen. 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 in dit vakgebied. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij vorig jaar Microsoft Partner of the year geworden.

Bekijk vacature »
Jorn Reed

Jorn Reed

19/10/2021 12:00:09
Quote Anchor link
Hoi iedereen,
Ik ben laatst begonnen met voor het eerst curl te gebruiken in PHP.
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
$headers = [
                "Content-Type: application/json",
                "Accept: application/json",
                "X-API-TOKEN: ".$token,
                "Connection: keep-alive",
            ];
            
            $body = [
                'FirstName'             => $result['inputs']['fname'],
                'MiddleName'            => $result['inputs']['prefix'],
                'LastName'                 => $result['inputs']['lname'],
                'Email'                    => $result['inputs']['email'],
                'PhonePrivate'            => $result['inputs']['phone'],
                'Gender'                => $result['inputs']['sex'],
                'Zipcode'                => $result['inputs']['zipcode'],
                'City'                    => $result['inputs']['place'],
                'Address'                => $result['inputs']['street'],
                'HouseNumber'            => $result['inputs']['housenumber'],
                'HouseNumberExtension'     => $result['inputs']['addition'],
                'BirthDate'                => $result['inputs']['birthdate'],
                'Language'                => $result['inputs']['language'],
            ];
                
            $curl = curl_init();
            curl_setopt_array($curl, array(
                CURLOPT_URL             => 'https://www.sportivity.com/sportivity-api/Customers',
                CURLOPT_RETURNTRANSFER     => true, //Return output instead of printing it.
                CURLOPT_HTTPHEADER        => $headers,
                CURLOPT_POST             => true,
                CURLOPT_POSTFIELDS         => json_encode($body, JSON_FORCE_OBJECT),
                CURLOPT_SSL_VERIFYPEER     => false,
                CURLOPT_SSl_VERIFYHOST     => false,)
            );
            
            $result['response'] = curl_exec($curl);
            $result['errors'] = [];
             curl_close($curl);
            echo json_encode($result['response']);


Deze code word geactiveerd op het moment dat alle formulier velden correct zijn ingevuld.
Als response krijg ik de input velden terug inclusief een customer_id. wat goed is.

Ik vond dit alleen slordig en probeerde het in een class te maken:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
class Api {
    protected $base_url = 'https://www.sportivity.com/sportivity-api';
    protected $token;
    
    public function __construct($token){
        $this->token = $token;
    }

    
    protected function getHeaders(){
        return [
            "Content-Type: application/json",
            "Accept: application/json",
            "X-API-TOKEN: ".$this->token,
            "Connection: keep-alive",
        ];
    }

    
    public function prepareApi($url){
        $curl = curl_init();
        
        curl_setopt($curl, CURLOPT_URL, $this->base_url.$url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $this->getHeaders());
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        
        $response = curl_exec($curl);
        curl_close($curl);
        
        return json_decode($response);
    }

    
    public function sendPostRequest($url, $body)
    {

        return $this->postRequest($url, $body);
    }


    
    private function postRequest($url, $body){
        $curl = curl_init;
        
        curl_setopt_array($curl, $this->getCurlPostOptions($url, $body));
        $response = curl_exec($curl);
        curl_close($curl);
        return json_encode($response);
    }

    
    private function getCurlPostOptions($url, $body){
        return [
            CURLOPT_URL             => $this->base_url.$url,
            CURLOPT_RETURNTRANSFER     => true, //Return output instead of printing it.
            CURLOPT_HTTPHEADER        => $this->getHeaders(),
            CURLOPT_POST             => true,
            CURLOPT_POSTFIELDS         => json_encode($body, JSON_FORCE_OBJECT),
            CURLOPT_SSL_VERIFYPEER     => false,
            CURLOPT_SSl_VERIFYHOST     => false,
            
        ];
    }

    
    public function getLocations(){
        return $this->prepareApi('/Locations');
    }
    
    
    public function getSubscriptions(){
        return $this->prepareApi('/MembershipDefinition');
    }
}


// $api = new Api();
// $test = $api->getLocations();
// var_dump($test->LocationResources);

?>

Vervolgens probeer ik de data dus zo op te halen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$api = new Api($token);
$result['response'] = $api->sendPostRequest('/Customers', $body);

Helaas krijg ik een response: "null" terug en weet ik niet waar dat aan ligt.

Toevoeging op 19/10/2021 12:04:11:

Vervolgens doe ik eigenlijk nog

echo $result;

wat dus in jquery met een ajax request word opgehaald en JSON.parse() op het result
 
PHP hulp

PHP hulp

20/04/2024 10:28:40
 
Ward van der Put
Moderator

Ward van der Put

19/10/2021 12:27:55
Quote Anchor link
Ik zie twee keer een curl_close(): die in prepareApi() sluit waarschijnlijk vroegtijdig de verbinding.
 
Jorn Reed

Jorn Reed

19/10/2021 12:34:38
Quote Anchor link
Ward van der Put op 19/10/2021 12:27:55:
Ik zie twee keer een curl_close(): die in prepareApi() sluit waarschijnlijk vroegtijdig de verbinding.


PrepareApi() is een oudere functie, die gebruik ik om alle subscriptions te tonen, kan het zo zijn dat hij vanwege de zelfde variabel naam de verbinding al sluit voordat ik die post request doe? Want in die post request open ik de verbinding bewijze van opnieuw.


Toevoeging op 19/10/2021 12:38:43:

Ward van der Put op 19/10/2021 12:27:55:
Ik zie twee keer een curl_close(): die in prepareApi() sluit waarschijnlijk vroegtijdig de verbinding.


ik had even de curl_close weggehaald, maar dat maakt geen verschil. Als ik het object in de console.log bekijk in jquery dan zie ik dat 'response' ="null"
 
Ozzie PHP

Ozzie PHP

19/10/2021 12:50:16
Quote Anchor link
$test->LocationResources

Waar komt die LocationResources vandaan?
 
Jorn Reed

Jorn Reed

19/10/2021 12:53:34
Quote Anchor link
Ozzie PHP op 19/10/2021 12:50:16:
$test->LocationResources

Waar komt die LocationResources vandaan?


Oh let maar niet op die call hoor. In ieder geval als je de locations ophaalde dan zaten ze in de ->locationResources. Vandaar dat ik dat een keer dumpte

Toevoeging op 19/10/2021 14:01:09:

stom foutje van mij. Ik vergat bij curl_init de () haha

Toevoeging op 19/10/2021 16:22:16:

Ik loop alleen tegen een ander probleem aan. Zodra ik de Post request maak, dan komt het in dit object
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$result['response'] = $call->sendPostRequest('/Customers', $body);

Dit object wordt vervolgens ge-echoed in een json_encode, en in de front end met jquery opgehaald. Het toont alle waardes die naar de API zijn gestuurd + een aangemaakt CustomerID. Alleen krijg ik het niet voor elkaar om het CustomerId in de PHP goed te ontvangen, ik heb die namelijk nodig voor een 2e api call. Het werkt allemaal een beetje gek omdat ik steeds met jquery een ajax call maak naar een php functie die met een WordPress ajax action word aangeroepen. Ik weet niet of iemand daar ervaring mee heeft?
 



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.