The PHP Skeleton App creates an object-oriented PHP MVC environment, tailored for rapid development. The environment makes use of the Slim PHP micro framework, Twig for templating, and Twitter Bootstrap 3 for the theme.
Out of the box, it provides the ability to set up and run a public-facing website, authenticate to the administrative side, and create users and groups. All of the baseline database tables are created on first run, along with the first "Universal Administrator".
Note: The PHP Skeleton App is currently under development and perpetually evolving.
This is my first go at publishing something extensive on GitHub. I'm far from perfect, and have been in somewhat of a bubble. Regardless, I have decided to get my feet wet so I can collect feedback from the community, and grow as a developer. So, your constructive criticism is encouraged. I'll do my best to learn from my mistakes and deliver the goods.
Thanks!
-Gor
-
Quick 5-minute installation
-
Simple configuration
-
Easy templating with custom views using Twig
-
Twitter Bootstrap 3.3.x
"Carousel" template included for the public website
"Dashboard" template included for the administrative interface
-
Site Module
The public site
-
Authenticate Module
With local authentication, out-of-the-box. Oauth schemes coming soon (e.g. Twitter, Google, Facebook, Github).
-
User Account Module
For user management, complete with a self-registration form and the ability to reset forgotten passwords.
-
Group Module
Assign users to groups for greater control over permissions
-
Dashboard Module
Default landing page for the administrative side
-
More coming soon...
These requirements are what I have found to be true. It's likely that I may have missed something along the way. If so, please let me know.
- So far, only tested on Linux Ubuntu 14.04 (trusty)
- Modules: alias, deflate, dir, env, headers, mime, php5, rewrite, setenvif
- Extensions: FileInfo, mysql, PDO, pdo_mysql, php5-curl, php5-json, php5-mcrypt
To check to see if you have all of the necessary components in place, you can run the "Environment Check" script:
http://YOUR_DOMAIN/webapp_installer/library/env.php
For example: /var/www/
Note: The web root directory must be completely empty.
git clone https://github.com/ghalusa/PHP-Skeleton-App.git /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/
php composer.phar install
composer install
(This can be changed back after the installation is finished.)
sudo chown -R www-data:www-data /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/
http://YOUR_DOMAIN/
You will need:
- A valid email address for the creation of the administrative account.
- The location, username, and password of a MySQL database.
At this point, you should have successfully spawned a complete "PHP Skeleton App". Dig in, and start adding your own "Modules"!
- PHP Skeleton App Documentation (coming soon)
- PHPDocs
- Until I get the documentation out there, you can look at the anatomy of any of the modules which are included and present by default.
- On deck: I'm going to develop a "Module Creator", which will spawn a bare-bones module at the click of a button, or via command line.
The PHP Skeleton App is created and maintained by Goran Halusa, a Web Architect, artist, musician, and chef.
Follow @goranhalusa on Twitter to receive the very latest news and updates about The PHP Skeleton App.
- PHP Weekly: Thanks for including The PHP Skeleton App in your weekly email!
The PHP Skeleton App is in active development, and test coverage is continually improving.
The PHP Skeleton App is released under the MIT public license.