Sk!ppy Skrevet 11. juli 2010 Del Skrevet 11. juli 2010 Hei, Jeg sitter nå å utvikler en nettbutikk - men jeg kom til å tenke på en ting - Hvordan skal jeg organisere betalingen? Jeg tenker at jeg skal kun sende et beløp + en melding til der jeg skal betale. Jeg tenkte å kunne ta betalt via paypal og betalingsløsningen til BBS. Jeg tenkte å utvikle paypal sin del først, og BBS sin når jeg får muligheten /tilgang. Hvordan burde jeg organisere dette? Burde jeg bare ha en class som heter betaling, og flere funksjoner som f.eks paypal og bbs? Hvordan har dere løst det / Hvordan anbefaller dere å løse det? Lenke til kommentar
TheRealL Skrevet 11. juli 2010 Del Skrevet 11. juli 2010 Kan ikke svare på BBS, men på PayPal så er det hele lett plankekjør. 1: Last ned: http://paypal.sourceforge.net/ 2: Registrer sandbox konto på PayPal Developers 3: Prøv deg frem med demoene sånn at du forstår det Du kommer til og trenge: 1 side som sender POST data til PayPal. Dette gjøres hovedsaklig med Javascript men du vil trenge en submit button i tillegg for de som har javascript disabled. All post data ligger lagret i hidden fields. 1 side hvor det står "Betalingen din er gjennomført. Sendingen blir sendt når vi får konfirmasjon fra PayPal" evt "Betalingen ble ikke gjennomført" (Cancel) 1 side til og mota IPN fra PayPal. Dette er PayPal sin måte for og si "Betalingen er gjennomført. Du kan nå sende objektet til kunden". Her burde du sjekke at beløpet er riktig og evt sende mail til deg selv "Ordre: blablabla" "Kunde: bla har bestilt Blob". Sånn kort fortalt så er det slik jeg har gjort det Lenke til kommentar
Sk!ppy Skrevet 11. juli 2010 Forfatter Del Skrevet 11. juli 2010 Det er ikke akkuratt det jeg spurte om, Jeg vet hvordan jeg får koblet opp, og gjennomført betalingen - men hvordan skal jeg gjøre dette med flere beløp? Skal jeg f.eks lage en class, som heter betaling, deretter en funksjon for vær måte? Så kaller jeg funksjonen med f.eks $payment->paypal($user, $price); $payment->bbs($user, $price); Håper det var litt mer forståelig. Lenke til kommentar
TheRealL Skrevet 11. juli 2010 Del Skrevet 11. juli 2010 Tja, den måten fleste nettbutikker gjennomfører dette på er at de rett og slett deler det opp og lar brukeren velge betalingsmåte i en checklist. Feks komplett her: La oss si at Oppkrav er PayPal, og Visa/Mastercard er BBS. Nå, når brukeren har trykket på "Fullfør" så sjekker du igjennom dataene. Se kode eksempelet: if(isset($_POST)) && count($_POST) > 0) { if($_POST["method"] == "Visa" || &_POST["method"] == "Mastercard) // $_POST Method er fra checklisten. { // Jeg putter alt i variabler. Så kan du ta og validere de ulike variablene. Feks at kort nummeret stemmer overens med en REGEX. $number = $_POST["creditcard_number"]; $expire = array("Month" => $_POST["expire_month"], "Year" => $_POST["expire_year"]); $CVV2 = $_POST["cvv"]; $bbs = new BBS(); $bbs->payment(....); } elseif ($_POST["method"] == "PayPal") { $paypal = new PayPal(); ..etc..etc } else { // Noe har gått galt... } } Det er slik nettbutikker flest gjør det. Du trenger ikke lage en egen class som heter betaling, bare du sender dataene til den riktige classen. For mye bruk av classes i PHP er ikke sundt, da PHP egentlig ikke er et object oriented language og flere klasser gjør det tregere. Lenke til kommentar
Sk!ppy Skrevet 11. juli 2010 Forfatter Del Skrevet 11. juli 2010 Da er det noe alà det jeg tenkte Tusen takk, kommer tilbake med svar om jeg sitter fast. Lenke til kommentar
Jonas Skrevet 17. juli 2010 Del Skrevet 17. juli 2010 For mye bruk av classes i PHP er ikke sundt, da PHP egentlig ikke er et object oriented language og flere klasser gjør det tregere. Wow, wow, wow - hold on there, slick. PHP er egentlig ikke objektorientert og for mye bruk av klasser er ikke sunt? Utdyp dette. Hva mener du med at et programmeringsspråk egentlig ikke er noe? At det i utgangspunktet ikke var det? Si meg, har det egentlig noe å si, så lenge nåværende versjon har nesten alt av objektorienterte features man finner i andre språk? Og hva er det du egentlig prøver å kommunisere når du beskriver noe i programmeringssammenheng som usunt? Når det gjelder hastighet, så er det et fullstendig latterlig argument. Kjenner du ikke til reglene for optimalisering? #1 Don't optimize #2 If you are an expert, don't optimize yet Optimization: Your Worst Enemy Jeg ler meg fullstendig ihjel når noen bruker print fremfor echo og nekter å modulisere fordi include() koster dyrebare nanosekkunder. Å endre programmeringsparadigme fullstendig til fordel for hastighet ... jez, det tar kaka. Slutte å programmere objektorientert og gå tilbake til det prosedyreorienterte.. HEHAEHAE! Lenke til kommentar
TheRealL Skrevet 18. juli 2010 Del Skrevet 18. juli 2010 For mye bruk av classes i PHP er ikke sundt, da PHP egentlig ikke er et object oriented language og flere klasser gjør det tregere. Wow, wow, wow - hold on there, slick. PHP er egentlig ikke objektorientert og for mye bruk av klasser er ikke sunt? Utdyp dette. Hva mener du med at et programmeringsspråk egentlig ikke er noe? At det i utgangspunktet ikke var det? Si meg, har det egentlig noe å si, så lenge nåværende versjon har nesten alt av objektorienterte features man finner i andre språk? Og hva er det du egentlig prøver å kommunisere når du beskriver noe i programmeringssammenheng som usunt? Når det gjelder hastighet, så er det et fullstendig latterlig argument. Kjenner du ikke til reglene for optimalisering? #1 Don't optimize #2 If you are an expert, don't optimize yet Optimization: Your Worst Enemy Jeg ler meg fullstendig ihjel når noen bruker print fremfor echo og nekter å modulisere fordi include() koster dyrebare nanosekkunder. Å endre programmeringsparadigme fullstendig til fordel for hastighet ... jez, det tar kaka. Slutte å programmere objektorientert og gå tilbake til det prosedyreorienterte.. HEHAEHAE! Jonas, hvis du ser på hele tråden i sinn helhet, så vil du forstå at og lage en klasse kun for og laste inn to andre klasser er totalt unødvendig. Jeg mener på ingen måte at vi skal gå tilbake til standard måten og programmere på, det eneste jeg sier er at php ikke er et objekt orientert språk, det har aldri vært det, det var aldri meningen at det skulle bli det i 1997. Jeg bruker selv objekt orientert php i alle større prosjekter hvor jeg ser på dette som en nødvendighet for og gjøre kildekoden mer lesbar og lettere å forandre. Jeg kunne fortsatt i en evighet, men denne blogg posten her summerer egnetlig det jeg prøver å si. Og tro meg, hvis du summerer alle nano sekundene så blir det ganske mye tid Og det du mener med Don't Optimize vil jeg si er bullshit. Ta et eksempel, hva er poenget med og kjøre 3 spørringer mot en database for og få NESTEN samme informasjon. Eksempel en spørring for og få epost adresse, en for og få fornavn og en for og få etternavn når du kan ta alt i en. Et annet eksempel er hvorfor skal du gidde og be serveren om all informasjon i en tabell når du bare trenger et par felt av tabellen? Lenke til kommentar
Jonas Skrevet 18. juli 2010 Del Skrevet 18. juli 2010 (endret) Jonas, hvis du ser på hele tråden i sinn helhet, så vil du forstå at og lage en klasse kun for og laste inn to andre klasser er totalt unødvendig. Du kom med en generell påstand om språket som du fant relevant til emne, men som samtidig kan taes ut av kontekst. Jeg kunne ikke brydd meg mindre om hva tråden handler om, jeg bare utfordrer en generell påstand som tilfeldigvis ble skrevet i den. Jeg mener på ingen måte at vi skal gå tilbake til standard måten og programmere på, det eneste jeg sier er at php ikke er et objekt orientert språk, det har aldri vært det, det var aldri meningen at det skulle bli det i 1997. Procedural programming er ikke standard. Jeg kunne fortsatt i en evighet, men denne blogg posten her summerer egnetlig det jeg prøver å si. Fordi jeg er lat, så liker jeg veldig godt å sitere hva andre har allerede har skrevet. «What people really mean when they say “PHP is object oriented” is “PHP is object capable”. So just say that instead.» «semantics? Who cares..» «Given that we’re talking about PHP, any discussion of language purity is going to end up with “you’re right, in a pedantic way, but nobody really cares”.» Og som nevnt, så har f.eks. både C++ og Java har primitive datatyper. Skal vi slutte å kalle disse språkene objektorienterte bare av den grunn? Og jeg sitter uansett igjen med det store spørsmålet; hva så? Ok, la oss begynne å kalle PHP et objektkapabelt språk istedenfor et objektorientert språk. Betyr det at vi skal bruke objekter i mindre grad? Er det plutselig blitt usunt? (Hva nå enn det betyr..) Og tro meg, [..] Jeg tror ikke og jeg ville spesielt ikke trodd deg bare fordi du ba meg om det. [..] hvis du summerer alle nano sekundene så blir det ganske mye tid Mye er et svært relativt begrep. Og selv ganske mange nanosekkunder forblir veldig lite i mitt hode. Spesielt i en websammenheng, hvor applikasjoner som regel ikke er veldig hastighetskritiske. Ta et eksempel, hva er poenget med og kjøre 3 spørringer mot en database for og få NESTEN samme informasjon. Eksempel en spørring for og få epost adresse, en for og få fornavn og en for og få etternavn når du kan ta alt i en. Et annet eksempel er hvorfor skal du gidde og be serveren om all informasjon i en tabell når du bare trenger et par felt av tabellen? Hvorfor skal man det? Abstraksjon er det første som treffer meg. Ved å abstrahere bort databasen med pene modeller, så kan man oppnå en mye mer lettlest kode. Modellene har i utgangspunktet ikke kjennskap til hva slags data man er ute etter i det objektet opprettes og følgelig kan det f.eks. hente alt på en gang eller hente hvert felt on demand. Anbefaler deg å sjekke ut Ruby on Rails. Ekstremt trege saker og skalere helt forferdelig dårlig, men allikevel elsker og tilber folk det. Who'd have guessed... Endret 18. juli 2010 av Jonas Lenke til kommentar
TheRealL Skrevet 18. juli 2010 Del Skrevet 18. juli 2010 Jeg var forberedet på og møte motstand når jeg kom med den påstanden jeg kom med, tenkte det bare var et spørsmål om tid før noen kom til og stille spørsmålstegn når jeg sa at PHP ikke er objekt orientert og at for mange klasser er usunt. Ok, la oss begynne å kalle PHP et objektkapabelt språk istedenfor et objektorientert språk. Jess, da er vi enige. Ikke misforstå meg, jeg har ikke noe imot bruk av klasser i PHP. In fact så bruker jeg dem hele tiden selv. Det eneste jeg har noe imot er unødvendig bruk av dem. Og det som er unødvendig er og lage en klasse kun for og laste inn 2 andre klasser. Hvorfor skal man det? Abstraksjon er det første som treffer meg. Ved å abstrahere bort databasen med pene modeller, så kan man oppnå en mye mer lettlest kode. Modellene har i utgangspunktet ikke kjennskap til hva slags data man er ute etter i det objektet opprettes og følgelig kan det f.eks. hente alt på en gang eller hente hvert felt on demand. Anbefaler deg å sjekke ut Ruby on Rails. Ekstremt trege saker og skalere helt forferdelig dårlig, men allikevel elsker og tilber folk det. Who'd have guessed... Det er ofte ubevist at det skjer. Har gjort feilen selv og laste inn ganske lik data flere ganger. Men alright, skal sjekke ut Ruby on Rails. Either way så spinner dette ganske offtopic. Har ikke noe imot og fortsette diskusjonen over PM, men denne tråden handler om og organisere nettbutikk og ikke hvorvidt PHP er objekt orientert eller objekt kapabelt. Lenke til kommentar
Mez Skrevet 19. juli 2010 Del Skrevet 19. juli 2010 Hva med å holde seg til topic? Ang. betaling så er PayPal et fungerende alternativ, men ikke optimalt syntes jeg. Bør isåfall brukes som alternativ til norsk betalingsløsning, f.eks BBS. Erik Lenke til kommentar
Sk!ppy Skrevet 19. juli 2010 Forfatter Del Skrevet 19. juli 2010 Har planlagt å lage mitt eget MVC nå før jeg gjør noe annet Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå