На первый взгляд, да, вы можете сделать это. Тем не менее, функция one()
в классе A
должна быть объявлена как static
, чтобы ваша нотация вызовов работала. (Это делает метод класса .)
Другой вариант, предложенный последними строками в вашем коде, заключается в том, чтобы экземпляр $b
вызывал функцию в экземпляре $a
. Такие функции называются методами экземпляра и являются тем, как вы обычно взаимодействуете с объектом. Чтобы получить доступ к этим методам, они должны быть объявлены как public
. Методы, объявленные как private
, могут вызываться только другими методами внутри этого класса.
Есть несколько способов вызвать метод экземпляра в вашем коде. Это два очевидных факта, которые вы можете передать в $a
в качестве параметра функции, или вы можете создать экземпляр класса A
внутри вашего метода.
Чего вы на самом деле пытаетесь достичь?