PHP 4 vs PHP 5 – vad ska jag välja?

Tråden skapades och har fått 13 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Neverland
  • 2005-10-14 16:17

Jag vill sätta mig in i PHP, och gick därför till bokandeln för att se vad som fanns att välja på.

Det visade sig att de böcker som fanns behandlade PHP 5. På min server (OS X Server 10.3) har jag "bara" PHP 4 (4.3.11), och jag köpte därför inget.

- Har jag nytta av php5-böckerna?
- Är det mycket som skiljer sig åt mellan php4 och php5?
- Är det php5 som ingår i Server 10.4?

  • Medlem
  • Gävle
  • 2005-10-14 16:26

Du behöver inte välja, du kan lära dig båda. Den största och viktigaste skillnaden mellan version fyra och fem är att i version fem sker variabeltilldelning via referens istället för att duplicera variabeln. I version fyra så sker en duplicering så vida inte man använder &-operatorn.

Alltså, i PHP4:

$var1 = 1;
$var2 = $var1;
$var2 += 1;
print($var1) // skriver ut värdet 1
print($var2) // skriver ut värdet 2

Samma kod i PHP5:

$var1 = 1;
$var2 = $var1;
$var2 += 1;
print($var1) // skriver ut värdet 2
print($var2) // skriver ut värdet 2

Det finns naturligtvis andra skillnader, men detta är den största och mest övergripande skillnaden. Du behöver absolut inte "välja" vilket språk du ska lära dig; lär dig båda.

Om du redan kan något programmeringsspråk så rekommenderar jag att du istället (eller också) lär dig Ruby on Rails, i annat fall kanske du bör få lite grepp om hur webbutveckling fungerar först.

Köp en PHP5-bok, den kommer med alla största sannolikhet gå igenom vad som är nytt och annorlunda än i PHP4, och vad skillnaderna innebär egentligen.

  • Medlem
  • Neverland
  • 2005-10-14 16:43
Ursprungligen av tjogin:

Den största och viktigaste skillnaden mellan version fyra och fem är att i version fem sker variabeltilldelning via referens istället för att duplicera variabeln.
.. klipp ..
Det finns naturligtvis andra skillnader, men detta är den största och mest övergripande skillnaden.

Och variabler är ju inte direkt oviktiga.

Ursprungligen av tjogin:

Om du redan kan något programmeringsspråk så rekommenderar jag att du istället (eller också) lär dig Ruby on Rails, i annat fall kanske du bör få lite grepp om hur webbutveckling fungerar först.

Jag har tidigare fuskat lite med gamla hederliga asp (ej .net), och det har hittills fyllt mina behov. Men eftersom vi har en fin OSX-server så vore det ju synd att inte använda den, iallafall för interna behov och experiment-plattform. Sedan får vi se vart det leder.

  • Medlem
  • Stockholm
  • 2005-10-15 19:45
Ursprungligen av tjogin:

Den största och viktigaste skillnaden mellan version fyra och fem är att i version fem sker variabeltilldelning via referens istället för att duplicera variabeln. I version fyra så sker en duplicering så vida inte man använder &-operatorn.

Det är naturligtvis väldigt viktigt att förstå, men jag anser nog att de två största ändringarna (förbättringarna) i PHP5 är:

1) att språket nu är objektorienterat "på riktigt" (i stil med C++, Java, C#, Objective-C och så vidare), vilket gör att vi Design Patterns-nördar kan använda PHP utan begränsningar.

2) hanteringen av XML

/Dan

Du kan väl uppdatera PHP-version om du vill? Det är väl inte så dumt att satsa på PHP5 eftersom det sakta men säkert är dit vi är påväg (med betoning på sakta).

  • Medlem
  • Neverland
  • 2005-10-14 19:19
Ursprungligen av Adrian B:

Du kan väl uppdatera PHP-version om du vill? Det är väl inte så dumt att satsa på PHP5 eftersom det sakta men säkert är dit vi är påväg (med betoning på sakta).

Ja, jag uppdaterar gärna. Är det en enkel procedur?

Jag är inte den som gärna läser engelska bruksanvisningar som säger åt mig att ladda hem tre olika paket som sedan måste installeras o fixas via terminal eller annan, för mig, obekant kod.

Well, jag vågar inte svara på hur det fungerar i OS X Server eftersom jag aldrig kört det. När jag installerat så har jag använt mig av de färdiga paket som Marc Liyanage gjort iordning. Om detta fungerar eller ens är att rekommendra för OS X Server vågar jag inte svara på (men enligt webbsidan så ska det fungera).

  • Medlem
  • Höganäs
  • 2005-10-14 22:45

Det är väl en finess att kolla vilken version ett eventuellt (framtida) webhotell kör - lite trist om du utvecklar för 5:an och inte kan köra det pga att hotellet kör 4.x ?? Det kan ju bli lite struligt när sidorna ska publiceras!

  • Medlem
  • Neverland
  • 2005-10-14 23:41

Micke, du slår huvudet på spiken!
Precis så tänker jag. Och självklart kommer det väl bli så att då jag väl lärt mig php4, så kommer alla världens webhotell att köra php5 (eller php6, php7..:D).

  • Medlem
  • Höganäs
  • 2005-10-14 23:50

När du sedan - för det gör du nog - fastnar i MySQL-träsket dyker samma verisonspanik upp igen.
Bara så du vet...

  • Medlem
  • Neverland
  • 2005-10-15 00:08

ajajaj då.

Och jag som inte ens jobbar heltid med web. Jag är bara en stackars originalare som vill kunna göra lite automatiskt jox på hemsidor.

Min tid (ca):
40% repro
35% grafisk prod
15% intern tomte-verksamhet
5% fika
3% web
2% ospec

Jag kanske ska skita i php och harva vidare i asp-träsket?

  • Medlem
  • Gävle
  • 2005-10-15 00:13

Äh, de där problemen kommer du inte ens att stöta på. Koda php4, du kommer inte ens att lägga märke till om webbhotellet kör php4 eller php5 (p.g.a. att du är nybörjare och kör på den nivån). Det är en ganska enkel och trevlig omställning att byta från ASP till PHP4 (så oerhört mycket bättre).

  • Medlem
  • Neverland
  • 2005-10-15 00:19

Hehe.. Tjogin. Jag är inte så säker på att det blir så lätt, men jag vill så gärna försöka.
Men du lyckades ju tidigare få mig att fatta det där med positionering i css-mallar, så varför skulle du inte ha rätt nu?
Jag har därför bestämt mig. På måndag är det jag som knallar in på bokhandeln och slänger upp jobbets guldkort. ”Ge mig det bästa ni har” säger jag, och knallar sedan hem med en ny bok, till mitt lilla skrivbord och slår upp kapitel ett.

Edit: skrivfel (jämrans rödvin!)

Senast redigerat 2005-10-15 01:40
  • Medlem
  • Gävle
  • 2005-10-15 01:08

That's the spirit!

1
Bevaka tråden