OOP curl class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Ervaren Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als ervaren developer zul je hiernaast ook andere developers assisteren en waar nodig de leiding nemen in het project.

Bekijk vacature »

Junior Software Developer C# Verhuursector Verhuur

Samengevat: Wij ontwikkelen en leveren softwaresystemen voor de logistieke sector en de verhuursector. Ben jij geschikt als Junior Software Developer? Heb je ervaring met Delphi? Vaste baan: C# Software Developer Logistiek HBO €2.500 - €3.900 Deze werkgever is een software ontwikkelaar, gericht op software voor de logistieke sector. Deze werkgever heeft eigen producten ontwikkelen en leveren ook maatwerk. Ons bedrijf kent een boeiende en inspirerende werkomgeving met een open cultuur en mogelijkheden voor je verdere ontwikkeling. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

Full Stack C#.NET developer

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 »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

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 Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

Bekijk vacature »

Lead Fullstack developer

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

Bekijk vacature »

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

Bekijk vacature »

Lead Front-end developer

Functie Hun huidige applicatie worden ontwikkeld in o.a. React, Redux, TypeScript. Ze werken graag met de nieuwste technieken en tooling en zoeken ook developers die hier proactief op zoek naar gaan. Als senior/lead developer ben je een kartrekker in het team. Naast het meedenken over bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Zo kun je bijvoorbeeld 1 dag in de week met 2 collega’s bezig zijn om samen met hen te kijken naar hun ontwikkeling, doelstellingen en uiteraard de gewenste begeleiding hierin. Hiernaast sta je als

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

16/07/2024 02:55:56
 
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.