Как сделать правильно точку входа для в класс?

Рейтинг: 0Ответов: 2Опубликовано: 27.01.2015

Приходят данные $_POST, $_GET с параметром type, где type указывает на тип поиска. (поиск по статья, новостям). Для каждого типа поиска написан свой класс. Как будет красиво сделать точку входа для передачи объекта классам в зависимости от type?

Ответы

▲ 2

Не шутите с данными, которые к вам приходят извне.

$type = $_GET['type'];
switch($type) {
    case 'type1':
    $search = new Type1();
    break;
    case 'type2':
    $search = new Type2();
    break;
    default:
    $search = new TypeDefault();
}
▲ 1
$type = 'имя класса';

$search = new $type();

В вашем случае должно быть что-то такое: $type = trim($_GET['type']);
Для подгрузки классов воспользуйтесь автолоадером:

function __autoload($class_name) {include $class_name . '.php';}
$type = trim($_GET['type']);
$search = new $type();