PHP Fatal error: Call to undefined function plugin_basename

plugin_basename is a WordPress function that gets your plugins file name by simply passing it the directory.

When you call $this->plugin_basename PHP is looking for a function plugin_basename defined within YOUR class. No function plugin_basename() in your class == PHP Fatal Error.

If you simply want to define a variable that contains the plugins file name do this:

var $plugin_filename = plugin_basename( __FILE__);