Вроде такого:
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';
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Возникла проблема вызова функции по хэндлеру onClick в ejs из get запросаФункция должна лежать на сервере ибо будут выполнятся операции с бд и т
Пытаюсь добавить словари с массив itemsElems:
есть скрипт который должен ограничивать строку по кол-во символов и в конце троеточие добавлять, но добавляет только троеточие