PHP を使用して、クラスのインスタンスを呼び出すと、未定義の変数通知が返されます。私は他の言語でプログラミングしていますが、PHP にはあまり詳しくありません。私のコードを見て、クラス変数の定義の間違いを教えてもらえますか? ありがとう。
<?php
// create class Bike
class Bike
{
// create variables for class Bike of price, max_speed, and miles
var $price;
var $max_speed;
var $miles;
// create constructor for class Bike with user set price and max_speed
function __construct($price, $max_speed)
{
$this->price = $price;
$this->max_speed = $max_speed;
}
// METHODS for class Bike:
// displayInfo() - have this method display the bike's price, maximum speed, and the total miles driven
function displayInfo()
{
echo "Price: $" . $price . "<p>Maximum Speed: " . $max_speed . "</p>" . "<p>Total Miles Driven: " . $miles . "</p>";
}
// drive() - have it display "Driving" on the screen and increase the total miles driven by 10
function drive()
{
$miles = $miles + 10;
echo "<p>Driving!</p>" . "<p>Total Miles Driven: " . $miles . "</p>";
}
// reverse() - have it display "Reversing" on the screen and decrease the total miles driven by 5...
function reverse()
{
// What would you do to prevent the instance from having negative miles?
if($miles >= 5)
{
$miles = $miles - 5;
echo "<p>Reversing</p><p>Total Miles Driven: " . $miles . "</p>";
}
else
{
echo "<p>Total Miles Driven is less than 5 miles, unable to reverse!</p>";
}
}
}
?>
<?php
// Create 3 bike object class instances
$Schwinn = new Bike(50, '10mph');
$Specialized = new Bike(500, '25mph');
$Cannondale = new Bike(1000, '50mph');
// Have the first instance drive three times, reverse one and have it displayInfo().
var_dump($Schwinn); // shows instance is created with proper variable assignments
$Schwinn -> drive();
// $Schwinn -> drive();
// $Schwinn -> drive();
$Schwinn -> reverse();
$Schwinn -> displayInfo();
?>
エラー:
注意: 未定義変数: 27 行目の /home/heidi/Desktop/CodingDojo/OOP/php_oop_basic1.php のマイル数
注意: 未定義変数: 35 行目の /home/heidi/Desktop/CodingDojo/OOP/php_oop_basic1.php のマイル数
注意:未定義変数: price in /home/heidi/Desktop/CodingDojo/OOP/php_oop_basic1.php 行 21
Notice: 未定義変数: max_speed in /home/heidi/Desktop/CodingDojo/OOP/php_oop_basic1.php 行 21
Notice: 未定義変数: /home/heidi/Desktop/CodingDojo/OOP/php_oop_basic1.php の 21 行目のマイル