Met de release van de nieuwe Envato Marketplace API hebben externe ontwikkelaars nu toegang tot een schat aan informatie om allerlei nuttige applicaties te maken. In deze zelfstudie leer je hoe je je eigen iPhone-app maakt met behulp van gegevens uit de nieuwe API. Zelfs als je geen iPhone hebt, kun je nog steeds de basis leren over het gebruik van PHP en JSON.
De app die we gaan maken, is gebaseerd op mijn iPhone-app, Envato Marketplace Mobile. Hoewel we niet de hele app opnieuw maken, geeft deze zelfstudie u een algemeen idee over hoe deze is gemaakt. Deze tutorial is bedoeld voor PHP en JSON beginners en dient als basis voor het maken van meer geavanceerde PHP-applicaties.
Voordat we gegevens kunnen ophalen met behulp van de API, moeten we leren hoe we toegang kunnen krijgen tot de API. De API is opgesplitst in 5 delen:
Klik hier voor meer informatie over de API.
Nu we weten wat nodig is om toegang te krijgen tot de API, zijn we klaar om het in de praktijk te brengen. Omdat we willen dat anderen onze geweldige app gebruiken, moeten we meteen een gebruikersnaam en API-sleutel ontvangen; dus we gaan een aantal PHP-variabelen ophalen uit de browser.
if (isset ($ _ GET ['user']) && $ _GET ['user']! = "") $ userName = $ _GET ['user']; if (isset ($ _ GET ['key']) && $ _GET ['key']! = "") $ apiKey = $ _GET ['key']; else echo 'Api-sleutel niet ingesteld!'; Uitgang; else echo 'Gebruikersnaam niet ingesteld!'; Uitgang;
De bovenstaande code controleert om te zien of de variabelen gebruiker en sleutel zijn ingesteld en worden afgesloten als ze dat niet hebben gedaan. Het controleert ook of de globale variabele niet leeg is.
Nu we over de vereiste informatie beschikken, kunnen we doorgaan en deze gebruiken om onze gegevens op te halen. Om dit te doen, zullen we eenvoudig een URL maken met behulp van het formaat dat in de inleiding is beschreven.
// Maakt een tekenreeks die wordt gebruikt om toegang te krijgen tot de API $ json_url = "http://marketplace.envato.com/api/edge/".$userName."/".$apiKey."/vitals+recent-sales .json ";
Merk op dat we de "edge" -versie gebruiken en onze vorige variabelen gebruiken voor de gebruikersnaam en api-key. Ten slotte gaan we het edele delen en recente verkopen datasets in JSON-formaat.
Nu we onze URL hebben gemaakt om toegang te krijgen tot de API, moeten we de inhoud ervan lezen zodat ze kunnen worden doorgegeven aan de json_decode-functie - waarvoor een daadwerkelijke json-gegevensset nodig is, niet alleen een URL. Dus laten we doorgaan en de file_get_contents () functie om de inhoud van de url te lezen.
// Haal de inhoud van de $ json_url string $ json_contents = file_get_contents ($ json_url); // Een beetje fout bij het controleren of (! $ Json_contents) echo "Fout: het JSON-bestand kan niet worden gelezen. Controleer uw gebruikersnaam en api-sleutel."; Uitgang;
We zijn eindelijk klaar om de JSON-gegevens naar een array te converteren, zodat we deze in onze applicatie kunnen gebruiken. Om deze taak te volbrengen, gebruiken we de json_decode () functie die de gegevens van ons zal nemen $ json_contents variabele en voer deze uit naar een array.
// Voer onze gegevens uit in een array $ json_data = json_decode ($ json_contents, true);
We gebruiken twee parameters in deze functie, de eerste is de string die we willen decoderen en de tweede vertelt de functie om de gegevens als een array uit te voeren. Dat is het! We zijn nu klaar om onze gegevens aan de gebruiker te tonen.
We hebben onze gegevens opgehaald en nu is het tijd om het aan de gebruiker te laten zien. Voor de eenvoud zullen we onze frontend HTML-code toevoegen aan hetzelfde bestand als onze PHP-code. Dus ga je gang en voeg de standaard HTML-documentcode toe onder je PHP-code.
Mijn Nettuts iPhone-app - Mijn Nettuts iPhone-app
Merk op dat in de
Laten we doorgaan en een eenvoudige div toevoegen die de gebruikersnaam weergeeft die is opgehaald uit de API. We zouden dit kunnen doen met de variabele $ userName zoals we die in de paginatitel hebben gebruikt, maar het gebruik van JSON is spannender.
Wat de bovenstaande code doet, is de gebruikersnaam van de edele delen array, wat een array is binnen onze $ json_data array die eerder is gemaakt. Klinkt logisch?
Dit is de structuur van de array die wordt gebruikt in het API-voorbeeld: Array ([vitals] => Array ([gebruikersnaam] => ryan [balance] => 32.75))
Vervolgens willen we de gebruiker zijn balans laten zien. Dit gebeurt op dezelfde manier als waarop we de gebruikersnaam hebben getoond. Deze keer zullen we echter eenvoudig veranderen van "gebruikersnaam" naar "balans". De rest is eenvoudig voor lay-out en styling.
"; $ count = $ count + 1; else break;?>Saldo: $Recente verkopen:
Lijst met recente verkopen
Het laatste dat op onze agenda staat, is om de meest recente verkopen voor een gebruiker weer te geven. Dit is iets ingewikkelder dan de vorige voorbeelden, maar als je ooit met arrays hebt gewerkt, zou je het moeten kunnen verwerken.
Verkocht ". $ Waarde ['item']." voor $ "$ Value [ 'bedrag']."
Er is hier veel te verteren, dus laten we beginnen met de foreach uitspraak. Eerst maken we een $ salesArray van de array met recente verkopen binnen $ json_data. Dit is niet nodig, maar ik vind dat het er schoner uitziet. De foreach-instructie maakt een $ value voor elke rij in de $ salesArray array en stelt ons in staat informatie uit elke rij te halen. Dus, in principe gebruik je de waarde $ om gegevens uit de rij te krijgen terwijl het foreach-statement er doorheen loopt.
De volgende is de code die wordt uitgevoerd telkens wanneer de foreach-instructie door een rij gaat. In plaats van alle recente verkopen weer te geven, wil ik alleen tien opsommen. Daarom, als het aantal gecontroleerde rijen groter is dan tien, wordt de lus onderbroken. Als u het aantal rijen wilt wijzigen waarin de instructie doorloopt, wijzigt u tien in het gewenste aantal. Het feitelijk weergeven van de rijen is vrij eenvoudig, omdat het vereist dat elke rij in een div met een klein pictogram wordt weergegeven. Wij gebruiken de $ value om toegang te krijgen tot de verkoopinformatie van de array. We trekken "item", wat de itemtitel en is "bedrag" wat het bedrag is dat de auteur heeft gemaakt bij de verkoop. Tenslotte "$ tel + 1" verhoogt gewoon het aantal rijen dat door de instructie is doorgelust. Je zou nu helemaal klaar moeten zijn! Probeer het bestand op een testserver te laden en kijk of het werkt!
Als u geen Envato Marketplace-account hebt, kunt u de voorbeeldlogin gebruiken:
Nou, onze nieuwe app werkt prima, maar het ziet er slecht uit - wat betekent dat het tijd is om wat CSS uit te breken. Ik neem aan dat je genoeg weet om de volgende code te begrijpen, want ik zal er niet op ingaan, behalve enkele dingen. #browser wordt gebruikt door de iPhone / Touch om te controleren of de pagina te klein is om het scherm te vullen. body.lanscape #browser doet hetzelfde echter voor wanneer de browser zich in de liggende modus bevindt.
body background: #efefef; marge: 0px; opvulling: 0px; lettertype-familie: Helvetica; -webkit-touch-callout: geen; -webkit-tekst-formaat-aanpassen: geen; breedte: 100%; kleur: # 2a2a2a; #browser / * zorgen ervoor dat we altijd het hele scherm vullen * / min-height: 416px; body.landscape #browser min-height: 268px; h3 margin-bottom: 5px; p margin: 0 0 5px 0; / * Layout * / #header opvulling: 10px 5px 5px; hoogte: 30 px; kleur: #fff; lettertypegrootte: 22px; achtergrond: url (header_bg.jpg) repeat-x; #gebruikersnaam font-size: 18px; lettertype: vet; text-transform: hoofdletters; opvulling: 5px; / * WebKit ondersteunt tekstschaduw ... dus waarom zou u het er niet mooi uit laten zien * / text-shadow: 0 1px 0 rgba (0, 0, 0, 0.5); kleur: #fff; achtergrond: # 498929; border-top: 1px solid # 85c952; border-bottom: 1px solid # 34661c; #content opvulling: 5px; padding-top: 10px; .icon vertical-align: text-top; margin-right: 5px; .line padding-bottom: 5px; border-bottom: 1px solid #cccccc; margin-bottom: 5px;
Het is tijd om je geweldige app eindelijk iPhone-compatibel te maken. Dit is eigenlijk heel eenvoudig en betreft slechts één regel code.
Voeg de bovenstaande code direct onder de
Nou ... we zijn klaar! U kunt het eindproduct hieronder bekijken.
Je bent klaar met het einde. Ik hoop dat dit een goede introductie was voor degenen die nog in de beginfase zitten van het gebruik van PHP en JSON. U bent nu klaar om uw eigen killer-app te maken met behulp van de API en JSON in het algemeen.
Onthoud nu dat deze tutorial bedoeld is voor beginners en voor diegenen die een jump-start nodig hebben voor het gebruik van de API.