* Register a controller class with this application. * * @param controllerCtor - The controller class * (constructor function). * @param name - Optional controller name, default to the class name * @returns The newly created binding, you can use the reference to * further modify th
(
controllerCtor: ControllerClass<T>,
nameOrOptions?: string | BindingFromClassOptions,
)
| 161 | * ``` |
| 162 | */ |
| 163 | controller<T>( |
| 164 | controllerCtor: ControllerClass<T>, |
| 165 | nameOrOptions?: string | BindingFromClassOptions, |
| 166 | ): Binding<T> { |
| 167 | this.debug('Adding controller %s', nameOrOptions ?? controllerCtor.name); |
| 168 | const binding = createBindingFromClass(controllerCtor, { |
| 169 | namespace: CoreBindings.CONTROLLERS, |
| 170 | type: CoreTags.CONTROLLER, |
| 171 | defaultScope: BindingScope.TRANSIENT, |
| 172 | ...toOptions(nameOrOptions), |
| 173 | }); |
| 174 | this.add(binding); |
| 175 | return binding; |
| 176 | } |
| 177 | |
| 178 | /** |
| 179 | * Bind a Server constructor to the Application's master context. |