I would like to share my own bike.

The key to success in any profession in our time is the maximum optimization of the production process. But there are things that have become standard in a certain area. Working with them requires long study and long practice. One of these weaknesses in web development is the database. Maintenance and administration introduces a huge overhead in the meantime in the vast majority of projects database functionality remains unclaimed. How attractive to combine the simplicity of working with files, flexibility and functionality of relational databases. How do you want to reduce the creation of a backup copy of the database to a simple copy of a single file.
')
At the time of installation of the site time for it freezes. Most sites will never upgrade. A software update becomes a non-trivial matter, which is easier to postpone every time than to launch an update and spend a week searching for update errors and explaining to the customer the causes of downtime. If the kernel code or part of the files were modified during the operation, the update becomes impossible.
The ease of installation, maintenance and updating of the site has become the task of our further development. Make the process of launching a website simple even for a person who knows nothing about databases, connection ports and access passwords. Reduce the update to copying a single file and creating a backup before pressing the copy and paste buttons.
To solve the problem, two solutions were perfect. As the data storage was selected DB sqlite. This database combines maximum ease of operation and all the advantages of a full-fledged database.
It was possible to simplify the work with the portal system files by packing the base system of the cs in php phar archim. Deploying the site at the same time reduced to copying one file to the project directory. Updating the entire portal system has been reduced to replacing one single file with an updated version of the cis.
Since sqlite does not require authorization, no configuration file is required. Together with these two files, we need a directory where all downloaded images of the site are stored as well as an .htaccess file that shows the web server where to start downloading.
It all came down to four files in the project folder. One file where the files will be stored, one file of the central locking system, a .htaccess file and directories with full access to download files.
When you first log in, the system will ask you to enter the administrator login and password. The person who entered the password becomes the administrator and gets access to all sections of the admin system.
Creating pages comes down to choosing an address for from. Entering the address of the newly created page, the administrator will be asked to create a new page with one click. After creating it, to edit it, just click on the pencil in the upper right part of the page to edit it.
The file system is made after the unionFS file system in which the system considers several levels to be the file system at once. The first priority is the level of the project file system. A file placed in the general directory whose path coincides with the system one will be more priority than that contained in the phar archive. To change the operation of any file, it is enough to spread its modified copy along the same path as in the phar archive. At the same time, he starts to work immediately. Similarly, your own templates are added to the site, your own models and even the main core file for change is enough to place index.php in the project directory next to index.phar
This solution can be called the easiest installation of the file system of all existing ones. To do this, simply upload three files to the hosting directory.
Index.phar - cms
.htdb - bd file (full access)
.htaccess - redirect file to engine executable file
/ include / images Directory for uploaded files (full access)
Something like this should look like a file system.
Address on github -
github.com/mpak2/mpak.suLog in to the admin panel here
http://phar.mpak.su/admin user / password admin / admin
Unfortunately, the commentary does not manage to voice all the topics of interest. Contacts for communication can be found in the above link.