Skip to content

ModelInterface

Contract for resolving the model managed by a REST controller.


  • Full name: \PhalconKit\Mvc\Controller\Traits\Interfaces\ModelInterface

Methods

getModelName

Return the explicit model class name, when one is configured.

public getModelName(): class-string<\Phalcon\Mvc\ModelInterface>|null

setModelName

Set the explicit model class name for this controller.

public setModelName(class-string<\Phalcon\Mvc\ModelInterface>|null $modelName): void

Parameters:

Parameter Type Description
$modelName class-string<\Phalcon\Mvc\ModelInterface>|null

getModelNamespaces

Return namespace prefixes searched when deriving a model from a controller.

public getModelNamespaces(): list<string>

setModelNamespaces

Replace namespace prefixes searched when deriving a model from a controller.

public setModelNamespaces(list<string>|null $modelNamespaces): void

Parameters:

Parameter Type Description
$modelNamespaces list|null

getModelNameFromController

Infer a model class name from the controller namespace/class.

public getModelNameFromController(list<string>|null $namespaces = null, string $needle = 'Models'): class-string<\Phalcon\Mvc\ModelInterface>|null

Parameters:

Parameter Type Description
$namespaces list|null Optional namespace prefixes.
$needle string Namespace segment to replace with Models.

getControllerName

Return the current controller route name.

public getControllerName(): string

loadModel

Resolve and instantiate the configured model class.

public loadModel(class-string<\Phalcon\Mvc\ModelInterface>|null $modelName = null): \Phalcon\Mvc\ModelInterface

Parameters:

Parameter Type Description
$modelName class-string<\Phalcon\Mvc\ModelInterface>|null Optional
override.

modelHasColumn

Determine whether the configured model exposes a raw database column or a mapped model attribute name.

public modelHasColumn(string $column, string|null $modelName = null): bool

Implementations should use generated columnMap() definitions or Phalcon model metadata rather than issuing application-level data queries. Models without generated maps may depend on the application's configured metadata strategy and cache.

Parameters:

Parameter Type Description
$column string Database column or mapped model attribute.
$modelName string|null Optional model override; defaults to the
current controller model. Non-model strings should return false.