Для облегчения ряда рутинных операция была создана (пока ещё весьма примитивная) консольная утилита
bors. Работает только под Linux. Находится в каталоге
bors-ext/cli. Для нормальной работы нужно или поместить этот каталог в
$PATH, или написать в таком каталоге враппер
bors вида:
code php
#!/usr/bin/php
<?php
require $_SERVER['HOME'].'/.config/bors/config.php';
require BORS_EXT.'/cli/bors.php';
где в
~/.config/bors/config.php (или ином месте) определить положение ядра фреймворка:
code php
<?php
define('BORS_CORE', '/var/www/bors-test/bors-core');
Что сейчас умеет утилита:
bors run any-script.php
Запуск любого скрипта с предварительно инициированным фреймворком. Полезно для быстрых тестов, чтобы не вспоминать, где что лежит и не писать require с длинными путями.
bors dev class.php
Инициировать фреймворк и выполнить метод
static function __dev() { ... } для файла класса. Полезно для отладки.
bors test class.php
Выполнить юнит-тестрование класса. Работает через систему PHPUnit. Соответственно, таковая должна быть установлена и настроена. При тесте формируется тестовое окружение и вызывается метод
function __unit_test($suite) { ... }
с набором юнит-тестов. Например:
code php
static function __unit_test($suite)
{
$property = new bors_property(NULL);
$suite->assertNull($property->val());
$suite->assertEquals('abc', $property->set('abc')->val());
$suite->assertEquals('abc', $property->val());
}
bors tab2php DATABASE.table
Сгенерировать php-класс модели по заданной таблице. Файл получится достаточно абстрактный, но, главное, список полей и их типов там будет.
В разработке:
bors bench class.php — проведение бенчмарка. Необходимость не ясна, так как в настоящее время эта функция фактически дублирует функцию
devbors class class_name action — модифицация модели (добавление/удаление полей, их типы и т.п.)