</head>
	<body>
      <p>
      <?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, I am : " . $this->name . " and i have " . $this->numLegs . " number of legs! ";
    }
}
$dog1 = new Dog("Barker");
$dog2 = new Dog("Amigo");
echo $dog1->bark();
echo $dog2->greet();
?>
        <!-- Your code here -->
      </p>
    </body>
</html>
	  <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()
    {
        echo "Vov <br />";
    }
    public function greet()
    {
        echo "<p style='color:red' >Hello my name is " . $this->name . "</p>";
    }
}
$dog1 = new Dog("Pluto");
$dog1->greet();
$dog1->bark();
?>
      </p>
    </body>
</html>
    {
        echo "Bow-wow!" . "<br>";
    }
    //If you want to call another function within the same class, you have
    //to use the keyword $this->functionName();
    public function bark()
    {
        echo "bark, bark and ";
        $this->woof();
    }
}
$myDog = new Dog("Fido");
$myDog->woof();
echo $myDog->name;
echo "<br>";
echo $myDog->bark();
echo "<br>";
//Constants are all caps and have to use a function called define() to define them:
define("MAX_WIDTH", 980);
//In the function, you enter the name of the constant as a string
echo MAX_WIDTH;
echo "<br>";
/* You can't change a constant's value and you can't redefine it, either:
  MAX_WIDTH = MAX_WIDTH + 1;
  echo MAX_WIDTH;

  define("MAX_WIDTH", 981);
  echo MAX_WIDTH; */
//Type Juggling refers to PHP AUTOMATICALLY doing type casting (converting one type like integer to another type like string).  In general, you want to avoid casting strings to integers, but it's okay to cast integers to strings.
$count = "2 cats";
echo "\$count, which is '{$count}', is a " . gettype($count) . "<br>";
<?php

class Animal
{
    private $name;
    public function __construct($name)
    {
        $this->name = $name;
    }
    protected function say($what)
    {
        return $what;
    }
}
class Dog extends Animal
{
    public function bark()
    {
        echo $this->say('WOOF!');
    }
}
$dog = new Dog('Sparky');
$dog->bark();
Exemple #5
0
    public function run()
    {
        // TODO: Implement run() method.
    }
    public function eat()
    {
        // TODO: Implement eat() method.
    }
    public function sleep()
    {
        // TODO: Implement sleep() method.
    }
}
Dog::warning();
// scope resolution operator
Dog::fool("bar");
// late method binding
Dog::bark();
// -------------------
$dog = new Dog();
$dog->color = "Red";
// property binding
// echo $dog->color;
// $dog->warning();
$dog->dance("crazy", "foo", "bar", "moo");
$dog2 = new Dog();
$dog2->bark();
// Singaleton
$cat = new Cat("Shwe War");
$cat->name = "Shwe War";
echo $cat->name;