Можно ли в PHP автоматически вызвать класс?

Здравствуйте!

В процедурном программировании, можно создать функцию и сразу же её вызвать (даже с параметрами). Что-то вроде:

( function( $a, $b ) {
  print $a + $b;
})( 2, 4 );


Может ли класс автоматически вызвать сам себя, когда я подключаю файл с ним через:

include_once 'my_class.php';
  • Вопрос задан
  • 534 просмотра
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега PHP
Во-первых, это называется не процедурное, а функциональное программирование
Во-вторых, я снова очень сильно сомневаюсь, что это именно то что тебе нужно. В частности, "вызов класса" - это бессмыслица, вызываются методы, а не сами классы
В-третьих, по аналогии с функциональным программированием, это называется анонимный класс

(new class {
    public function log($msg)
    {
        echo $msg;
    }
})->log("hello");
Ответ написан
Возможно, Вы нечто подобное имели в виду. Смысл тот-же, что в примере FanatPHP, но синтаксис немного другой и используется конструктор:
( new class( "Hello" )
{
    public function __construct( $str )
    {
        echo( $str );
    }
});
// Можно без скобок :
new class( "Hello" )
{
    public function __construct( $str )
    {
        echo( $str );
    }
};
// Можно с переменной:
$cl = new class( "Hello" ){
    public function __construct( $str )
    {
        echo( $str );
    }
};
var_dump( $cl );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы