<commit_before># Some Doctrine 2 Extensions

This package contains extensions for Doctrine 2 that hook into the facilities of Doctrine and
offer new functionality or tools to use Doctrine 2 more efficently. This package contains mostly
used behaviors which can be easily attached to your event system of Doctrine 2 and handle the
records being flushed in the behavioral way. List of extensions:

- Tree - this extension automates the tree handling process and adds some tree specific functions on repository.
- Translatable - gives you a very handy solution for translating records into diferent languages. Easy to setup, easier to use.
- Sluggable - urlizes your specified fields into single unique slug
- Timestampable - updates date fields on create, update and even property change.
- Loggable - helps tracking changes and history of objects, also supports version managment.

Currently these extensions support **Yaml** and **Annotation** mapping. Additional mapping drivers
can be easy implemented using Mapping extension to handle the additional metadata mapping.

### Latest updates

**2011-03-05**

- Merged Boussekeyt Jules pull request for Loggable extension, tweeked to support versioning
- Added typehints for object manager and classmetadata in all extensions

### ODM MongoDB support

There is a plan to port all extensions for different object manager support and now
half of extensions can be used with ODM also.

- Translatable
- Sluggable
- Timestampable
- Loggable

Are allready ported to support ODM MongoDB

All these extensions can be nested together. And most allready use only annotations without interface requirement
to not to aggregate the entity itself and has implemented proper caching for metadata.

There is a post introducing to these extensions on [doctrine project](http://www.doctrine-project.org/blog/doctrine2-behavioral-extensions "Doctrine2 behavior extensions")

You can test these extensions on [my blog](http://gediminasm.org/test/ "Test doctrine behavior extensions").
<commit_msg>updated README related to type hinting issue<commit_after># Some Doctrine 2 Extensions

This package contains extensions for Doctrine 2 that hook into the facilities of Doctrine and
offer new functionality or tools to use Doctrine 2 more efficently. This package contains mostly
used behaviors which can be easily attached to your event system of Doctrine 2 and handle the
records being flushed in the behavioral way. List of extensions:

- Tree - this extension automates the tree handling process and adds some tree specific functions on repository.
- Translatable - gives you a very handy solution for translating records into diferent languages. Easy to setup, easier to use.
- Sluggable - urlizes your specified fields into single unique slug
- Timestampable - updates date fields on create, update and even property change.
- Loggable - helps tracking changes and history of objects, also supports version managment.

Currently these extensions support **Yaml** and **Annotation** mapping. Additional mapping drivers
can be easy implemented using Mapping extension to handle the additional metadata mapping.

## Important

Recently where was a change for type hinting on object manager and other. These changes
**requires doctrine2 from master branch**. Example:

    git clone git://github.com/doctrine/doctrine2.git myproject/library/doctrine
    git clone git://github.com/doctrine/common.git myproject/library/doctrine-common

To autoload these libraries use same class loader from doctrine common package for instance.
    
If you are using windows, there is **msysgit** tool available.

### Latest updates

**2011-03-05**

- Merged Boussekeyt Jules pull request for Loggable extension, tweeked to support versioning
- Added typehints for object manager and classmetadata in all extensions

### ODM MongoDB support

There is a plan to port all extensions for different object manager support and now
half of extensions can be used with ODM also.

- Translatable
- Sluggable
- Timestampable
- Loggable

Are allready ported to support ODM MongoDB

All these extensions can be nested together. And most allready use only annotations without interface requirement
to not to aggregate the entity itself and has implemented proper caching for metadata.

There is a post introducing to these extensions on [doctrine project](http://www.doctrine-project.org/blog/doctrine2-behavioral-extensions "Doctrine2 behavior extensions")

You can test these extensions on [my blog](http://gediminasm.org/test/ "Test doctrine behavior extensions").

{'fraction_non_alphanumeric': 0.045325158747536676, 'fraction_numerical': 0.006568863586599518, 'mean_word_length': 4.738693467336684, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '864196', 'n_tokens_mistral': 1101, 'n_tokens_neox': 1052, 'n_words': 604}