Когда вы объявляете класс, вам нужно перечислить все переменные и все функции, которые должен иметь объект? На рисунке 1 показана структура класса. Обратите внимание, что переменные можно объявлять только в фигурных скобках. ({}) Или функция. На рис. 2 показано, как определить три свойства и два метода в классе.
Имя расширяет другой класс.
{
Объявление переменной доступа
Объявление функции доступа
}
имя = $имя;
$this->пароль = $пароль;
$this->lastLogin = время();
$this->доступ++;
}
// Получаем время последнего посещения
функция getLastLogin()
{
return(date("M d Y", $this->lastLogin));
}
}
//Создаем экземпляр объекта
$user = new User("Leon", "sdf123");
//Получаем время последнего посещения
print($user->getLastLogin() ."n");
//Распечатываем имя пользователя
print("$user->namen");
?>
Когда вы объявляете свойство, вам не нужно указывать тип данных. Переменная может быть целым числом, строкой или другим объектом, в зависимости от ситуации. При объявлении свойств рекомендуется добавлять комментарии, отмечая их. значение свойства и типы данных.
Когда вы объявляете метод, вы делаете то же самое, что и определение функции вне класса. вне класса, они не будут конфликтовать. Например, класс может определить метод с именем date(), но вы не можете назвать метод ключевым словом PHP, например, for или while
. date() в подсказке типа PHP. Подсказка типа — это имя другого класса, которое передается в качестве аргумента методу. Если ваш скрипт вызывает метод и передает переменную, которая не является экземпляром класса, PHP сгенерирует ". фатальная ошибка». Возможно, вы не передали его другим типам, которые дают подсказки типов, такие как целые числа, строки или логические значения. На момент написания статьи было спорно, должны ли подсказки типов включать типы массивов.
Подсказки по типам — это ярлык для проверки типа данных параметров функции или экземпляров операторов. Вы всегда можете вернуть этот метод. Убедитесь, что параметр имеет тип данных, например целое число. Рисунок 3. Убедитесь, что скомпилированный класс выдает только результат. Пример виджетов
<?php
//компонент
классВиджет
{
общественное $name = 'нет';
общественный $created=FALSE;
}
// Ассемблер
классАссемблер
{
публичная функция make (виджет $w)
{
print("Создание $w->namen");
$w->создано=ИСТИНА;
}
}
//Создаем объект компонента
$thing = новый виджет;
$thing->name = 'Гаджет';
//Компонент сборки;
Ассемблер::make($thing);
?>
Помимо переменных, передаваемых в параметрах, методы содержат специальную переменную. Она представляет отдельный экземпляр класса. Ее следует использовать для указания свойств объекта и других методов. Предположим, что локальному атрибуту передается неполная переменная, но в PHP любая переменная метода находится только в пределах определенной области действия метода. Обратите внимание на использование этой переменной в конструкторе класса User на рисунке 2.
PHP определяет квалификатор доступа перед объявлением свойств и методов, например общедоступных, частных и защищенных. Кроме того, вы можете пометить член как «статический». Вы также можете объявить константы в классе, которые будут обсуждаться позже. в этой главе соответствующие обсуждения.
Вы можете перечислить несколько свойств с одним и тем же методом доступа в одной строке, разделяя их запятыми. На рис. 2 класс User имеет два частных свойства — $password и $lastLogin.