ООП PHP не работает класс?
1. Включите вывод всех ошибок и тогда интерпретатор сам вам будет говорить, почему не работает.
2. Вы объявляете свойства устаревшим способом. Очень-очень устаревшем (еще в 4 версии атк делали). Надо так:public $firstname;
public $lastname;
3. В конструкторе у вас неправильно обращение к переменным. Уберите второй знак доллара:public function __construct($firstname, $lastname) {
    $this->firstname = $firstname;
    $this->lastname = $lastname;
  }
Должно получиться вот так:<?php
class Info {
    public $firstname;
    public $lastname;

    public function __construct($firstname, $lastname) {
        $this->firstname = $firstname;
        $this->lastname = $lastname;
    }

    public function GetInfo() {
        $n = $this->firstname.' '.$this->lastname;
        return $n;
    }
}

$a = new Info('Ivan', 'Pupkin');
echo $a->GetInfo();
И вам надо сменить учебник, по которому вы это делаете. Он очень устарел и больше вреден, чем полезен.
Должно быть так: $this->firstname = $firstname;
$this->lastname = $lastname;