Yaravel — это небольшая, но надежная платформа PHP MVC, которую можно использовать как для рендеринга HTML, так и в качестве API. Он имеет систему запросов и маршрутизации, механизм представления с поддержкой таблиц стилей и JavaScript, а также ORM под названием Helloquent для связи с базой данных. Yaravel спроектирован так, чтобы быть быстрым, эффективным и гибким, что делает его идеальным выбором для разработчиков, желающих создавать веб-приложения с помощью PHP.
Tweeter — это приложение, похожее на Twitter, созданное с использованием ранней версии этой платформы. Оно позволяет пользователям публиковать короткие сообщения, известные как «твиты», и взаимодействовать с другими посредством лайков и проверки их твитов. В приложении в режиме реального времени отображаются последние твиты пользователей.
(проверьте это в прямом эфире или в репозитории этого приложения)
Маршруты вашего приложения можно зарегистрировать в папке «/routes» . Маршруты API должны быть помещены в файл «api.php» , а веб-страницы — в файл «web.php» .
Чтобы зарегистрировать веб-маршрут, используйте функцию addRoute объекта маршрутизатора. Функция принимает следующие параметры:
// $router->addRoute(path, controller path, action);
$ router -> addRoute ( " / " , DefaultController::class, " viewDefault " );
Для получения дополнительной информации обратитесь к примерам в «/routes/web.php» .
Чтобы зарегистрировать маршрут API, используйте функцию API на объекте маршрутизатора. Функция принимает следующие параметры:
// $router->addRoute(path, controller path, method);
$ router -> api ( " / " , DefaultController::class);
$ router -> api ( " / " , DefaultController::class, " post " );
Для получения дополнительной информации обратитесь к примерам в «/routes/api.php» .
Объект $this->request включен в контроллеры и является экземпляром класса HttpRequest . Он хранит все данные из запроса. Объект имеет несколько свойств, в том числе:
Класс HttpResponse используется для ответа на вызовы API. У него есть статическая функция response, которая имеет два параметра:
MVC (Model-View-Controller) — это шаблон проектирования программного обеспечения, который разделяет приложение на три основных компонента.
Компонент «Модель» в структуре отвечает за обработку данных и бизнес-логику, а также за взаимодействие с базой данных. Это делается с помощью Helloquent, инструмента ORM, специально созданного для этой платформы. Более подробную информацию можно найти в документации Helloquent по этой ссылке https://github.com/you97ssef/Helloquent.
Модели должны храниться в каталоге /app/Models
и расширять класс Model
(как показано в коде классом Person
).
Компонент View содержит функции, которые возвращают HTML, смешанный с данными, для отображения пользователю. Используемые данные могут передаваться из контроллера, и к ним можно получить доступ через атрибут $this->data
(массив). Представления должны храниться в каталоге /app/views
и должны расширять класс View
(как показано в коде классами DefaultView
или ErrorView
).
Пересмотренный текст: компонент «Контроллер» обрабатывает ввод пользователя и соответствующим образом обновляет модель и представление. Контроллеры должны храниться в каталоге /app/Controllers
и расширять класс Controller
. У него есть свойство $this->request
, содержащее данные входящего запроса. Чтобы ответить как веб-страница, необходимо определить представление и вызвать функцию render
этого представления, например $view->render("renderBody")
. Чтобы ответить на вызов API, следует использовать функцию respond
из класса HttpResponse
, например HttpResponse::respond($data)
. См. пример DefaultController
.
Приложение начинается с файла index.php. Сначала формируется запрос, после чего следует регистрация CSS и JS. Затем инициализируются конфигурация приложения и конфигурация базы данных, а затем настраивается маршрутизатор. Наконец, приложение запускается путем вызова $router->run();
(дополнительную информацию см. в файле index.php)
Эта платформа лицензируется по лицензии MIT, которая представляет собой разрешительную лицензию с открытым исходным кодом, которая позволяет использовать, модифицировать и распространять программное обеспечение. Лицензия MIT обеспечивает высокую степень гибкости использования программного обеспечения и включает минимальный набор ограничений.