ICanBoogie

A high-performance micro framework

Github星跟蹤圖

Release
Build Status
Code Quality
Code Coverage
Packagist

ICanBoogie is a high-performance micro-framework. It is written with speed, flexibility and
lightness in mind. ICanBoogie doesn't try to be an all-in-one do-it-all solution but provides the
essential features to quickly and easily build web applications. It is easily extensible, and a
variety of packages are available to complement its features with rendering, views, routing,
operations, internationalization, translation, ActiveRecord, facets, mailer

Together with Brickrouge and Patron,
ICanBoogie is one of the components that make the CMS Icybee. You might want
to check these projects too.

What does micro mean?

"Micro" means that the core features of ICanBoogie are kept to the essential, the core is simple
but greatly extensible. For instance, ICanBoogie won't force an ORM on you, although its
ActiveRecord implementation is pretty nice. In the
same fashion, its routing mechanisms are quite agnostic and let you use your very own
dispatcher if you want to.

Configuration and conventions

ICanBoogie and its components are usually very configurable and come with sensible defaults and a
few conventions. Configurations are usually located in "config" folders, while locale messages are
usually located in "locale" folders. Components configure themselves thanks to ICanBoogie's
Autoconfig feature, and won't require much of you other than a line in your
composer.json file.

Acknowledgement

MooTools, Ruby on Rails,
Yii, and of course Bacara.

Summary

Routes

The package provides a controller for the /api/ping route, which may be used to renew a session,
if one existed in the first place. When the timer query parameter is present, the controller
gives timing information as well.

<?php

use ICanBoogie\HTTP\Request;

$request = Request::from('/api/ping?timer');

echo $request()->body;
// pong, in 4.875 ms (ready in 3.172 ms)

Helpers

The following helper functions are defined:

  • app(): Returns the Application instance, or throws ApplicationNotInstantiated if it has
    not been instantiated yet.
  • boot(): Instantiates a Application instance with the autoconfig and boots it.
  • log(): Logs a debug message.
  • log_success(): Logs a success message.
  • log_error(): Logs an error message.
  • log_info(): Logs an info message.
  • log_time(): Logs a debug message associated with a timing information.

Requirements

The minimum requirement is PHP 5.6.

Installation

The recommended way to install this package is through Composer:

$ composer require icanboogie/icanboogie

Don't forget to modify the script section of your "composer.json" file if you want to benefit
from the autoconfig feature:

{
	"scripts": {
		"post-autoload-dump": "ICanBoogie\\Autoconfig\\Hooks::on_autoload_dump"
	}
}

The following packages are required, you might want to check them out:

The following packages can also be installed for additional features:

The following bindings are available to help in integrating components:

Cloning the repository

The package is available on GitHub, its repository can be
cloned with the following command line:

$ git clone https://github.com/ICanBoogie/ICanBoogie.git

Documentation

The documentation for the package and its dependencies can be generated with the make doc
command. The documentation is generated in the docs directory using ApiGen.
The package directory can later by cleaned with the make clean command.

The documentation for the complete framework is also available online: https://icanboogie.org/docs/

Testing

The test suite is ran with the make test command. Composer is
automatically installed as well as all dependencies required to run the suite. You can later
clean the directory with the make clean command.

The package is continuously tested by Travis CI.

Build Status
Code Coverage

License

ICanBoogie is licensed under the New BSD License - See the LICENSE file for details.

主要指標

概覽
名稱與所有者ICanBoogie/ICanBoogie
主編程語言PHP
編程語言Makefile (語言數: 3)
平台
許可證Other
所有者活动
創建於2011-09-08 18:28:14
推送於2025-01-13 09:12:40
最后一次提交
發布數12
最新版本名稱v5.0.0 (發布於 )
第一版名稱v2.0.1 (發布於 )
用户参与
星數29
關注者數1
派生數3
提交數489
已啟用問題?
問題數12
打開的問題數4
拉請求數1
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?