clearbricks /

Filename Size Date modified Message
bin
common
dblayer
dbschema
debian
diff
ext
filemanager
html.filter
html.validator
image
mail
mail.convert
mail.mime
net
net.http
net.http.feed
net.nntp
net.xmlrpc
pager
rest
session.db
template
tests/unit
text.wiki2xhtml
url.handler
xmlsql
zip
298 B
420 B
12.0 KB
775 B
143 B
276 B
18.1 KB
1.0 KB
3.6 KB
6.5 KB
613 B
13.1 KB

Clearbricks

What is this?

No, Clearbricks is not yet another framework. Clearbricks is not cool at all and does not even have a nice website. It won't make you smart neither have great ideas for you.

Clearbricks is only about code and efficiency, consider it as a toolbox. And please, do me a favor, don't call it a framework :-)

How do I use it?

Clearbricks is about "using what we need when we need it". Pick the module(s) you need and add it to your code. The only thing you'll always need is the "common" directory.

Once you're ready, you have to create a _common.php file on top of your Clearbricks path (or wherever you want) and add $__autoload entries for your modules.

Take a look at the _common.php file.

Of course, you're encouraged to use the $__autoload magic for your own classes.

Requirements

In order to use Clearbricks you need:

  • PHP 5.3 with the following modules:
  • mbstring
  • iconv
  • simplexml

Use it with Mercurial

You may think that all this subdirectories is a mess. You're quite right. But one day, you'll find it cool to use Clearbricks modules in your mercurial repository as a subrepository. This day, you'll love me :-)

Here is an example of using Clearbricks and dbLayer in your own repository as an external property, using subrepositories documentation:

hg clone https://hg.clearbricks.org/hg path/to/clearbricks
echo 'path/to/clearbricks https://hg.clearbricks.org/hg' >> .hgsub

Save and push.

Then, you can create a _common.php file wich will contain:

<?php
require dirname(__FILE__).'/common/_main.php';
$__autoload['dbLayer'] = dirname(__FILE__).'/dblayer/dblayer.php';

You're done!

API documentation

A doxygen configuration file is provided to generate the Clearbricks API documentation which will be readable in doxygen folder:

doxygen .doxygen.conf

Tests

Clearbricks classes are tested using atoum (see doc). To run tests,

Clone this repository:

hg clone https://hg.clearbricks.org/hg path/to/clearbricks

Download the composer.phar executable or use the installer.

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

Update dependencies via composer:

composer.phar install

And now can run tests:

./bin/atoum

Add -ebpc option to enable path and branch coverage (this option requires xDebug 2.3+)

You can also get code coverage report (in coverage/html) for tests by runing:

./bin/atoum -c .atoum.coverage.php

License

Copyright Olivier Meunier & Association Dotclear

GPL-2.0-only

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.