Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ддддддддддд

.docx
Скачиваний:
1
Добавлен:
14.10.2023
Размер:
47.46 Кб
Скачать

Студент Попов Владимир

Группа ис-353

Дата 22.03.2023

Практическая работа

Ответы на вопросы

Что такое PHP и для чего он используется?

распространённый язык программирования общего назначения с открытым исходным кодом.

Как объявить переменную в PHP?

Что бы объявить переменную, нужно использовать знак $

$name=”Voloda”

$age= 18;

Каковы основные различия между одинарными и двойными кавычками в PHP?

‘’ это обычная строка “” такая же строка но есть возможность использовать переменные

$name= ‘vova’ echo ‘меня зовут $name’

$name = “vova” echo “меня зовут “$name”

Какие типы данных поддерживает PHP?

String, integers, bool, array, objects, null, resources

Какие функции используются для работы с массивами в PHP?

Count() Возращает количество элементов в массиве

Array() Создает массив

Isset()Проверяет элемент массива установлен?

Unset()Удаляет элемент из массива

Sort()сортирует значения по возрастанию

Rsort() сортирует значение по убыванию

Какой оператор используется для проверки равенства и эквивалентности в PHP?

Для проверки используется “==”

$b= 18; $a=18; $b == $a

//будет true

Что такое обработка исключений и как она реализуется в PHP?

Механизм обрабатывающий ошибки и исключительные ситуации

В php используется try catch

Try{} catch(Exception $e){}

Какой оператор используется для объединения двух строк в PHP?

Для этого используют точки “.”

$string1 = “test1”;

$string2 = “test2”;

echo $string1 . $string2;

Что такое функция в PHP и как ее объявить?

Функция в php это блок кода который выполняет определенную задачу и может вызваться из других частей кода

Function greet($test) {

Echo “hello, “ . $test;

}

Как работает оператор switch в PHP и как его использовать?

Делает проверку равна ли переменная или выражение одному значению

$pets = “zoo”

Switch ($pets) {

Case “cat”: echo “zoo is cat”;

Break;

Case “dog”: echo “zoo is dog”;

Break;

}

Что такое ООП и какие преимущества оно предоставляет в PHP?

Ооп – объектно ориентированное программирование

С помощью ооп в php можно создавать более структурированный код

Что такое класс в PHP и как его объявить?

Класс в php это шаблон который будет использоваться для создания объектов часто используется new

$mytest = new testet();

Как создать объект класса в PHP?

Для создания объекта необходимо использовать ключевое слово new и передать его аргументы

$obj = new objs(“test”)

Что такое наследование в ООП и как оно реализуется в PHP?

Реализуется с помощью extends

Class cat extends Animal{

Public function meow(){

Echo “Meow”;

}

}

Что такое абстрактный класс и как его использовать в PHP?

Этот класс который не может быть создан в качестве объекта но может использоваться как абстрактные методы для реализации в производных классах

Abstract class Animal{

Protected $test;

Public function __construct($test){

$this->test = $test;

}

Abstract public function makeSound();

}

Что такое интерфейс в PHP и как его использовать?

Интерфейс это абстрактное определение методов, используется для определения общих методов

Interface Car{

Public function start();

Public function stop();

}

Как реализовать полиморфизм в PHP?

Позволяет создавать классы которые наследуют свойства методы от родительского класса

Class animal{

Public function makesound(){ }

}

Class cat extends animal{

Public function makesound(){

Return “ meow”;

}

}

Что такое конструктор и деструктор класса в PHP?

Методы которые автоматически вызываются при создании объектов в php , вызывается автоматически при создании объекта класса. Ключевое слово __construct()

Class test{

Public $tested1;

Public $tested2;

Public function __construct($t1, $t2){

$this->tested1 = $t1;

$this-> tested2 = $t2;

}

}

Какие виды доступа к свойствам и методам класса существуют в PHP?

Public будут доступны для любого контекста

Private свойства и методы только для определыннх задач

class StaticExample {

static public $aNum = 0;

static public function sayHello() {

print "Привет!";

}

}

Что такое интерфейс в PHP и для чего он используется?

Интерфейсы разделяют пространство имен с классами и трейтами поэтому они могут называться одинаково

Interface test{

Public function bv ($s);

}

Private $vars=[];

Как объявить интерфейс в PHP?

С использованием ключевого слова interface вместо class

class BadTemplate implements Template { private $vars = []; public function setVariable($name, $var) { $this->vars[$name] = $var; } }

Может ли интерфейс содержать реализацию методов в PHP?

Нет интерфейс, интерфейс только задает

Interface test{

Public function ds();

}

Какие виды методов могут быть объявлены в интерфейсе PHP?

Интерфейсы объявляются так же, как и обычные классы, но с использованием ключевого слова interface вместо class. Тела методов интерфейсов должны быть пустыми.

public function getHtml($template) { foreach($this->vars as $name => $value) { $template = str_replace('{' . $name . '}', $value, $template); } return $template; } }

Можно ли наследовать интерфейсы в PHP? Если да, то как это сделать?

Очевидно, что публичные методы, причем без реализации: сразу после заголовка (сигнатуры) метода следует закончить его точкой с запятой:

interface SomeInterface

{

public function foo();

public static function bar(Baz $baz);

}

