PHP dizeye dayalı üst sınıftan alt sınıfın işlevi çağırmadan

1 Cevap php

Nasıl böyle bir şey yapardı:

<?php
    class Controller
    {
    	var $ActionName;
    	var $PageParameters;

    	function InvokeAction()
    	{
    		$actionFunctionName = ucfirst($this->ActionName);

    		// Call a function named $actionFunctionName
                // where $actionFunctionName is in a subclass
    	}

    }
?>

Bir bonus olarak, bu işlev ilk olup olmadığını tuzak istiyorum.

1 Cevap

if (method_exists($this, $actionFunctionName))
{
    $this->$actionFunctionName();
}

böyle yapmalı