Easy to setup, easy to use. Skeleton application
Bluz works with PHP 7.0 or later and MySQL 5.4 or later (please check requirements)
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
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
For install you need any web-server (for Windows) and PhpStorm. dows) и PhpStorm.
Create project in PhpStorm:
- File -> New project;
- Set the project name and location;
- In a Project type field choose Composer project;
- 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.
- After that file composer.phar and all dependencies will be loaded.
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
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
You can run internal PHP web-server with simple console tool:
/path/to/vendor/bin/bluzman server:start --host[="..."] --port[="..."]
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
You can create models, controllers and views with Bluzman console tool, or following old school style:
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 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 is native:
<h2><?=$user->login?></h2>
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/