Может ли класс реализовывать несколько интерфейсов в PHP?

Класс может реализовывать несколько интерфейсов, которые объявляют метод с одинаковым именем.

interface B extends A { public function baz(Baz $baz); }

Что произойдет, если класс не реализует все методы, объявленные в интерфейсе PHP?

Если класс не реализует все методы объявленные в интерфейсе то это приведет к фатальной ошибке

Что такое типизация интерфейсов в PHP и как она используется?

Для реализации интерфейса используется оператор implements. Класс должен реализовать все методы, описанные в интерфейсе, иначе произойдёт фатальная ошибка.

interface Usable { /* ... */ } interface Updatable { /* ... */ }

. Как использовать интерфейсы для обеспечения множественного наследования в PHP?

В чистом виде нет

Только trait

trait ezcReflectionReturnInfo {

function getReturnType() { /*1*/ }

function getReturnDescription() { /*2*/ }

}

Какие преимущества имеют интерфейсы в сравнении с абстрактными классами в PHP?

Он поддерживает наследование не содержиит data members

Не содержит конструктор

interface A {}

interface B {}

interface C {}

//A class can implements multiple interfaces

class Base implements A, B, C {}

31. Что такое абстрактный класс в PHP и для чего он используется?

Абстрактный класс представляет частичную реализацию для классов-наследников.

31. Что такое абстрактный класс в PHP и для чего он используется?

Абстрактный класс представляет частичную реализацию для классов-наследников.

32. Как объявить абстрактный класс в PHP?

Через параметр abstract

abstract class Messenger

{

abstract function send($message); // абстрактный метод

33. Может ли абстрактный класс содержать реализацию методов в PHP?

Да может.

34. Какие методы могут быть объявлены в абстрактном классе PHP?

Такие же абстрактные

35. Может ли класс наследовать несколько абстрактных классов в PHP?

Нет, только один. Либо использовать трейты

36. Может ли абстрактный класс быть наследником другого абстрактного класса в PHP?

Да может, так как последний просто расшириться

37. Какие методы абстрактного класса должны быть обязательно реализованы в его наследниках в PHP?

Все объявленные

38. Как использовать абстрактные классы для обеспечения множественного наследования в PHP?

Использовать трейты

39. Какие преимущества имеют абстрактные классы в сравнении с интерфейсами в PHP?

Их можно переопределять

40. Как использовать абстрактные классы для обеспечения безопасности кода в PHP?

Создавать их в отдельных файлах и вызывать от туда

41. Что такое трейт в PHP и для чего он используется?

Позволяет использовать множественное наследование

42. Как объявить трейт в PHP?

Объявить как класс

trait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } function getReturnDescription() { /*2*/ } }

43. Можно ли создавать объекты на основе трейта в PHP?

Только в классе использующий трейт

44. Каким образом трейты реализуют множественное наследование в PHP?

Позволяет повторно использовать набор методов

45. Можно ли наследовать трейт в PHP? Если да, то как это сделать?

Как обычный класс, только после определения

46. Какие ограничения накладываются на использование трейтов в PHP?

Нельзя создать экземпляр трейта

47. Как использовать трейты для добавления функциональности к классам в PHP?

Множественное наследование

В трейтах можно определять статические переменные, статические методы и статические свойства.

48. Можно ли переопределить метод, объявленный в трейте, в классе PHP?

Да, но при повторном испоьзовании трейта

49. Какие преимущества имеют трейты в сравнении с наследованием классов в PHP?

Семантика комбинации трейтов и классов определена таким образом, чтобы снизить уровень сложности, а также избежать типичных проблем, связанных с множественным наследованием и c т.н. mixins.

50. Как использовать трейты для реализации поведенческих паттернов в PHP?

Использовать статические методы

<?php trait StaticExample {     public static function doSomething() {         return 'Что-либо делаем';     } } class Example {     use StaticExample; } Example::doSomething();

51. Как объявить свойство класса в PHP?

Объявить класс -> и используя параметр доступа объявить свойство

class User { public int $id; public ?string $name; }

52. Можно ли задать значение свойства класса в момент его объявления?

Да, кроме readonly

53. Как получить значение свойства класса в PHP?

Вызвать свойство после объявления обращения к классу

54. Как изменить значение свойства класса в PHP?

Перегрузить класс, создать дубликат класса с другим значениме

55. Как проверить наличие свойства у экземпляра класса в PHP?

Использовать  instanceof

56. Можно ли объявить свойство класса как приватное или защищенное?

Только при модификации области видимости

57. Как объявить статическое свойство класса в PHP?

Доступны только через ::

class Foo { public static function aStaticMethod() { // ... }

58. Можно ли получить доступ к статическому свойству класса без создания экземпляра класса?

Доступ к статическим свойствам осуществляется с помощью оператора разрешения области видимости (::), и к ним нельзя получить доступ через оператор объекта (->).

59. Что такое геттеры и сеттеры свойств класса в PHP и как их использовать?

Методы позволяющие изменять приватные свойства

60. Можно ли изменять свойства объекта класса в конструкторе?

Только с модификатором public

61. Как объявить метод класса в PHP?

Как функцию

class User

{

private $age;

public function getAge()

{

return $this->age;

}

}

62. Можно ли вызвать метод класса без создания экземпляра класса?

Только если обращаться напрямую к классу через ::