You can have an optional WireBox configuration binder that can fine-tune the WireBox engine and also where you can create object mappings, and even more model locations by convention. Usually you will find this binder by convention in your config/WireBox.cfc
location and it looks like this:
Please refer to the full Binder documentation: (http://wirebox.ortusbooks.com/configuration/configuring-wirebox/) for further inspection.
By default, all objects that you place in the models
folder are available to your application by their name. So if you create a new model object: models/MyService.cfc
, you can refer to it as MyService
in your application. However, if you create a model object: models/security/SecurityService.cfc
it will be available as security.SecurityService
. This is great and dandy, but when refactoring comes to play you will have to refactor all references to the dot-notation paths. This is where mappings come into play.
WireBox has several methods for mappings, the easiest of them are the following:
map( alias ).to( cfc.path )
mapPath( path )
mapDirectory( packagePath, include, exclude, influence, filter, namespace )