PHP5 also supports the definiation of object interfaces, which is a way to ensure that a given class provides a certain set of functions you can rely on elsewhere:

<?php
    class game {

        function move_next() {

            echo "next";
        }
        
        function move_prev() {

            echo "prev";
        }

    }

    interface price {

        function get_price();

    }

    class boardgame extends game implements price {
    
        function get_price() {

            return 22.95;
        }
    }

    $g = new boardgame;

    /* Can we rely on the 'price' interface? */
    if($g instanceof price) {
        echo "Price is: ".$g->get_price();
    }
?>