Permalänk
Medlem

Codeacademy PHP

Hej,

Hittade ingen passande tråd, tänkte därför att jag skapar en tråd där vi kan posta våra problem vi får på codeacademys PHP kurs. En samlingstråd helt enkelt.

Har alltså ett problem, gör som i exemplet (tror jag) och får inte riktigt till det. Tryckte på att gå vidare för att se vad jag gjort fel, men då säger den att det är rätt ändå. Även om jag inte får den outputten jag ska ha i wysiwig editorn. Postar screenshot så kanske ni kan hjälpa mig få klarhet i detta?

Visa signatur

Chassie: Cooler Master Storm Scout. CPU: Intel Core I5 2500K @ 3.3 Ghz. RAM: Corsair Vengeance 2x4gb 1600mhz. MK: MSI P67A-GD65. PSU: Corsair cx 500w v2. GPU: GeForce GTX 560 Ti. HDD: 1 Tb WD green 64mb cache. Monitor: Samsung Syncmaster P2450

Permalänk
Medlem

Jag är ingen mästare på detta, men du ska väl skapa dina hundobjekt utanför hundklassen? Dessutom ska väl objektet skapas med $DogX = new Dog("Namn");?

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem
Skrivet av LemonIllusion:

Jag är ingen mästare på detta, men du ska väl skapa dina hundobjekt utanför hundklassen? Dessutom ska väl objektet skapas med $DogX = new Dog("Namn");?

Provade flytta runt lite på hakparantesen å ändra vart den stängde. Provade överallt. Ingen skillnad..

Lägger även koden här i text ifall någon vill ändra och förklara vad jag gjort för fel

<!DOCTYPE html> <html> <head> <title> Practice makes perfect! </title> <link type='text/css' rel='stylesheet' href='style.css'/> </head> <body> <p> <!-- Your code here --> <?php class Dog{ public $numLegs = 4; public $name; public function __construct($name) { $this->name = $name; } public function bark() { return "woof"; } public function greet() { return "Hello! ".$name." lovely weather isnt it?"; } $Dog1 = new Dog($name){ $name = ("Barker"); } $Dog2 = new Dog($name){ $name = ("Amigo"); } } echo $dog1->bark(); echo $dog2->greet(); ?> </p> </body> </html>

Lade till [PHP]-taggar.
Visa signatur

Chassie: Cooler Master Storm Scout. CPU: Intel Core I5 2500K @ 3.3 Ghz. RAM: Corsair Vengeance 2x4gb 1600mhz. MK: MSI P67A-GD65. PSU: Corsair cx 500w v2. GPU: GeForce GTX 560 Ti. HDD: 1 Tb WD green 64mb cache. Monitor: Samsung Syncmaster P2450

Permalänk
Hedersmedlem
Skrivet av Jespuur:

public function greet() { return "Hello! ".$name." lovely weather isnt it?"; }

Inte OK: du vill referera till objektets `$name`. Hur gör man det?

Skrivet av Jespuur:

$Dog1 = new Dog($name){ $name = ("Barker"); } $Dog2 = new Dog($name){ $name = ("Amigo"); } }

Inte OK på ett par sätt. Du vill inte kalla `new Dog` med argumentet `$name`, utan du vill skapa objektet med argumentet "Barker" respektive "Amigo". Detta kommer kalla konstruktorn med respektive sträng som argument för de olika objekten du skapar.

Din syntax är inte giltig. Den ska i stället vara som LemonIllusion skrev ovan.

Du ska ej heller skapa objekten inne i klassdefinitionen, utan de ska skapas efter den sista klammerparantesen i ovanstående kod, efter att klassen definierats, på samma nivå som dina senare metodanrop.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.