I need to have method to get something from a database, but I don't understand the difference between static and normal functions in PHP.
Example code
class Item {
    public static function getDetail($arg) {
        $detail = $this->findProductId($arg);   
        return $detail;
    }
    private function findProductId($id) {
        //find product_id in database where id = $arg
        //return detail of product
    }
}
and function outside of a class
function getDetail($arg) {
    $detail = findProductId($arg);
    return $detail;
}
If I use $item = Item::getDetail(15); and $item = getDetail(15); — they're the same.
- What is the difference between static and function outside of a class?
- If they are difference, How to use static function and function outside of a class? (I'd appreciate a really simple example.)
- What are the performance properties between static and function outside of a class? Which is better?
 
     
     
     
     
     
     
    