PHP Classes

JackBooted PHP Framework: Web application framework using simplified MVC

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 191 All time: 8,583 This week: 38Up
Version License PHP version Categories
jackbooted-framework 12.0GNU General Publi...5.6PHP 5, Libraries
Description 

Author

This package is a Web application framework using simplified MVC approach.

The application scripts can be already HTML templates that call Web controllers, models or other framework components to generate parts of the Web page. So it is more a Model Controller approach.

The framework provides all sorts of components needed in Web applications like database access, ORM, cron task scheduling, forms processing, HTML page element generation, queueing with Beanstalk, security handling, time handling and other utilities.

Picture of Brett Dutton
  Performance   Level  
Innovation award
Innovation award
Nominee: 1x

 

Example

<?php
use \Jackbooted\Config\Cfg;
use \
Jackbooted\Html\JS;

require_once (
dirname ( __FILE__ ) . '/config.php' );
$pageTimer = new \Jackbooted\Time\Stopwatch ( "Page Load" );
?>
<html>
    <head>
        <title><?= Cfg::get ( 'desc' ) ?></title>
        <meta name="description" content="<?= Cfg::get( 'desc' ) ?>" />
        <meta name="keywords" content="<?= Cfg::get( 'desc' ) ?>" />
        <link type="text/css" rel="stylesheet" media="screen" href="style.css" />
        <?php /* <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" > */ ?>
<?php /* <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> */ ?>
<?= JS::libraryWithDependancies( JS::JQUERY ); ?>
</head>
    <body>
        <table width="100%" cellpadding="5" cellspacing="0" border="1">
            <tr>
                <td width="100%">
                    <table width="100%" cellpadding="0" cellspacing="0">
                        <tr>
                            <td nowrap="nowrap" valign="top" height="50" width="100">
                                <a href="?"><img alt="ONEDC Appliance Logo" src="<?= \App\Jack::logo (); ?>" border=0 height="90"/></a>
                            </td>
                            <td nowrap="nowrap" valign="top" align="left">
                                <h1>Jackbooted</h1>
                                <br/><br/>
                            </td>
                            <td nowrap="nowrap" valign="top" align="right" width="100%">
                                <?= \Jackbooted\Admin\FancyLogin::controller(); ?>
</td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td height="600px" width="100%">
                    <table width="100%" height="100%" cellpadding="5" cellspacing="0">
                        <tr>
                            <td nowrap="nowrap" valign="top">
                                <?= ( \Jackbooted\G::isLoggedIn () ) ? \Jackbooted\Util\MenuUtils::display () : '&nbsp;'; ?>
</td>
                            <td align="left" valign="top" width="100%">
                                <?= \Jackbooted\Html\WebPage::controller ( Cfg::get( 'def_display' ) ); ?>
</td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td width="100%">
                    <table width="100%" cellpadding="0" cellspacing="0">
                        <tr>
                            <td nowrap="nowrap" align="left"><?= Cfg::get( 'build_version' ) ?></td>
                            <td width="100%" align="center">
                                &copy; <?= date('Y') ?>.
                                Created by <a href="<?= Cfg::get( 'site_url' ) ?>"><?= Cfg::get( 'title' ) ?></a>
                                <?= Cfg::get ( 'copyright' ); ?>
</td>
                            <td nowrap="nowrap" align="right">
                                <?= $pageTimer->logLoadTime(); ?>
</td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
        <?php /* <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.min.js"></script> */ ?>
</body>
</html>


Details

Welcome to JackBooted PHP Framework

I have given up on MVC!

I needed a reboot on PHP development!

I needed something that was Jacked for Speed and reduced overhead!

I have done some projects using Laravel and I am not impressed. Oh yes, it is good framework. but OMG the overhead!

JackBooted is yet another framework. * It is PHP rebooted back to it's roots. * It is PHP Jacked in speed, and convenience without the massive overhead. * It is a single page app, or not. Up to you, or mix! * It is OO * It is all of the strength of Laravel without the overhead. * It is MC. So you have models and controllers (WebPage class) that generates HTML. There is a templating, but I rarely need it * It has Object Relational Mapping that makes sense. Use it or access the database directly * It has Helper objects for all common web development operations. * It has Protection from URL/Form Tampering. CSRF protection, Time based tampering. Everything that OWASP teaches us to fear. * It has an autoloader that makes sense. Implements Static initialisation that makes sense. (Called in Autoloader) * It has a CRUD that works with a single statement (CRUD::factory('tblName')->index()). Crud handles Pagination, Sorting * It does migrations. * It deploys easily to cPanel web hosting * It has built in scheduling * Built in User authentication and access levels, and WebPage Access control * Auto-generated Wordpress style configuration if you want it. (Config::get( $key, $default ) ) * It is easy to change and edit.

if you have any interest in this contact me jack@brettdutton.com

Installation

There is a file, scripts/deploy_maxOSX.sh, that will give you all the steps that you need to install the example application. Here are the main steps

WEB_DIR=/Library/WebServer/Documents
INSTALL_DIR=$WEB_DIR/jack
sudo git clone git@github.com:raxisau/JackBooted.git $INSTALL_DIR
sudo chown -R _www:_www $INSTALL_DIR
cd $INSTALL_DIR
sudo php ./jack.php DB:initialize
sudo php ./jack.php DB:migrate
sudo chmod -R a+w _private
sudo chmod -R g+w _private
php ./jack.php JACK:version

You will also need to make sure that you have your httpd.conf correctly set up.

Search for the line

DocumentRoot "/Library/WebServer/Documents"

Replace with

LoadModule php5_module libexec/apache2/libphp5.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
DocumentRoot "/Library/WebServer/Documents/jack"
<Directory "/Library/WebServer/Documents/jack">
    Options FollowSymLinks Multiviews
    MultiviewsMatch Any
    AllowOverride All
    Require all granted
</Directory>

example of the site here: http://www.brettdutton.com/jack/index.php u/p: jack@brettdutton.com/password


  Files folder image Files (619)  
File Role Description
Files folder imageapp (1 file, 4 directories)
Files folder imageimages (6 files)
Files folder imagejs (43 files, 1 directory)
Files folder imagescripts (5 files)
Files folder imagevendor (1 directory)
Files folder image_private (1 file)
Accessible without login Plain text file .htaccess Data Auxiliary data
Accessible without login Plain text file ajax.php Example Example script
Accessible without login Plain text file config.default.php Conf. Configuration script
Accessible without login Plain text file config.local.php Conf. Configuration script
Accessible without login Plain text file config.php Conf. Configuration script
Accessible without login Plain text file cron.php Example Example script
Accessible without login Image file favicon.ico Data Auxiliary data
Accessible without login Plain text file index.php Example Example script
Accessible without login Plain text file info.php Aux. Auxiliary script
Accessible without login Plain text file jack.php Example Example script
Accessible without login Plain text file maintenance.php Aux. Auxiliary script
Accessible without login Plain text file menu.php Example Example script
Accessible without login Plain text file README.md Data Auxiliary data
Accessible without login Plain text file router.php Example Example script
Accessible without login Plain text file style.css Data Auxiliary data
Accessible without login Plain text file styletest.php Example Example script
Accessible without login Plain text file superadmin.php Example Example script

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:191
This week:0
All time:8,583
This week:38Up