65 lines
2.0 KiB
Markdown
65 lines
2.0 KiB
Markdown

|
|
|
|
# Novaconium PHP: A PHP Framework Built from the Past
|
|
|
|
NovaconiumPHP is a high-performance PHP framework designed with inspiration from classic coding principles.
|
|
|
|
Pronounced: Noh-vah-koh-nee-um
|
|
|
|
* Packagist: https://packagist.org/packages/4lt/novaconium
|
|
* Master Repo: https://git.4lt.ca/4lt/novaconium
|
|
|
|
## Getting Started
|
|
|
|
Novaconium is designed to be developed primarily using Docker. Instead of relying on tools installed directly on your system, common development tasks are executed inside containers:
|
|
|
|
* Composer runs inside a Docker container rather than on your host machine
|
|
* Apache / PHP are served from containers instead of your local environment
|
|
* Sass compilation is also handled within a container
|
|
|
|
As long as you have Docker installed, you can use the full development environment without installing additional dependencies on your system.
|
|
|
|
You can [learn more about how novaconium works with composer](https://git.4lt.ca/4lt/novaconium/src/branch/master/docs/Composer.md).
|
|
|
|
```bash
|
|
PROJECTNAME=novaproject;
|
|
mkdir -p $PROJECTNAME/novaconium;
|
|
cd $PROJECTNAME;
|
|
|
|
docker run --rm --interactive --tty --volume ./novaconium/:/app composer:latest require 4lt/novaconium;
|
|
|
|
cp -R novaconium/vendor/4lt/novaconium/skeleton/. .;
|
|
|
|
# Edit .env
|
|
# pwgen -cnsB1v 12 root password
|
|
# pwgen -cnsB1v 12 mysql user password (need in both config and env)
|
|
# pwgen -cnsB1v 64 framework key (need in config)
|
|
# Edit novaconium/App/config.php
|
|
|
|
docker compose up -d
|
|
```
|
|
|
|
## Documentation
|
|
|
|
* [Novaconiumm Official Repo](https://git.4lt.ca/4lt/novaconium)
|
|
* [CORXN Apache and PHP Container for Novaconium](https://git.4lt.ca/4lt/CORXN)
|
|
|
|
|
|
### How it works
|
|
|
|
#### htaccess
|
|
|
|
htaccess ensures that all requests are sent to index.php
|
|
|
|
#### index.php
|
|
|
|
index.php does two things:
|
|
1. Allows you to turn on error reporting (off by default)
|
|
2. Loads the novaconium bootstrap file novaconium.php
|
|
|
|
#### novaconium.php
|
|
|
|
What happens here:
|
|
|
|
1. Autoload composer
|
|
1. Loads configurations |