hydephp/
develop
g4t.io

HydePHP v2

by Yannick Lyn Fatt

HydePHP v2.0 introduces significant improvements to the asset system, navigation API, and overall developer experience.

README from hydephp/develop Open on GitHub →

Test & Build Framework Tests (Matrix) Hyde Tests

Test Coverage Scrutinizer Code Quality Psalm Type Coverage

Latest Version on Packagist Total Downloads on Packagist License MIT

This repository holds the source code for the HydePHP core components. If you want to create a website with Hyde, check out the HydePHP/Hyde repository.

Projects in this monorepo

Upcoming Documentation API Documentation HTML Code Coverage This project is using Percy.io for visual regression testing.

HydePHP consists of a few core components, the development of which is done in this monorepo.

The code pushed here is automatically split into separate read-only repositories for each component. The two most important components are Hyde and Framework. We also use HydeFront for frontend assets.

The Hyde package is what the end-user sees and interacts with. When creating a new HydePHP site, this is done using the Hyde project. The package contains all the necessary files to run a HydePHP site and bootstraps the entire system.

The Framework package holds most of the logic of the Hyde framework. This is where all the data models, static site generators, HydeCLI commands, Blade views, and more, are stored. Having this in a package makes it much easier to version and update using Composer.

The HydeFront package contains stylesheets and scripts to help make HydePHP sites accessible and interactive. It also includes a pre-compiled TailwindCSS file containing all the styles needed for the built-in Blade templates.

Quick reference overview

Package Monorepo path Readonly repository Package location
Hyde Root directory* hydephp/hyde hyde/hyde
Framework packages/framework hydephp/framework hyde/framework
Realtime Compiler packages/realtime-compiler hydephp/realtime-compiler hyde/realtime-compiler
Testing packages/testing hydephp/testing hyde/testing
UI Kit packages/ui-kit hydephp/ui-kit hyde/ui-kit
HydeFront packages/hydefront hydephp/hydefront npm@hydefront

*The Hyde/Hyde project is stored in the monorepo root and works a bit differently from the others. Before pushing to the readonly repository, we apply persisted changes in the packages/hyde directory, then remove monorepo specific files.

How the monorepo works

Changes to HydePHP including some first-party packages are made here. Changes to the core Hyde and Framework packages are mirrored to the matching 1.x, 2.x, or master branch in their read-only repositories. Other first-party packages continue to be mirrored from master.

Releases

The versioning between the Framework and Hyde packages are linked together, meaning that if Hyde gets a major release, so must Framework, and vice versa. To make this easier, we also publish major and minor releases in the monorepo. Patch releases are not published in the monorepo, and are instead handled by the individual packages, as the changes therein are generally self-contained.

The release helper targets master by default. Pass the maintained version branch when preparing a release from another line, for example php hyde monorepo:release --base=2.x. Once the monorepo release pull request is merged, the matching branch is synchronized to the Hyde and Framework repositories before their releases are published.

Contributing

We welcome contributions to HydePHP. Please read our contributing guidelines to learn how you can help.

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News