Вроде такого:
class MyClass
{
// здесь объявляю метод
static public function myFunc();
}
// здесь определяю метод
MyClass::myFunc()
{
echo 'test';
}
Цель, которую я хотел бы достичь - отделить блоки определения методов от блока определения класса. Хотел бы видеть вместо такой картины:
class MyClass
{
protected function myFunc()
{
echo 'test';
}
protected function myFunc2()
{
echo 'test2';
}
protected function myFunc3()
{
echo 'test3';
}
}
вот такую:
class MyClass
{
protected function myFunc();
protected function myFunc2();
protected function myFunc3();
}
MyClass::myFunc()
{
echo 'test';
}
MyClass::myFunc2()
{
echo 'test2';
}
MyClass::myFunc3()
{
echo 'test3';
}
Можете использовать либо абстракцию классов для подобного, либо интерфейсы. Класс реализующий интерфейс должен реализовать все его методы, иначе получите ошибку. Класс может не реализовывать все методы интерфейса только если он является абстрактным.
Абстракция:
abstract class MyAbstractClass
{
abstract static function myFunc();
}
class MyClass extends MyAbstractClass
{
protected function myFunc()
{
echo 'test';
}
}
Интерфейс:
interface MyInterfaceClass
{
protected function myFunc();
}
class MyClass implements MyInterfaceClass
{
protected function myFunc()
{
echo 'test';
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости