Download the PHP package bmnd/core without Composer
On this page you can find all versions of the php package bmnd/core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package core
+TITLE: BMND
-
Быстрый старт
+BEGIN_SRC php
+END_SRC
- Маршрутизация
** Атрибут Route
+BEGIN_SRC php
[Route('/path/{param}', ['METHODS'], 'route.name', middlewares: [Middleware::class])]
+END_SRC
** Параметры пути /user/{id}
-
Dependency Injection ** Автоматическая инъекция
+BEGIN_SRC php
public function index(UserService $service, int $id) { // $service автоматически создастся return $service->find($id); }
+END_SRC
- Middleware
** Создание middleware
+BEGIN_SRC php
+END_SRC
** Использование
+BEGIN_SRC php
[Route('/admin', 'GET', 'admin', middlewares: [AuthMiddleware::class, AdminMiddleware::class])]
+END_SRC
- Request & Response
** Request методы
+BEGIN_SRC php
$request->getMethod() $request->getUri() $request->getQueryParams() // ?a=b $request->getParsedBody() // POST данные $request->getAttributes() // параметры пути $request->getCookieParams() $request->getServerParams()
+END_SRC
** Создание Response
+BEGIN_SRC php
return new Response('Content', 200, ['Content-Type' => 'text/html']);
+END_SRC
- Исключения
** Исключения в контроллерах
+BEGIN_SRC php
use BMND\Router\Error; class ErrorController {
[Error("App\Exception\TestException")] // отлов TestException
public function TestException(TestException $exception) { echo "TestException: " . $exception->getMessage(); }
[Error(404)] // Вызывается когда не найден маршрут
public function notFound()
{
return "Page not found";
}
[Error(500)] // Любые ошибки не отловленные отдельно
public function internalError(\Throwable $exception)
{
echo $exception->getMessage();
}
}
+END_SRC
- Расширенные примеры
** API контроллер
+BEGIN_SRC php
[Route('api', name: 'api.')]
class ApiController {
[Route('/users', 'GET', 'users.index')]
public function index(UserService $service) { return new Response($service->all()); }
[Route('/users/{id}', 'GET', 'users.show')]
public function show(int $id, UserService $service)
{
return new Response($service->find($id));
}
}
+END_SRC
** Middleware цепочка
+BEGIN_SRC php
[Route('/dashboard', 'GET', 'dashboard',
middlewares: [CorsMiddleware::class, AuthMiddleware::class, LogMiddleware::class]
)]
+END_SRC
- Пример проекта
+BEGIN_SRC bash
composer create-project bmnd/skeleton example
+END_SRC
Это создаст проект практически с полноцееным фреймворком, используя данный проект.
- Лицензия MIT License.