Skip to content

Commit 04027f7

Browse files
committed
Структура приложения. Зачем нужны папки vendor и app.
1 parent b7e0292 commit 04027f7

File tree

2 files changed

+21
-33
lines changed

2 files changed

+21
-33
lines changed

vendor/liw/App.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
/**
4+
* Class App
5+
*/
6+
class App
7+
{
8+
public function __construct()
9+
{
10+
echo 'Создался новый экземпляр приложения.';
11+
}
12+
}

web/index.php

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,12 @@
11
<?php
2+
/**
3+
* Это единая точка входа для нашего приложения.
4+
* На этот файл будут переадресованы все запросы нашего сайта.
5+
*/
26

3-
class Room
4-
{
5-
static private $count = 0;
6-
7-
/**
8-
* Это магический метод.
9-
* Он выполняется каждый раз в момент создания объекта.
10-
*/
11-
public function __construct()
12-
{
13-
self::$count += 1;
14-
echo 'Произошло создание объекта ' . self::$count . ' раз.<br>';
15-
}
16-
17-
/**
18-
* Это магический метод.
19-
* Он выполняется, когда к объекту обращаются, как к функции.
20-
*/
21-
public function __invoke()
22-
{
23-
echo 'обратились к объекту, как к функции - выполнился этот метод.';
24-
}
25-
}
26-
27-
// мы не производим никаких манипуляций с объектами, кроме их создания.
28-
// Тем не менее, метод __construct выполнится каждый раз при создании нового объекта.
29-
$obj1 = new Room();
30-
$obj2 = new Room();
31-
32-
// строчка ниже вызовет магический метод __invoke()
33-
$obj1();
34-
35-
7+
// Подключили файл, где хранится наш класс
8+
require __DIR__ . '/../vendor/liw/App.php';
369

10+
// создали новый экземпляр класса
11+
// (App сокращенно от Application, что означает "Приложение")
12+
$app = new App();

0 commit comments

Comments
 (0)