gimport Recursive directory import with caching

  1. Requirements
  2. Usage
  3. Resources

GImport class implements recursive import of directories with caching.

Import is performed recursively for specified path alias. Classes found are cached, so the import process can be slow only first time.

Requirements

Tested on Yii 1.1.10

Usage

Download and extract archive into protected/components directory.

Basic usage example:

$importer = new GImport;
$importer->add('modules.myModule.*');

This code will import all clasees from modules/myModule/ directory.

GImport can also be configured as application component. Add following code into the application config:

return array(
  ...
  'preload' => array('log', 'import'),
  ...
  'components' => array(
    'import' => array(
        'class'=>'GImport',
        'import' => array(
             // add directories to import and
             // put 'import' component to preload to trigger import 
             // on application initialization
             'application.extensions.*',
         ),
    ),
   ...

To import additional classes in runtime use following code:

Yii::app()->import->add('modules.myModule.*');

Class names and paths will be added to Yii::$classMap and available for autoload. Import performed only once for each alias. Class cache is saved into file in the (by default)runtime/classes directory. During development clean 'runtime/classes' after changing files structure or set '$cacheEnabled' property to false to disable file cache.

Resources

1 0
4 followers
203 downloads
Yii Version: 1.1
License: BSD-2-Clause
Category: Others
Tags: import
Developed by: seb
Created on: Oct 10, 2012
Last updated: 11 years ago

Downloads

show all

Related Extensions