1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-25 20:44:01 +01:00

9 Commits

Author SHA1 Message Date
Unknown
7a04c9048c [ticket/9916] Updating header license and removing Version $Id$
PHPBB3-9916
2011-12-31 13:32:52 +00:00
Nils Adermann
d8e5783e8c [feature/extension-manager] Document what the class loader stores in cache
PHPBB3-10323
2011-11-18 16:00:22 +01:00
Nils Adermann
91c0a0d426 [feature/extension-manager] Add docblock to cached paths map in class loader
PHPBB3-10323
2011-11-18 15:57:51 +01:00
Nils Adermann
96209e0224 [feature/extension-manager] The class loader no longer knows about extensions
Instead the class loader is instantiated twice. Once with the phpbb_ prefix
and once with the phpbb_ext_ prefix.

PHPBB3-10323
2011-09-29 15:42:46 +02:00
Nils Adermann
14f1e581fa [feature/extension-manager] Extension Manager & Finder
Extensions RFC: http://area51.phpbb.com/phpBB/viewtopic.php?f=84&t=41499
Ticket: http://tracker.phpbb.com/browse/PHPBB3-10323

PHPBB3-10323
2011-09-29 15:42:33 +02:00
Nils Adermann
1aef7eb20e [task/acm-refactor] Cleaning up left over mentions of ACM and fixing tests.
PHPBB3-9983
2011-01-09 23:49:44 +01:00
Igor Wiedler
9329b16ab1 [task/acm-refactor] Refactor the ACM classes to have a common interface.
They are now refered to as cache drivers rather than ACM classes. The
additional utility functions from the original cache class have been
moved to the cache_service. The class loader is now instantiated without
a cache instance and passed one as soon as it is constructed to allow
autoloading the cache classes.

PHPBB3-9983
2011-01-09 23:49:35 +01:00
Nils Adermann
f870434222 [feature/auto-loading] Only check subdir if there is another name part.
PHPBB3-9682
2010-08-19 22:06:19 +02:00
Nils Adermann
22c3041e12 [feature/auto-loading] Added a phpBB autoloader with caching support.
phpBB class name lookups follow these rules:
 - All classes are prefixed with phpbb_
 - All classes reside in includes/ or a subdirectory thereof
 - Directories must not contain underscores
 - The class name is separated into parts by underscores, the parts
   are checked from first to last, until one is found which is not
   a directory, all remaining parts make up the file name. If no parts
   are left, the last directory name is used.

Examples:
  directory structure:
    includes/
      class_name.php
      dir/
        class_name.php
        dir.php
        subdir/
          class_name.php

  lookups:
    phpbb_class_name            -> includes/class_name.php
    phpbb_dir_class_name        -> includes/dir/class_name.php
    phpbb_dir                   -> includes/dir/dir.php
    phpbb_dir_subdir_class_name -> includes/dir/subdir/class_name.php

Optionally the class can be supplied with a cache instance, either in the
constructor or via set_cache() at a later time. This allows for the lookups to
be cached, so the directories do not have to be traveresed on every request.
This makes it necessary for the cache and its dependency to continue to be
loaded the old way - without autoloading.

The code will not be changed to use autoloading, but it will rather only be
used for new classes where applicable.

PHPBB3-9682
2010-07-05 15:40:46 +02:00