Skip to content
This repository was archived by the owner on Jan 16, 2019. It is now read-only.

Docs DirLayout

Frank Kleine edited this page Apr 7, 2012 · 1 revision

The directory layout of Stubbles

After installing Stubbles, you will see the following directories:

lib                    => contains the stubbles archive and other third party libraries
projects               => folder for different projects within installation
  common               => project to hold files used over all projects within installation
  dist                 => base for creating an own project
    cache              => Directory used for caching
    config
      config/php       => PHP based configuration files
      config/xml       => XML based configuration files
    docroot            => should contain any files that need to be accessed by the webserver
    log                => this is where the logfiles should go into
    pages
  examples             => contains example project that show how features of Stubbles could be used
src
  src/main
    src/main/php       => place application classes, organized in packages
    src/main/resources => other source files that contain no php (xml files for example)
  src/test
    src/test/php       => application test cases and test suites
    src/test/resources => other non-php files needed by the test cases
bootstrap.php          => Bootstrap code to load Stubbles

Below the src/main/php and src/test/php all classes are organized in packages. The package net::stubbles is reserved for stubbles classes and should not be used by user application classes.

If an application class MyExample is placed in src/main/php/org/example/MyExample.php it can be loaded via the stubbles class loader: stubClassLoader::load('org::example::MyExample');. See Using the Stubbles class loader for more information about this.

All classes will be loaded with the stubbles class loader, independent from whether they reside in the lib or in the src/main/php directory.

Contents of the lib directory

The lib directory contains the Stubbles archive and other third party libraries. However, starting with release 0.8.0, there will be more then one stubbles archive:

  • stubbles.php: the full framework containing all packages and classes and is a self-running star file
  • stubbles-core: contains net::stubbles::lang, net::stubbles::php::string and net::stubbles::reflection and is a self-running star file
  • stubbles-ioc: contains net::stubbles::ioc
  • stubbles-peer: contains net::stubbles:peer
  • stubbles-rdbms: contains net::stubbles::rdbms (including persistence API)
  • stubbles-util-cache contains net::stubbles::util::cache
  • stubbles-util-log contains net::stubbles::util::log
  • stubbles-util-xjconf contains net::stubbles::util::xjconf
  • stubbles-website contains net::stubbles::ipo, net::stubbles::service and net::stubbles::websites
  • stubbles-xml: contains net::stubbles::xml

Please bear in mind that you only can use either stubbles.php or the single star archives. Therefore you should either delete stubbles.php or the other stubbles-* files. When installing Stubbles with the build-in build system you will be asked whether you want to use stubbles.php or the single stubbles-* files. Depending on your decision the setup process delete the files not necessary.

Clone this wiki locally