Skip to content

bluzphp/skeleton

Repository files navigation

Bluz, a lightweight PHP Framework

Easy to setup, easy to use. Skeleton application

Gitter

Achievements

PHP >= 7.3+

Latest Stable Version

Build Status

Scrutinizer Code Quality

Coverage Status

Total Downloads

License

Installation

Bluz works with PHP 7.0 or later and MySQL 5.4 or later (please check requirements)

I.a. From composer

Download composer.phar, it's easy:

curl -s https://getcomposer.org/installer | php

Run create-project command (replace %path% ;):

php composer.phar create-project bluzphp/skeleton %path% --stability=dev

I.b. From repository

Get Bluz skeleton source files from GitHub repository:

git clone git://github.com/bluzphp/skeleton.git %path%

Download composer.phar to the project folder:

cd %path%
curl -s https://getcomposer.org/installer | php

Install composer dependencies with the following command:

php composer.phar install

I.c. With PhpStorm

For install you need any web-server (for Windows) and PhpStorm. dows) и PhpStorm.

Create project in PhpStorm:

  1. File -> New project;
  2. Set the project name and location;
  3. In a Project type field choose Composer project;
  4. Check that radiobutton is set opposite "Download composer.phar from getcomposer.org", type in a search field "bluzphp/skeleton", select this package in Available packages window and click OK.
  5. After that file composer.phar and all dependencies will be loaded.

II. Configuration

Edit your configuration's files /path/to/application/configs/dev/*.php (configuration for development environment).

I think you need to change only db.php for first run

III. Setup database

To run the migrations, execute the command:

/path/to/vendor/bin/bluzman db:migrate

To fill database with data example, execute the command:

/path/to/vendor/bin/bluzman db:seed:run

IV.a. Run built-in web-server

You can run internal PHP web-server with simple console tool:

/path/to/vendor/bin/bluzman server:start --host[="..."] --port[="..."]

IV.b. Use Apache

Or create symlink to Apache document root (required FollowSymlinks option):

# for Linux
ln -s /path/to/public /path/to/web
# for Windows
mklink /D /path/to/web path/to/public

Usage

You can create models, controllers and views with Bluzman console tool, or following old school style:

Model

Model consists from two classes Table and Row:

<?php
namespace Application\Users;
class Table extends \Bluz\Db\Table
{
    protected $table = 'users';
    protected $primary = ['id'];
}
<?php
namespace Application\Users;
/**
 * @property integer $id
 * @property string $login
 */
class Row extends \Bluz\Db\Row {

}

Controller

Controller is file with anonymous function:

<?php
namespace Application;

/**
 * @privilege ViewProfile
 * @cache     5 minutes
 * @param     integer $id
 * @return    array
 */
return function($id) {
    return [
        'user' => Users\Table::findRow($id)
    ];
};

View

View is native:

<h2><?=$user->login?></h2>

Documentation

Demo

License

The project is developed by NIX PHP team and distributed under MIT LICENSE

NIX has OEM License of Redactor. Full text of Redactor License you can read at http://imperavi.com/redactor/license/

Vendors