PHP Flashcards

1
Q

Установка времени cookie, удаление cookie

A

setcookie(‘some_key’, ‘some_value’, time() + 60 * 60 * 24 * 365); // принято раскладывать на составляющие для удобства чтения.
setcookie(‘some_key’, ‘some_value’, time()); // установка времени окончания жизни “печеньки” в текущий момент и соответственно она удаляется.
unset($_COOKIE[‘some_key’]); // доп к предыдущей, для того, чтобы изменения действовали уже в текущем сценарии.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Магические константы пути к скрипту и папке, его содержащей

A

__FILE__
__DIR__

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Подняться на папку выше (относительные пути)

A

Та же нотация, что и в HTML:
‘../some_file.txt’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Доступ к свойствам и методам через их имена в переменных

A

$propname = ‘surname’;
$user->$propName;
$user->{$props[0]};
$user->{$methods[0]}(); // Если метод, то () снаружи
$user->{$props[‘prop1’]};
$user->{$prop->value};
$user->{getProp()};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Вызов метода сразу после создания объекта

A

(new City(‘Тихорецк’, 43234, 1874))->getInfo();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Как организовать цепочку вызовов методов объекта

A

$arr->add(1)->add(2)->push([3, 4])->getSum();
Нужно чтобы методы add() и push() возвращали ссылку на текущий объект:
return $this;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Вызов родительского конструктора

A

parent::__construct(#АРГУМЕНТЫ#);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Константы и переменные в интерфейсах

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

FrontController и PageController

A

Один входной файл для всех адресов - такой подход имеет название FrontController в противовес подходу, когда каждый адрес (на самом деле маршрут, но об этом чуть позже) фактически отображался на конкретный файл файловой системы. Такой подход называется PageController.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly