Test

Web Database Applications with PHP & MySQL

Av Hugh E. Williams og David Lane
Publisert av O'Reilly & Associates, første utgåve
576 sider, fordelt på 13 kapittel og 5 tillegg

Takk til O'Reilly for utlån av boka.

BokaSom dei fleste O'Reilly-bøker er dette ei svært solid bok, med ei nokolunde fornuftig oppbygging. Dei byrjar med å introdusere kva som boka skal gjennomgå, nemlig mellomnivået mellom brukar og database. Dei introduserer i første kapittel gjennomgangsdømet i boka, nemlig ein nettbutikk der dei skal forhandle vin. Første kapittel fortsett med føresetnadar for å drive med utviklinga, og oppbygginga av dei ulike nivåa.

Andre kapittel tek for seg PHP som språk, og går hurtig igjennom dei vanlegaste funksjonane, kontrollstrukturar, typar og funksjonar. Kapitlet tek òg for seg vanlege feller for nybyrjarar i PHP, noko som er svært positivt for nybyrjarar. Neste kapittel introduserer MySQL som databasespråk, korleis ein lagar, endrar og slettar tabellar og data, samt korleis ein nyttar MySQL frå kommandolinja. Markeringa av kva som er standard SQL og kva som er MySQL-spesifikke funksjonar er god, noko som må reknast som svært positivt. Boka reknar med at du har ei viss kjennskap til databasar frå før, og går difor ikkje igjennom normalisering og vanlege databaseteknikkar.

Me er no komne til fjerde kapittel, og her set me saman PHP og MySQL, og ein får forklart PHP sine databasefunksjonar, og korleis ein kan framstille resultata ein får frå MySQL ved hjelp av HTML. Her viser dei oss korleis me skal lage eit panel som gjev oss ei oversikt over dei tre siste vinane i databasen, og presenterer omtalar av desse. Så byrjar ein å nytte inndata frå brukaren til å bygge spørjingar mot databasen, slik at ein kan lage verkeleg dynamiske sider. Vidare går ein ved å sjå på korleis ein skriv og oppdaterer data i slike databasar, korleis ein bør validere inndata, båe på server og klient. Sessions vert og omtala til å halde på brukardata, noko som er svært kjekt å kunne når ein skal skrive ein nettbutikk. Autentisering og tryggleik er det neste punktet på lista, ved hjelp av HTTP med og utan PHP, autentisering ved hjelp av ein database, og ein diskusjon om kva som er den beste måten å beskytte data på på Internett.

Sidan heile boka er basert på å lære lesaren å utvikle ein webbutikk, har dei valgt eit naturleg gjennomgangsdøme. Dei har teke seg god tid til å spesifisere kva som skal vere med i databasen, kva som er viktig å ha med, og dette går dei igjennom svært tidleg i boka. Ein får difor eit klart inntrykk av kva som skal skje, og korleis ein skal gjere det. Dei går og igjennom klassiske problem når det gjeld webutvikling med PHP, t.d. korleis ein lastar opp bilder til ein database.

Eg må seie at det overraska meg sterkt når eg finn klare feil og manglar i ei bok frå O'Reilly, men denne boka har det. Allereie i andre kapittel er det seriøse manglar når det gjeld døma, og det var spesielt eit døme som går på bruken av loopar som markerte seg. Forklaringane til døma er til tider dårlege, sjølv om mange av desse er lange. Dei har klart å beskrive mange ting rundt døma, men ofte forklarer dei ikkje kva som eigentleg skjer. Døma har heller ingen form for fargekoding av koden, noko som er svært irriterande, og det vert tungt å lese gjennom koden. Koden dei skriv er derimot svært strukturert, og ville vore lett å lese med slik fargekoding.

Når me kjem til kapitlet som omhandlar MySQL, viser dei relasjonane i databasane ved hjelp av relasjonsdiagram, men diagramma dei nyttar er ikkje av den vanlege forma. Dei nyttar ei form for flytskjema, noko som ikkje passar spesielt bra til databasar.

Det er og svært positivt at dei gjennomgår vanlege tryggleiksfeil som ein ofte finn i PHP-skript, nemlig korleis PHP initialiserar variablar, og korleis ein kan unngå at skripta ein skriv er påverka av slike feil. Dei fortel og om korleis ein kan hindre automatisk initialisering av variablar som er gjeve via parameter og frå formdata, noko som no er slått av på nye PHP-installasjonar, og korleis ein kjem til desse variablane når dette er slått av. Men, og dette er eit stort "men", dei nyttar seg ikkje av dette sjølv i døma utover i boka.

Noko anna som eg òg fort la merke til, var at heile boka er retta mot Linuxmiljøet, sjølv om det er svært mange som driv med PHP og MySQL under Windows. For svært mange er det nok viktig at dei kan få instruksjonar til sitt operativsystem, men dette manglar denne boka heilt. Misforstå meg rett, eg meiner ikkje at det er berre negativt at dei legg all vekta på Linux, men det er heilt klart eit feilgrep å rette all tynga mot Linux når svært mange av brukarane nyttar Windows. Det hadde kosta dei svært lite å kommentere dei døma der dei nyttar Linuxverktøy, og forklare korleis ein kunne gjort det same på Windows.

Konklusjon

På tross av all kritikken eg rettar over, så er dette ei relativt god bok. Den har sine feil og manglar, men dersom du skal utvikle ein webbutikk eller ei større nettside ved hjelp av PHP og MySQL, så er det ei bok som er grei å ha i bakhand. Dei har eindel kreative løysingar på vanlege problem, og boka gjer deg eit godt startpunkt om du skal utvikle ei større nettside. Du bør likevel ha moderate kunnskapar om databasar og HTML og litt kunnskapar om PHP før du byrjar, og det er ein fordel om du har programmert tidlegare.

Positivt:

  • Eit gjennomgåande døme
  • Retta mot dei litt meir avanserte brukarane

Negativt:

  • Dårleg forklarte dømer
  • Inga fargekoding
  • Nyttar flytskjema som relasjonsdiagram
  • Tungt språk
  • Retta berre mot Linux

Boka får du kjøpt hos Datajungelen.no for 465 kr.

Norges beste mobilabonnement

Desember 2016

Kåret av Tek-redaksjonen

Jeg bruker lite data:

ICE Mobil 1GB


Jeg bruker middels mye data:

Hello 5GB


Jeg bruker mye data:

Hello 10 GB


Jeg er superbruker:

Telia Smart Total


Finn billigste abonnement i vår mobilkalkulator

Forsiden akkurat nå

Til toppen