<?php
class Manufacturer{
protected $_name;
public function setManufacturerName($name){
$this->_name = $name;
}
public function getManufacturerName(){
return $this->_name;
}
}
class Productt{
protected $_title;
protected $_category;
protected $_manufacturer;
public function __construct(){
$this->_manufacturer = new Manufacturer();
}
public function getCategory(){
return $this->_category;
}
public function getTitle(){
return $this->_title;
}
public function __clone(){
$this->_manufacturer = clone $this->_manufacturer;
}
public function setManufacturerName($name){
$this->_manufacturer->setManufacturerName($name);
}
public function getManufacturerName(){
return $this->_manufacturer->getManufacturerName();
}
}
class Order extends Productt{
protected $_price;
protected $_deliver;
public function __construct($title, $category, $price){
parent::__construct();
$this->_title = $title;
$this->_category = $category;
$this->_price = $price;
$this->doWeDeliver();
}
public function setTitle($title){
$this->_title = $title;
}
public function getPrice(){
return $this->_price;
}
public function getDeliver(){
return $this->_deliver;
}
protected function doWeDeliver(){
$this->_deliver = $this->_price > 30 ? "Yes" : "No" ;
}
public function displaySentence(){
echo "Product: ".$this->_title." Category: ".$this->_category." Prijs: ".$this->_price." Gratis bezorging: ".$this->_deliver;
}
}
$order = new Order("CD Brahms", "Media", "45");
$order->setManufacturerName("Producent A");
echo $order->getTitle()." is made by ". $order->getManufacturerName()."<br />"; // CD Brahms is made by Producent A
$order2 = clone $order;
$order2->setTitle("Second title");
$order2->setManufacturerName("Producent B");
echo $order2->getTitle()." is made by ". $order2->getManufacturerName()."<br />"; // Second title is made by Producent B
echo $order->getTitle()." is made by ". $order->getManufacturerName()."<br />"; // CD Brahms is made by Producent A
CD Brahms is made by Producent A<br />Second title is made by Producent B<br />CD Brahms is made by Producent A<br />
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/u7GEF on line 88
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/u7GEF on line 4
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/u7GEF on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/u7GEF on line 4
Process exited with code 255.