Быстрый старт
Это руководство поможет вам быстро создать ваше первое приложение на Triangle Framework.
Установка
Создайте новый проект:
composer create-project triangle/web my-first-app
cd my-first-app
Запуск
Запустите приложение:
php master start
Приложение будет доступно по адресу http://localhost:88.
Создание первого контроллера
Создайте файл app/controller/Welcome.php:
<?php
namespace App\Controller;
use Triangle\Engine\Request;
use Triangle\View\View;
class Welcome
{
public function index(Request $request)
{
return View::render('welcome', [
'message' => 'Hello, Triangle!',
]);
}
}
Создание представления
Создайте файл app/view/welcome.phtml:
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1><?= htmlspecialchars($message) ?></h1>
</body>
</html>
Определение маршрута
Важно: Файл config/route.php — это не конфигурационный файл с return, а выполняемый PHP-код!
Обновите config/route.php:
<?php
// config/route.php
use Triangle\Router;
// Использование автоматической маршрутизации
// Контроллер Welcome доступен по адресу /welcome/index
// Или явно задать маршрут
Router::get('/', [\App\Controller\Welcome::class, 'index']);
Альтернатива: Closure-маршрут
Вы также можете использовать анонимные функции:
<?php
// config/route.php
use Triangle\Request;
use Triangle\Response;
use Triangle\Router;
Router::get('/', function (Request $request): Response {
return response('Hello, Triangle!');
});
Работа с базой данных
Настройка подключения
Обновите config/database.php (это конфигурационный файл с return):
<?php
// config/database.php
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'myapp',
'username' => 'root',
'password' => '',
],
],
];
Создание модели
Создайте app/model/User.php:
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = 'users';
}
Использование в контроллере
<?php
namespace App\Controller;
use App\Model\User;
use Triangle\Engine\Request;
class UserController
{
public function index()
{
$users = User::all();
return response()->json($users);
}
}
API-эндпоинт
Создайте простой API в config/route.php:
<?php
// config/route.php
use Triangle\Request;
use Triangle\Response;
use Triangle\Router;
Router::get('/api/users', function (Request $request): Response {
$users = User::all();
return response()->json($users);
});
Router::post('/api/users', function (Request $request): Response {
$user = User::create([
'name' => $request->input('name'),
'email' => $request->input('email'),
]);
return response()->json($user, 201);
});
Разница между конфигурационными файлами
Конфигурационные файлы (с return):
config/app.phpconfig/middleware.phpconfig/database.phpconfig/session.php- И другие...
Исполняемый код (без return):
config/route.php— здесь вызываются методыRouter::get(),Router::post()и т.д.
Следующие шаги
- Изучите документацию по архитектуре
- Ознакомьтесь с компонентами
- Изучите руководство по Web Framework