Skip to content

Commit aea24b7

Browse files
committed
Add Application and other stubs
1 parent 5f56b6f commit aea24b7

File tree

5 files changed

+621
-0
lines changed

5 files changed

+621
-0
lines changed
Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
<?php
2+
3+
namespace Bitrix\Main;
4+
5+
use Bitrix\Main\Data;
6+
use Bitrix\Main\Diag;
7+
8+
/**
9+
* Application - абстрактный класс для любых приложений. Любой конкретный класс приложения является наследником этого абстрактного класса.
10+
11+
* Приложение является базовой точкой входа (маршрутизатором) для обращения к глобальным сущностям ядра: соединение с источниками данных, управляемый кеш и т.п. Также приложение содержит глобальные данные, которые относятся к самому сайту и не зависят от конкретного хита. То есть, приложение является неизменяемой частью, не зависящей от конкретного хита.
12+
*
13+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/index.php
14+
*/
15+
abstract class Application
16+
{
17+
/**
18+
* Статический метод возвращает текущий экземпляр приложения.
19+
*
20+
* @return Application
21+
* @throws SystemException
22+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getinstance.php
23+
*/
24+
public static function getInstance(): Application
25+
{
26+
return new static();
27+
}
28+
29+
/**
30+
* Нестатичный метод производит первичную инициализацию ядра.
31+
*
32+
* @return void
33+
* @throws SystemException
34+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/initializebasickernel.php
35+
*/
36+
public function initializeBasicKernel(): void
37+
{ }
38+
39+
/**
40+
* Нестатический метод производит полную инициализацию ядра. Метод следует вызывать после метода initializeBasicKernel.
41+
*
42+
* @param array $params Параметры текущего запроса (в зависимости от типа приложения).
43+
* @return void
44+
* @throws SystemException
45+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/initializeextendedkernel.php
46+
*/
47+
public function initializeExtendedKernel(array $params): void
48+
{ }
49+
50+
/**
51+
* Undocumented function
52+
*
53+
* @return Dispatcher
54+
*/
55+
final public function getDispatcher(): Dispatcher
56+
{
57+
return new Dispatcher;
58+
}
59+
60+
/**
61+
* Initializes context of the current request.
62+
* Should be implemented in subclass.
63+
*/
64+
abstract protected function initializeContext(array $params);
65+
66+
/**
67+
* Нестатический метод запускает выполнение запроса. Вызывается после методов инициализации.
68+
* Следует реализовывать как подкласс.
69+
*
70+
* @return void
71+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/start.php
72+
*/
73+
abstract public function start(): void;
74+
75+
/**
76+
* Runs controller and its action and sends response to the output.
77+
*
78+
* It's a stub method and we can't mark it as abstract because there is compatibility.
79+
*
80+
* @return void
81+
*/
82+
public function run(): void
83+
{ }
84+
85+
/**
86+
* Ends work of application.
87+
* Sends response and then terminates execution.
88+
* If there is no $response the method will use Context::$response.
89+
*
90+
* @param integer $status
91+
* @param Response|null $response
92+
*
93+
* @return void
94+
* @throws SystemException
95+
*/
96+
public function end(int $status = 0, ?Response $response = null): void
97+
{ }
98+
99+
100+
/**
101+
* Terminates application by invoking exit().
102+
* It's the right way to finish application @see \CMain::finalActions().
103+
*
104+
* @param integer $status
105+
* @return void
106+
*/
107+
public function terminate(int $status = 0)
108+
{ }
109+
110+
/**
111+
* Undocumented function
112+
*
113+
* @return mixed
114+
*/
115+
public function createExceptionHandlerLog()
116+
{ }
117+
118+
/**
119+
* Undocumented function
120+
*
121+
* @return Diag\ExceptionHandlerOutput
122+
*/
123+
public function createExceptionHandlerOutput(): Diag\ExceptionHandlerOutput
124+
{
125+
return new Diag\ExceptionHandlerOutput();
126+
}
127+
128+
/**
129+
* Undocumented function
130+
*
131+
* @return \Bitrix\Main\Diag\ExceptionHandler
132+
*/
133+
public function getExceptionHandler(): \Bitrix\Main\Diag\ExceptionHandler
134+
{
135+
return new \Bitrix\Main\Diag\ExceptionHandler();
136+
}
137+
138+
/**
139+
* Нестатический метод возвращает объект пула соединений базы данных.
140+
*
141+
* @return Data\ConnectionPool
142+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getconnectionpool.php
143+
*/
144+
public function getConnectionPool(): Data\ConnectionPool
145+
{
146+
return new Data\ConnectionPool();
147+
}
148+
149+
/**
150+
* Нестатический метод возвращает содержание текущего соединения.
151+
*
152+
* @return Context
153+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getcontext.php
154+
*/
155+
public function getContext(): Context
156+
{
157+
return new Context();
158+
}
159+
160+
/**
161+
* Нестатический метод изменяет содержание текущего запроса.
162+
*
163+
* @param Context $context
164+
* @return void
165+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/setcontext.php
166+
*/
167+
public function setContext(Context $context): void
168+
{ }
169+
170+
/**
171+
* Статический метод возвращает соединение с базой данных указанного имени.
172+
* Если параметр name - пустой, то возвращается соединение по умолчанию.
173+
*
174+
* @param string $name Название соединения. Если пустое - то соединение по умолчанию.
175+
* @return DB\Connection
176+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getconnection.php
177+
*/
178+
public static function getConnection(string $name = ''): DB\Connection
179+
{
180+
return new DB\Connection();
181+
}
182+
183+
/**
184+
* Возвращает новый экземпляр объекта кеша. Нестатический метод.
185+
*
186+
* @return Data\Cache
187+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getcache.php
188+
*/
189+
public function getCache(): Data\Cache
190+
{
191+
return Data\Cache::createInstance();
192+
}
193+
194+
/**
195+
* Нестатический метод возвращает объект управляемого кеша.
196+
*
197+
* @return Data\ManagedCache
198+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getmanagedcache.php
199+
*/
200+
public function getManagedCache(): Data\ManagedCache
201+
{
202+
return new Data\ManagedCache();
203+
}
204+
205+
/**
206+
* Нестатический метод возвращает объект тегированного кеша.
207+
*
208+
* @return Data\TaggedCache
209+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/gettaggedcache.php
210+
*/
211+
public function getTaggedCache(): Data\TaggedCache
212+
{
213+
return new Data\TaggedCache();
214+
}
215+
216+
/**
217+
* Returns UF manager.
218+
*
219+
* @return \CUserTypeManager
220+
*/
221+
public static function getUserTypeManager(): \CUserTypeManager
222+
{
223+
return new \CUserTypeManager();
224+
}
225+
226+
/**
227+
* Статический метод вернёт true если сервер работает в utf-8. И вернёт false в противном случае.
228+
*
229+
* @return boolean
230+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/isutfmode.php
231+
*/
232+
public static function isUtfMode(): bool
233+
{
234+
return false;
235+
}
236+
237+
/**
238+
* Статический метод возвращает document root сервера.
239+
* Обратите внимание: вместо $_SERVER["DOCUMENT_ROOT"] сейчас можно использовать Bitrix\Main\Application::getDocumentRoot().
240+
*
241+
* @return null|string
242+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getdocumentroot.php
243+
*/
244+
public static function getDocumentRoot(): ?string
245+
{
246+
return '';
247+
}
248+
249+
/**
250+
* Статический метод возвращает путь к персональной директории (относительно document root).
251+
*
252+
* @return null|string
253+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/getpersonalroot.php
254+
*/
255+
public static function getPersonalRoot(): ?string
256+
{
257+
return '';
258+
}
259+
260+
/**
261+
* Статический метод производит перезапуск акселлератора.
262+
*
263+
* @return void
264+
* @link https://dev.1c-bitrix.ru/api_d7/bitrix/main/application/resetaccelerator.php
265+
*/
266+
public static function resetAccelerator(): void
267+
{ }
268+
}

0 commit comments

Comments
 (0)