Php-oppaassa on pahoja virheitä.
Listaapa niitä tähän, niin korjailen tarvittaessa.
Siihen oppaaseen voi kirjoittaa lisä osan sellanen joka osaa eli antti.
Ensinnäkin en vertaisi C:tä ja php:tä keskenään. Vaikka kielin rakenne muistuttaa toisiiaan, niin niillä on kuitenkin huomattava ero. C++ on olio-ohjelmointikieli kuten php:kin. C taasen ei tue olio-ohjelmointia. Siksi on parempi verrata C++:aa ja php:tä.
Tämä virhe on todella paha. Oppaassa sanotaan, että php:ssä on vain yksi muuttujatyyppi. Kuten kaikissa muissakin kielissä, niin myös php:ssä on eri tyyppisiä muuttujia. Php:ssä niitä vain ei tarvitse määritellä, sillä php määrittelee niiden tyypit itsestään ja muuttaa tarvittaessa muuttujatyypistä toiseen.
Viimeinen virhe, jonka löysin, koskee esimerkkikoodia. Tämä virhe on yksi yksi yleisimmistä aloittelijoiden virheistä. Rivi
if ($valinta=1)
pitää korjata muotoon
if ($valinta==1)
nimittäin =-merkki on sijoitus ja ==-ilmaisu on looginen operaattori 'on yhtä kuin'. Virheellinen koodi toteuttaa aina vaihtoehdon yksi, sillä muuttujaan $valinta sijoitetaan arvo 1.
Miksei oppaassa ole kirjoittajan nimeä? Se olisi ihan kiva tietää.
Ensinnäkin en vertaisi C:tä ja php:tä keskenään. Vaikka kielin rakenne muistuttaa toisiiaan, niin niillä on kuitenkin huomattava ero. C++ on olio-ohjelmointikieli kuten php:kin. C taasen ei tue olio-ohjelmointia. Siksi on parempi verrata C++:aa ja php:tä.
Tämä virhe on todella paha. Oppaassa sanotaan, että php:ssä on vain yksi muuttujatyyppi. Kuten kaikissa muissakin kielissä, niin myös php:ssä on eri tyyppisiä muuttujia. Php:ssä niitä vain ei tarvitse määritellä, sillä php määrittelee niiden tyypit itsestään ja muuttaa tarvittaessa muuttujatyypistä toiseen.
Viimeinen virhe, jonka löysin, koskee esimerkkikoodia. Tämä virhe on yksi yksi yleisimmistä aloittelijoiden virheistä. Rivi
if ($valinta=1)
pitää korjata muotoon
if ($valinta==1)
nimittäin =-merkki on sijoitus ja ==-ilmaisu on looginen operaattori 'on yhtä kuin'. Virheellinen koodi toteuttaa aina vaihtoehdon yksi, sillä muuttujaan $valinta sijoitetaan arvo 1.
Miksei oppaassa ole kirjoittajan nimeä? Se olisi ihan kiva tietää.
oho, tuo tuli vahinossa tuplana, kun ei tullut mitään palautetta, että viesti on lähetetty.
Kirjoittajan nimeä ei ole, koska opas on "Ohjelmointiputkan omaa tuotantoa" eli toisin sanoen minun.
Ja sitten virheisiin:
1. C ei ole verrattavissa PHP:hen
Koska PHP:n tekijät vertaavat C:tä PHP:hen, teen myös minä niin: https://www.php.net/manual/en/introduction.php
2. PHP:ssä ei ole vain yhtä muuttujatyyppiä
Miten sen nyt ottaa. Mielestäni samalla periaatteella kuin Visual Basicissa Variant on yksi muuttujatyyppi, ovat myös PHP:n muuttujat yhtä tyyppiä, joka voi sisältää monenlaista tietoa (monentyyppistä). Toisaalta olet oikeassa, oppaassa pitäisi ehkä selventää tyypin ja tyypin eroa.
3. Kaksi =-merkkiä vertailulauseessa
Tuo on ihan selvä virhe ja vielä harmillinen sellainen. Toisaalta seuraavassa elseif-lauseessa merkkejä oli kaksi kuten pitää. Mitähän mahdoin ajatella tuota kohtaa kirjoittaessani? Joka tapauksessa virhe on nyt korjattu.
Tuolla sivulla, jonne linkki viittaa, ei kyllä kerrota php:n olevan samanlainen kuin C. Ainut lause, jossa oli sana php on seuraava: "Notice how this is different from a script written in other languages like Perl or C -- instead of writing a program with lots of commands to output HTML, you write an HTML script with some embedded code to do something (in this case, output some text)." Tuossa ei kyllä verrata php:tä ja C:tä keskenään.
Katso tästä tietoa eri muuttujista php:ssä https://www.php.net/manual/en/language.types.php
Joo se linkki taisi olla vähän väärä. Toisaalta ohjelmointikieli, joka on C++:n kanssa samankaltainen, on myös melkein pakosti samankaltainen C:n kanssa, C++:han on edelleenkehitetty C:stä. C on kuitenkin yksi ohjelmointikielipääryhmä, siinä missä Pascal ja Basic.
C:n ja C++:n ero on olio-ohjelmoinnissa (tämän olen sanonut jo). Koska php on oliokieli niin siksi vertaisin php:tä C++:aan. Tosin C:henkin php:tä voi verrata jos haluaa korostaa komentorakenteen samankaltaisuutta.
Kappas...uusimmassa Mikrobitissäkin verrataan PHP:tä C:hen:
http://www.mikrobitti.fi/nettijatkot/2002/06/
Juu minäkin huomasin tuon ;)
Minä en ;)
Antti:
1. Jos PHP:n tekijät tekee virheen nii ei sun tartte tehdä sitä samaa.
2. "Mielestäni samalla periaatteella kuin Visual Basicissa Variant on yksi muuttujatyyppi..." Variant ei oikeestaan oo muuttujatyyppi, vaan se on aina jonkun tyyppinen, esim. Integer ja se osaa tarvittaessa itse muuttaa tyyppiään esim. Integer --> String.
1. MikroBitti on kuitenkin sen verran luotettava lehti, että väitän edelleen C:tä PHP:n kaltaiseksi, ellei toisin todisteta
2. Visual Basicin ohjeen mukaan Variant on muuttujatyyppi: "The Variant data type is the data type for all variables that are not explicitly declared as some other type"
Aihe on jo aika vanha, joten et voi enää vastata siihen.