Overview

Classes

  • MvcCore\Application
  • MvcCore\Config
  • MvcCore\Controller
  • MvcCore\Controller\AutoInit
  • MvcCore\Debug
  • MvcCore\Environment
  • MvcCore\Ext\Auth
  • MvcCore\Ext\Auths\Basic
  • MvcCore\Ext\Auths\Basics\Controller
  • MvcCore\Ext\Auths\Basics\Role
  • MvcCore\Ext\Auths\Basics\SignInForm
  • MvcCore\Ext\Auths\Basics\SignOutForm
  • MvcCore\Ext\Auths\Basics\User
  • MvcCore\Ext\Auths\Basics\Users\Database
  • MvcCore\Ext\Auths\Basics\Users\SystemConfig
  • MvcCore\Ext\Auths\User
  • MvcCore\Ext\Auths\Users\Database
  • MvcCore\Ext\Auths\Users\SystemConfig
  • MvcCore\Ext\Cache
  • MvcCore\Ext\Caches\Redis
  • MvcCore\Ext\Configs\Cached
  • MvcCore\Ext\Configs\Yaml
  • MvcCore\Ext\Debugs\Tracy
  • MvcCore\Ext\Debugs\Tracys\AuthPanel
  • MvcCore\Ext\Debugs\Tracys\IncludePanel
  • MvcCore\Ext\Debugs\Tracys\MvcCorePanel
  • MvcCore\Ext\Debugs\Tracys\RoutingPanel
  • MvcCore\Ext\Debugs\Tracys\SessionPanel
  • MvcCore\Ext\Form
  • MvcCore\Ext\Forms\Field
  • MvcCore\Ext\Forms\Fields\Button
  • MvcCore\Ext\Forms\Fields\ButtonInput
  • MvcCore\Ext\Forms\Fields\Checkbox
  • MvcCore\Ext\Forms\Fields\CheckboxGroup
  • MvcCore\Ext\Forms\Fields\Color
  • MvcCore\Ext\Forms\Fields\CountrySelect
  • MvcCore\Ext\Forms\Fields\DataList
  • MvcCore\Ext\Forms\Fields\Date
  • MvcCore\Ext\Forms\Fields\DateTime
  • MvcCore\Ext\Forms\Fields\Email
  • MvcCore\Ext\Forms\Fields\File
  • MvcCore\Ext\Forms\Fields\Hidden
  • MvcCore\Ext\Forms\Fields\Image
  • MvcCore\Ext\Forms\Fields\LocalizationSelect
  • MvcCore\Ext\Forms\Fields\Month
  • MvcCore\Ext\Forms\Fields\Number
  • MvcCore\Ext\Forms\Fields\Password
  • MvcCore\Ext\Forms\Fields\RadioGroup
  • MvcCore\Ext\Forms\Fields\Range
  • MvcCore\Ext\Forms\Fields\ResetButton
  • MvcCore\Ext\Forms\Fields\ResetInput
  • MvcCore\Ext\Forms\Fields\Search
  • MvcCore\Ext\Forms\Fields\Select
  • MvcCore\Ext\Forms\Fields\SubmitButton
  • MvcCore\Ext\Forms\Fields\SubmitInput
  • MvcCore\Ext\Forms\Fields\Tel
  • MvcCore\Ext\Forms\Fields\Text
  • MvcCore\Ext\Forms\Fields\Textarea
  • MvcCore\Ext\Forms\Fields\Time
  • MvcCore\Ext\Forms\Fields\Url
  • MvcCore\Ext\Forms\Fields\Week
  • MvcCore\Ext\Forms\FieldsGroup
  • MvcCore\Ext\Forms\Validator
  • MvcCore\Ext\Forms\Validators\Color
  • MvcCore\Ext\Forms\Validators\CompanyIdEu
  • MvcCore\Ext\Forms\Validators\CompanyVatIdEu
  • MvcCore\Ext\Forms\Validators\CreditCard
  • MvcCore\Ext\Forms\Validators\Date
  • MvcCore\Ext\Forms\Validators\DateTime
  • MvcCore\Ext\Forms\Validators\Email
  • MvcCore\Ext\Forms\Validators\Files
  • MvcCore\Ext\Forms\Validators\Files\Validations\BombScanners\GzArchive
  • MvcCore\Ext\Forms\Validators\Files\Validations\BombScanners\PngImage
  • MvcCore\Ext\Forms\Validators\Files\Validations\BombScanners\RarArchive
  • MvcCore\Ext\Forms\Validators\Files\Validations\BombScanners\ZipArchive
  • MvcCore\Ext\Forms\Validators\FloatNumber
  • MvcCore\Ext\Forms\Validators\Hex
  • MvcCore\Ext\Forms\Validators\Iban
  • MvcCore\Ext\Forms\Validators\IntNumber
  • MvcCore\Ext\Forms\Validators\Ip
  • MvcCore\Ext\Forms\Validators\MinMaxLength
  • MvcCore\Ext\Forms\Validators\MinMaxOptions
  • MvcCore\Ext\Forms\Validators\Month
  • MvcCore\Ext\Forms\Validators\Number
  • MvcCore\Ext\Forms\Validators\Password
  • MvcCore\Ext\Forms\Validators\Pattern
  • MvcCore\Ext\Forms\Validators\Range
  • MvcCore\Ext\Forms\Validators\SafeString
  • MvcCore\Ext\Forms\Validators\Tel
  • MvcCore\Ext\Forms\Validators\Time
  • MvcCore\Ext\Forms\Validators\Url
  • MvcCore\Ext\Forms\Validators\ValueInOptions
  • MvcCore\Ext\Forms\Validators\Week
  • MvcCore\Ext\Forms\Validators\ZipCode
  • MvcCore\Ext\Forms\View
  • MvcCore\Ext\Models\Db\Attrs\Column
  • MvcCore\Ext\Models\Db\Attrs\Connection
  • MvcCore\Ext\Models\Db\Attrs\Format
  • MvcCore\Ext\Models\Db\Attrs\KeyPrimary
  • MvcCore\Ext\Models\Db\Attrs\KeyUnique
  • MvcCore\Ext\Models\Db\Attrs\Table
  • MvcCore\Ext\Models\Db\Connection
  • MvcCore\Ext\Models\Db\Models\MySql
  • MvcCore\Ext\Models\Db\Models\PgSql
  • MvcCore\Ext\Models\Db\Models\Resource
  • MvcCore\Ext\Models\Db\Models\SQLite
  • MvcCore\Ext\Models\Db\Models\SqlSrv
  • MvcCore\Ext\Models\Db\Providers\Connections\MySql
  • MvcCore\Ext\Models\Db\Providers\Connections\PgSql
  • MvcCore\Ext\Models\Db\Providers\Connections\SQLite
  • MvcCore\Ext\Models\Db\Providers\Connections\SqlSrv
  • MvcCore\Ext\Models\Db\Providers\Resource
  • MvcCore\Ext\Models\Db\Providers\Resources\MySql
  • MvcCore\Ext\Models\Db\Providers\Resources\PgSql
  • MvcCore\Ext\Models\Db\Providers\Resources\SQLite
  • MvcCore\Ext\Models\Db\Providers\Resources\SqlSrv
  • MvcCore\Ext\Models\Db\Reader
  • MvcCore\Ext\Models\Db\Readers\Execution
  • MvcCore\Ext\Models\Db\Readers\Multiple
  • MvcCore\Ext\Models\Db\Readers\Single
  • MvcCore\Ext\Models\Db\Readers\Stream
  • MvcCore\Ext\Models\Db\Readers\Streams\Iterator
  • MvcCore\Ext\Models\Db\Statement
  • MvcCore\Ext\Models\Model
  • MvcCore\Ext\Routers\Localization
  • MvcCore\Ext\Routers\Localizations\Route
  • MvcCore\Ext\Routers\Media
  • MvcCore\Ext\Routers\MediaAndLocalization
  • MvcCore\Ext\Routers\Module
  • MvcCore\Ext\Routers\ModuleLocalization
  • MvcCore\Ext\Routers\ModuleMedia
  • MvcCore\Ext\Routers\ModuleMediaAndLocalization
  • MvcCore\Ext\Routers\Modules\Route
  • MvcCore\Ext\Tools\Image
  • MvcCore\Ext\Tools\Images\Gd
  • MvcCore\Ext\Tools\Images\Gds\ApplyMask
  • MvcCore\Ext\Tools\Images\Gds\RoundCorners
  • MvcCore\Ext\Tools\Images\Gds\UnsharpMask
  • MvcCore\Ext\Tools\Images\Imagick
  • MvcCore\Ext\Tools\Locale
  • MvcCore\Ext\Tools\Locales\FloatParser
  • MvcCore\Ext\Tools\MimeTypesExtensions
  • MvcCore\Ext\Views\Helpers\AbstractHelper
  • MvcCore\Ext\Views\Helpers\Assets
  • MvcCore\Ext\Views\Helpers\CssHelper
  • MvcCore\Ext\Views\Helpers\DataUrlHelper
  • MvcCore\Ext\Views\Helpers\FormatDateHelper
  • MvcCore\Ext\Views\Helpers\FormatMoneyHelper
  • MvcCore\Ext\Views\Helpers\FormatNumberHelper
  • MvcCore\Ext\Views\Helpers\InternationalizedHelper
  • MvcCore\Ext\Views\Helpers\JsHelper
  • MvcCore\Ext\Views\Helpers\LineBreaksHelper
  • MvcCore\Ext\Views\Helpers\TruncateHelper
  • MvcCore\Ext\Views\Helpers\WriteByJsHelper
  • MvcCore\Model
  • MvcCore\Request
  • MvcCore\Response
  • MvcCore\Route
  • MvcCore\Router
  • MvcCore\Session
  • MvcCore\Tool
  • MvcCore\View

Interfaces

  • MvcCore\Application\IConstants
  • MvcCore\Controller\IConstants
  • MvcCore\Debug\IConstants
  • MvcCore\Environment\IConstants
  • MvcCore\Ext\Auths\Basics\IController
  • MvcCore\Ext\Auths\Basics\IDatabaseUser
  • MvcCore\Ext\Auths\Basics\IForm
  • MvcCore\Ext\Auths\Basics\IRole
  • MvcCore\Ext\Auths\Basics\IUser
  • MvcCore\Ext\Auths\IBasic
  • MvcCore\Ext\Form\IConstants
  • MvcCore\Ext\Forms\Fields\IAlwaysValidate
  • MvcCore\Ext\Forms\Fields\IChecked
  • MvcCore\Ext\Forms\Fields\IDataList
  • MvcCore\Ext\Forms\Fields\IFile
  • MvcCore\Ext\Forms\Fields\IFormat
  • MvcCore\Ext\Forms\Fields\ILabel
  • MvcCore\Ext\Forms\Fields\IMinMaxLength
  • MvcCore\Ext\Forms\Fields\IMinMaxOptions
  • MvcCore\Ext\Forms\Fields\IMinMaxStepDates
  • MvcCore\Ext\Forms\Fields\IMinMaxStepNumbers
  • MvcCore\Ext\Forms\Fields\IMultiple
  • MvcCore\Ext\Forms\Fields\IOptions
  • MvcCore\Ext\Forms\Fields\IPattern
  • MvcCore\Ext\Forms\Fields\ISubmit
  • MvcCore\Ext\Forms\Fields\IVisibleField
  • MvcCore\Ext\Forms\IError
  • MvcCore\Ext\Forms\IField
  • MvcCore\Ext\Forms\IFieldsGroup
  • MvcCore\Ext\Forms\IValidator
  • MvcCore\Ext\Forms\IView
  • MvcCore\Ext\Forms\Validators\Files\Validations\IBombScanner
  • MvcCore\Ext\Forms\Validators\IFiles
  • MvcCore\Ext\ICache
  • MvcCore\Ext\IForm
  • MvcCore\Ext\Models\Db\IConnection
  • MvcCore\Ext\Models\Db\IModel
  • MvcCore\Ext\Models\Db\IReader
  • MvcCore\Ext\Models\Db\IStatement
  • MvcCore\Ext\Models\Db\Model\IConstants
  • MvcCore\Ext\Models\Db\Models\MySqls\IConstants
  • MvcCore\Ext\Models\Db\Models\PgSqls\IConstants
  • MvcCore\Ext\Models\Db\Models\SqlSrvs\IConstants
  • MvcCore\Ext\Models\Db\Readers\IExecution
  • MvcCore\Ext\Models\Db\Readers\IMultiple
  • MvcCore\Ext\Models\Db\Readers\ISingle
  • MvcCore\Ext\Models\Db\Readers\IStream
  • MvcCore\Ext\Models\Db\Readers\Streams\IIterator
  • MvcCore\Ext\Routers\IExtended
  • MvcCore\Ext\Routers\ILocalization
  • MvcCore\Ext\Routers\IMedia
  • MvcCore\Ext\Routers\IModule
  • MvcCore\Ext\Routers\Modules\IRoute
  • MvcCore\Ext\Tools\Images\IAdapter
  • MvcCore\Ext\Tools\Images\IComposite
  • MvcCore\Ext\Tools\Images\IFormat
  • MvcCore\Ext\Tools\Images\IImage
  • MvcCore\Ext\Tools\Images\Imagicks\IComposite
  • MvcCore\Ext\Tools\Images\IOrientation
  • MvcCore\Ext\Views\Helpers\IHelper
  • MvcCore\IApplication
  • MvcCore\IConfig
  • MvcCore\IController
  • MvcCore\IDebug
  • MvcCore\IEnvironment
  • MvcCore\IModel
  • MvcCore\IRequest
  • MvcCore\IResponse
  • MvcCore\IRoute
  • MvcCore\IRouter
  • MvcCore\ISession
  • MvcCore\ITool
  • MvcCore\IView
  • MvcCore\Model\IConstants
  • MvcCore\Request\IConstants
  • MvcCore\Response\IConstants
  • MvcCore\Route\IConstants
  • MvcCore\Router\IConstants
  • MvcCore\Session\IConstants
  • MvcCore\View\IConstants

Traits

  • MvcCore\Application\Dispatching
  • MvcCore\Application\GettersSetters
  • MvcCore\Application\Helpers
  • MvcCore\Application\Props
  • MvcCore\Config\Environment
  • MvcCore\Config\IniDump
  • MvcCore\Config\IniProps
  • MvcCore\Config\IniRead
  • MvcCore\Config\MagicMethods
  • MvcCore\Config\PropsGettersSetters
  • MvcCore\Config\ReadWrite
  • MvcCore\Controller\Dispatching
  • MvcCore\Controller\GettersSetters
  • MvcCore\Controller\Props
  • MvcCore\Controller\Rendering
  • MvcCore\Debug\Handlers
  • MvcCore\Debug\Initializations
  • MvcCore\Debug\Props
  • MvcCore\Environment\Detection
  • MvcCore\Environment\Instancing
  • MvcCore\Environment\PropsGettersSetters
  • MvcCore\Ext\Auths\Basic\Handling
  • MvcCore\Ext\Auths\Basic\PropsGettersSetters
  • MvcCore\Ext\Auths\Basics\Controller\Base
  • MvcCore\Ext\Auths\Basics\Form\Base
  • MvcCore\Ext\Auths\Basics\Form\SignIn
  • MvcCore\Ext\Auths\Basics\Form\SignOut
  • MvcCore\Ext\Auths\Basics\Role\Base
  • MvcCore\Ext\Auths\Basics\Role\Features
  • MvcCore\Ext\Auths\Basics\User\Auth
  • MvcCore\Ext\Auths\Basics\User\Base
  • MvcCore\Ext\Auths\Basics\User\Features
  • MvcCore\Ext\Auths\Basics\User\Roles
  • MvcCore\Ext\Auths\Basics\UserAndRole\Base
  • MvcCore\Ext\Auths\Basics\UserAndRole\Permissions
  • MvcCore\Ext\Configs\Yamls\YamlDump
  • MvcCore\Ext\Configs\Yamls\YamlProps
  • MvcCore\Ext\Configs\Yamls\YamlRead
  • MvcCore\Ext\Form\AddMethods
  • MvcCore\Ext\Form\Assets
  • MvcCore\Ext\Form\ConfigProps
  • MvcCore\Ext\Form\Csrf
  • MvcCore\Ext\Form\FieldMethods
  • MvcCore\Ext\Form\GetMethods
  • MvcCore\Ext\Form\InternalProps
  • MvcCore\Ext\Form\Rendering
  • MvcCore\Ext\Form\Session
  • MvcCore\Ext\Form\SetMethods
  • MvcCore\Ext\Form\Submitting
  • MvcCore\Ext\Forms\Field\Getters
  • MvcCore\Ext\Forms\Field\Props
  • MvcCore\Ext\Forms\Field\Props\AccessKey
  • MvcCore\Ext\Forms\Field\Props\AutoComplete
  • MvcCore\Ext\Forms\Field\Props\AutoFocus
  • MvcCore\Ext\Forms\Field\Props\Checked
  • MvcCore\Ext\Forms\Field\Props\DataList
  • MvcCore\Ext\Forms\Field\Props\Disabled
  • MvcCore\Ext\Forms\Field\Props\Files
  • MvcCore\Ext\Forms\Field\Props\Format
  • MvcCore\Ext\Forms\Field\Props\FormAttrs
  • MvcCore\Ext\Forms\Field\Props\GroupLabelAttrs
  • MvcCore\Ext\Forms\Field\Props\GroupLabelCssClasses
  • MvcCore\Ext\Forms\Field\Props\InputMode
  • MvcCore\Ext\Forms\Field\Props\Label
  • MvcCore\Ext\Forms\Field\Props\MinMaxLength
  • MvcCore\Ext\Forms\Field\Props\MinMaxOptions
  • MvcCore\Ext\Forms\Field\Props\MinMaxStepDates
  • MvcCore\Ext\Forms\Field\Props\MinMaxStepNumbers
  • MvcCore\Ext\Forms\Field\Props\Multiple
  • MvcCore\Ext\Forms\Field\Props\NullOptionText
  • MvcCore\Ext\Forms\Field\Props\Options
  • MvcCore\Ext\Forms\Field\Props\Pattern
  • MvcCore\Ext\Forms\Field\Props\PlaceHolder
  • MvcCore\Ext\Forms\Field\Props\ReadOnly
  • MvcCore\Ext\Forms\Field\Props\Required
  • MvcCore\Ext\Forms\Field\Props\RowsColsWrap
  • MvcCore\Ext\Forms\Field\Props\Size
  • MvcCore\Ext\Forms\Field\Props\SpellCheck
  • MvcCore\Ext\Forms\Field\Props\Submit
  • MvcCore\Ext\Forms\Field\Props\TabIndex
  • MvcCore\Ext\Forms\Field\Props\VisibleField
  • MvcCore\Ext\Forms\Field\Props\WidthHeight
  • MvcCore\Ext\Forms\Field\Props\Wrapper
  • MvcCore\Ext\Forms\Field\Rendering
  • MvcCore\Ext\Forms\Field\Setters
  • MvcCore\Ext\Forms\Validators\Files\CheckRequirements
  • MvcCore\Ext\Forms\Validators\Files\CompleteFiles
  • MvcCore\Ext\Forms\Validators\Files\ReadAccept
  • MvcCore\Ext\Forms\Validators\Files\Validations\Bomb
  • MvcCore\Ext\Forms\Validators\Files\Validations\FileAndSize
  • MvcCore\Ext\Forms\Validators\Files\Validations\MimeTypeAndExtension
  • MvcCore\Ext\Forms\Validators\Files\Validations\NameAndExtension
  • MvcCore\Ext\Models\Db\Model\Connection
  • MvcCore\Ext\Models\Db\Model\DataMethods
  • MvcCore\Ext\Models\Db\Model\Features
  • MvcCore\Ext\Models\Db\Model\Manipulation
  • MvcCore\Ext\Models\Db\Model\MetaData
  • MvcCore\Ext\Models\Db\Model\Parsers
  • MvcCore\Ext\Models\Db\Model\Props
  • MvcCore\Ext\Models\Db\Model\ProviderResource
  • MvcCore\Ext\Models\Db\Models\MySqls\Features
  • MvcCore\Ext\Models\Db\Models\MySqls\ProviderResource
  • MvcCore\Ext\Models\Db\Models\PgSqls\Features
  • MvcCore\Ext\Models\Db\Models\PgSqls\ProviderResource
  • MvcCore\Ext\Models\Db\Models\Resources\Features
  • MvcCore\Ext\Models\Db\Models\SQLites\Features
  • MvcCore\Ext\Models\Db\Models\SQLites\ProviderResource
  • MvcCore\Ext\Models\Db\Models\SqlSrvs\Features
  • MvcCore\Ext\Models\Db\Models\SqlSrvs\ProviderResource
  • MvcCore\Ext\Models\Db\Providers\Resources\Manipulation
  • MvcCore\Ext\Models\Db\Providers\Resources\PgSqls\Manipulation
  • MvcCore\Ext\Routers\Extended
  • MvcCore\Ext\Routers\Extendeds\Preparing
  • MvcCore\Ext\Routers\Extendeds\PropsGettersSetters
  • MvcCore\Ext\Routers\Extendeds\Redirect
  • MvcCore\Ext\Routers\Extendeds\RedirectHelpers
  • MvcCore\Ext\Routers\Extendeds\Url
  • MvcCore\Ext\Routers\Localization\Preparing
  • MvcCore\Ext\Routers\Localization\PreRouting
  • MvcCore\Ext\Routers\Localization\PropsGettersSetters
  • MvcCore\Ext\Routers\Localization\RedirectSections
  • MvcCore\Ext\Routers\Localization\RewriteRouting
  • MvcCore\Ext\Routers\Localization\RewriteRoutingChecks
  • MvcCore\Ext\Routers\Localization\Routing
  • MvcCore\Ext\Routers\Localization\UrlByRoute
  • MvcCore\Ext\Routers\Localization\UrlByRouteSections
  • MvcCore\Ext\Routers\Localization\UrlByRouteSectionsLocalization
  • MvcCore\Ext\Routers\Localizations\Route\Instancing
  • MvcCore\Ext\Routers\Localizations\Route\InternalInits
  • MvcCore\Ext\Routers\Localizations\Route\Matching
  • MvcCore\Ext\Routers\Localizations\Route\PropsGettersSetters
  • MvcCore\Ext\Routers\Localizations\Route\UrlBuilding
  • MvcCore\Ext\Routers\Media\Preparing
  • MvcCore\Ext\Routers\Media\PreRouting
  • MvcCore\Ext\Routers\Media\PropsGettersSetters
  • MvcCore\Ext\Routers\Media\RedirectSections
  • MvcCore\Ext\Routers\Media\Routing
  • MvcCore\Ext\Routers\Media\UrlByRoute
  • MvcCore\Ext\Routers\Media\UrlByRouteSections
  • MvcCore\Ext\Routers\Media\UrlByRouteSectionsMedia
  • MvcCore\Ext\Routers\MediaAndLocalization\RedirectSections
  • MvcCore\Ext\Routers\MediaAndLocalization\Routing
  • MvcCore\Ext\Routers\MediaAndLocalization\UrlByRoute
  • MvcCore\Ext\Routers\MediaAndLocalization\UrlByRouteSections
  • MvcCore\Ext\Routers\Module\Canonical
  • MvcCore\Ext\Routers\Module\DomainRouteSetUp
  • MvcCore\Ext\Routers\Module\DomainRouting
  • MvcCore\Ext\Routers\Module\PreAndPostRouting
  • MvcCore\Ext\Routers\Module\Props
  • MvcCore\Ext\Routers\Module\Redirect
  • MvcCore\Ext\Routers\Module\RewriteRoutingChecks
  • MvcCore\Ext\Routers\Module\RouteMethods
  • MvcCore\Ext\Routers\Module\UrlByQuery
  • MvcCore\Ext\Routers\Module\UrlByRoute
  • MvcCore\Ext\Routers\Module\UrlByRouteSections
  • MvcCore\Ext\Routers\Module\UrlDomain
  • MvcCore\Ext\Routers\ModuleLocalization\DomainRouteSetUp
  • MvcCore\Ext\Routers\ModuleLocalization\Redirect
  • MvcCore\Ext\Routers\ModuleLocalization\RewriteRoutingChecks
  • MvcCore\Ext\Routers\ModuleLocalization\UrlByRoute
  • MvcCore\Ext\Routers\ModuleMedia\DomainRouteSetUp
  • MvcCore\Ext\Routers\ModuleMedia\Redirect
  • MvcCore\Ext\Routers\ModuleMediaAndLocalization\DomainRouteSetUp
  • MvcCore\Ext\Routers\ModuleMediaAndLocalization\Redirect
  • MvcCore\Ext\Routers\Modules\Route\Instancing
  • MvcCore\Ext\Routers\Modules\Route\Matching
  • MvcCore\Ext\Routers\Modules\Route\PropsGettersSetters
  • MvcCore\Ext\Routers\Modules\Route\UrlBuilding
  • MvcCore\Model\Comparers
  • MvcCore\Model\Config
  • MvcCore\Model\Connection
  • MvcCore\Model\Converters
  • MvcCore\Model\DataMethods
  • MvcCore\Model\MagicMethods
  • MvcCore\Model\MetaData
  • MvcCore\Model\Parsers
  • MvcCore\Model\Props
  • MvcCore\Model\Resource
  • MvcCore\Request\CollectionsMethods
  • MvcCore\Request\GettersSetters
  • MvcCore\Request\Instancing
  • MvcCore\Request\InternalInits
  • MvcCore\Request\Props
  • MvcCore\Response\Content
  • MvcCore\Response\Cookies
  • MvcCore\Response\Headers
  • MvcCore\Response\Instancing
  • MvcCore\Response\PropsGettersSetters
  • MvcCore\Route\GettersSetters
  • MvcCore\Route\Instancing
  • MvcCore\Route\InternalInits
  • MvcCore\Route\Matching
  • MvcCore\Route\Props
  • MvcCore\Route\UrlBuilding
  • MvcCore\Router\Canonical
  • MvcCore\Router\GettersSetters
  • MvcCore\Router\Instancing
  • MvcCore\Router\Props
  • MvcCore\Router\Redirecting
  • MvcCore\Router\RewriteRouting
  • MvcCore\Router\RouteMethods
  • MvcCore\Router\Routing
  • MvcCore\Router\UrlBuilding
  • MvcCore\Router\UrlByQuery
  • MvcCore\Router\UrlByRoutes
  • MvcCore\Session\Closing
  • MvcCore\Session\MagicMethods
  • MvcCore\Session\MetaData
  • MvcCore\Session\NamespaceMethods
  • MvcCore\Session\Props
  • MvcCore\Session\Starting
  • MvcCore\Tool\Helpers
  • MvcCore\Tool\Json
  • MvcCore\Tool\Reflection
  • MvcCore\Tool\StringConversions
  • MvcCore\View\DirectoryMethods
  • MvcCore\View\Escaping
  • MvcCore\View\GettersSetters
  • MvcCore\View\LocalMethods
  • MvcCore\View\MagicMethods
  • MvcCore\View\Props
  • MvcCore\View\Rendering
  • MvcCore\View\UrlHelpers
  • MvcCore\View\ViewHelpers

Exceptions

  • MvcCore\Ext\Models\Db\Exception
  • Throwable

Functions

  • MvcCore\Ext\Models\Db\FuncHelpers\Columns
  • MvcCore\Ext\Models\Db\FuncHelpers\Table
  • Overview
  • Class
  • Tree
  • Todo
  • Deprecated
  • Download

Interface IRouter

Responsibility - singleton, routes instancing, request routing and URL building. - Application router singleton instance managing. - Global storage for all configured routes - instancing all route(s) in application start configuration anywhere in Bootstrap class. - Global storage for currently matched route. - Application request routing - targeting request by matched route object (in route method Route(); by request path [or more]), ) into target route controller and route action, always called from core in: \MvcCore\Application::Run(); => \MvcCore\Application::routeRequest();. - Application URL addresses completing: - By mod_rewrite form by configured route instances. - By index.php? + query string form, containing controller, action and all other params.

MvcCore\IRouter implements MvcCore\Router\IConstants

Direct known implementers

MvcCore\Router

Indirect known implementers

MvcCore\Ext\Routers\Localization, MvcCore\Ext\Routers\Media, MvcCore\Ext\Routers\MediaAndLocalization, MvcCore\Ext\Routers\Module, MvcCore\Ext\Routers\ModuleLocalization, MvcCore\Ext\Routers\ModuleMedia, MvcCore\Ext\Routers\ModuleMediaAndLocalization
Namespace: MvcCore
Located at mvccore/src/MvcCore/IRouter.php
Methods summary
public static MvcCore\Router
# GetInstance( array $routes = [], boolean $autoInitialize = TRUE )

Get singleton instance of \MvcCore\Router stored always here. Optionally set routes as first argument. Create proper router instance type at first time by configured class name in \MvcCore\Application singleton.

Get singleton instance of \MvcCore\Router stored always here. Optionally set routes as first argument. Create proper router instance type at first time by configured class name in \MvcCore\Application singleton.

Routes could be defined in various forms: Example: \MvcCore\Router::GetInstance([ "Products:List" => "/products-list/<name>/<color>", ]); or: \MvcCore\Router::GetInstance([ 'products_list' => [ "pattern" => "/products-list/<name>/<color>", "controllerAction" => "Products:List", "defaults" => ["name" => "default-name", "color" => "red"], "constraints" => ["name" => "[^/]*", "color" => "[a-z]*"] ] ]); or: \MvcCore\Router::GetInstance([ new Route( "/products-list/<name>/<color>", "Products:List", ["name" => "default-name", "color" => "red"], ["name" => "[^/]*", "color" => "[a-z]*"] ) ]); or: \MvcCore\Router::GetInstance([ new Route( "name" => "products_list", "pattern" => "#^/products\-list/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#", "reverse" => "/products-list/<name>/<color>", "controller" => "Products", "action" => "List", "defaults" => ["name" => "default-name", "color" => "red"], ) ]);

Parameters

$routes

Keyed array with routes, keys are route names or route Controller::Action definitions.

$autoInitialize

If TRUE, locale routes array is cleaned and then all routes (or configuration arrays) are sent into method $router->AddRoutes();, where are routes auto initialized for missing route names or route controller or route action record, completed always from array keys. You can you FALSE to set routes without any change or auto-initialization, it could be useful to restore cached routes etc.

Returns

MvcCore\Router
public MvcCore\Router
# SetRoutes( MvcCore\Route[]|array $routes = [], string|null $autoInitialize = TRUE, boolean $autoInitialize,… )

Clear all possible previously configured routes and set new given request routes again. If there is no name configured in route array configuration, set route name by given $routes array key, if key is not numeric.

Clear all possible previously configured routes and set new given request routes again. If there is no name configured in route array configuration, set route name by given $routes array key, if key is not numeric.

Routes could be defined in various forms: Example: \MvcCore\Router::GetInstance()->SetRoutes([ "Products:List" => "/products-list/<name>/<color>", ]); or: \MvcCore\Router::GetInstance()->SetRoutes([ 'products_list' => [ "pattern" => "/products-list/<name>/<color>", "controllerAction" => "Products:List", "defaults" => ["name" => "default-name", "color" => "red"], "constraints" => ["name" => "[^/]*", "color" => "[a-z]*"] ] ]); or: \MvcCore\Router::GetInstance()->SetRoutes([ new Route( "/products-list/<name>/<color>", "Products:List", ["name" => "default-name", "color" => "red"], ["name" => "[^/]*", "color" => "[a-z]*"] ) ]); or: \MvcCore\Router::GetInstance()->SetRoutes([ new Route( "name" => "products_list", "pattern" => "#^/products\-list/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#", "reverse" => "/products-list/<name>/<color>", "controller" => "Products", "action" => "List", "defaults" => ["name" => "default-name", "color" => "red"], ) ]);

Parameters

$routes

Keyed array with routes, keys are route names or route Controller::Action definitions.

$autoInitialize

$groupName Group name is first matched/parsed word in requested path to group routes by to try to match only routes you really need, not all of them. If NULL by default, routes are inserted into default group.

$autoInitialize,…

If TRUE, locale routes array is cleaned and then all routes (or configuration arrays) are sent into method $router->AddRoutes();, where are routes auto initialized for missing route names or route controller or route action record, completed always from array keys. You can you FALSE to set routes without any change or auto-initialization, it could be useful to restore cached routes etc.

Returns

MvcCore\Router
public MvcCore\Router
# AddRoutes( array $routes = [], string|null $prepend = FALSE, boolean $throwExceptionForDuplication = TRUE, boolean $throwExceptionForDuplication,… )

Append or prepend new request routes. If there is no name configured in route array configuration, set route name by given $routes array key, if key is not numeric.

Append or prepend new request routes. If there is no name configured in route array configuration, set route name by given $routes array key, if key is not numeric.

Routes could be defined in various forms: Example: \MvcCore\Router::GetInstance()->AddRoutes([ "Products:List" => "/products-list/<name>/<color>", ]); or: \MvcCore\Router::GetInstance()->AddRoutes([ 'products_list' => [ "pattern" => "/products-list/<name>/<color>", "controllerAction" => "Products:List", "defaults" => ["name" => "default-name", "color" => "red"], "constraints" => ["name" => "[^/]*", "color" => "[a-z]*"] ] ]); or: \MvcCore\Router::GetInstance()->AddRoutes([ new Route( "/products-list/<name>/<color>", "Products:List", ["name" => "default-name", "color" => "red"], ["name" => "[^/]*", "color" => "[a-z]*"] ) ]); or: \MvcCore\Router::GetInstance()->AddRoutes([ new Route( "name" => "products_list", "pattern" => "#^/products\-list/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#", "reverse" => "/products-list/<name>/<color>", "controller" => "Products", "action" => "List", "defaults" => ["name" => "default-name", "color" => "red"], ) ]);

Parameters

$routes

Keyed array with routes, keys are route names or route Controller::Action definitions.

$prepend

$groupName Group name is first matched/parsed word in requested path to group routes by to try to match only routes you really need, not all of them. If NULL by default, routes are inserted into default group.

$throwExceptionForDuplication

$prepend Optional, if TRUE, all given routes will be prepended from the last to the first in given list, not appended.

$throwExceptionForDuplication,…

TRUE by default. Throw an exception, if route name or route Controller:Action has been defined already. If FALSE old route is over-written by new one.

Returns

MvcCore\Router
public MvcCore\Router
# AddRoute( MvcCore\Route|array $routeCfgOrRoute, string|null $groupName = NULL, boolean $prepend = FALSE, boolean $throwExceptionForDuplication = TRUE )

Append or prepend new request route. Set up route by route name into \MvcCore\Router::$routes array to route incoming request and also set up route by route name and by Controller:Action combination into \MvcCore\Router::$urlRoutes array to build URL addresses.

Append or prepend new request route. Set up route by route name into \MvcCore\Router::$routes array to route incoming request and also set up route by route name and by Controller:Action combination into \MvcCore\Router::$urlRoutes array to build URL addresses.

Route could be defined in various forms: Example: \MvcCore\Router::GetInstance()->AddRoute([ "name" => "Products:List", "pattern" => "/products-list/<name>/<color>", ]); or: \MvcCore\Router::GetInstance()->AddRoute([ "name" => "products_list", "pattern" => "/products-list/<name>/<color>", "controllerAction" => "Products:List", "defaults" => ["name" => "default-name", "color" => "red"], "constraints" => ["name" => "[^/]*", "color" => "[a-z]*"] ]); or: \MvcCore\Router::GetInstance()->AddRoute(new Route( "/products-list/<name>/<color>", "Products:List", ["name" => "default-name", "color" => "red"], ["name" => "[^/]*", "color" => "[a-z]*"] )); or: \MvcCore\Router::GetInstance()->AddRoute(new Route( "name" => "products_list", "pattern" => "#^/products\-list/(?<name>[^/]*)/(?<color>[a-z]*)(?=/$|$)#", "reverse" => "/products-list/<name>/<color>", "controller" => "Products", "action" => "List", "defaults" => ["name" => "default-name", "color" => "red"], ));

Parameters

$routeCfgOrRoute
Route instance or route config array.
$groupName

Group name is first matched/parsed word in requested path to group routes by to try to match only routes you really need, not all of them. If NULL by default, routes are inserted into default group.

$prepend

Optional, if TRUE, given route will be prepended, not appended.

$throwExceptionForDuplication

TRUE by default. Throw an exception, if route name or route Controller:Action has been defined already. If FALSE old route is over-written by new one.

Returns

MvcCore\Router
public boolean
# HasRoute( string|MvcCore\Route $routeOrRouteName )

Get TRUE if router has any route by given route name or FALSE if not.

Get TRUE if router has any route by given route name or FALSE if not.

Parameters

$routeOrRouteName

Returns

boolean
public MvcCore\Route|null
# RemoveRoute( string $routeName )

Remove route from router by given name and return removed route instance. If router has no route by given name, NULL is returned.

Remove route from router by given name and return removed route instance. If router has no route by given name, NULL is returned.

Parameters

$routeName

Returns

MvcCore\Route|null
public MvcCore\Route|null
# GetRoute( $routeName )

Get configured \MvcCore\Route route instances by route name, NULL if no route presented.

Get configured \MvcCore\Route route instances by route name, NULL if no route presented.

Returns

MvcCore\Route|null
public MvcCore\Route[]
# GetRoutes( string|null $groupName,… )

Get all configured route(s) as \MvcCore\Route instances. Keys in returned array are route names, values are route objects.

Get all configured route(s) as \MvcCore\Route instances. Keys in returned array are route names, values are route objects.

Parameters

$groupName,…

Group name is first matched/parsed word in requested path to group routes by to try to match only routes you really need, not all of them. If NULL by default, there are returned all routes from all groups.

Returns

MvcCore\Route[]
public MvcCore\Request
# GetRequest( )

Get \MvcCore\Request object as reference, used internally for: - Routing process in \MvcCore\Router::Route(); and it's protected sub-methods. - URL addresses completing in \MvcCore\Router::Url() and it's protected sub-methods.

Get \MvcCore\Request object as reference, used internally for: - Routing process in \MvcCore\Router::Route(); and it's protected sub-methods. - URL addresses completing in \MvcCore\Router::Url() and it's protected sub-methods.

Returns

MvcCore\Request
public MvcCore\Router
# SetRequest( MvcCore\IRequest $request )

Sets up \MvcCore\Request object as reference to use it internally for: - Routing process in \MvcCore\Router::Route(); and it's protected sub-methods. - URL addresses completing in \MvcCore\Router::Url() and it's protected sub-methods. This is INTERNAL, not TEMPLATE method, internally called in \MvcCore\Application::Run(); => \MvcCore\Application::routeRequest();.

Sets up \MvcCore\Request object as reference to use it internally for: - Routing process in \MvcCore\Router::Route(); and it's protected sub-methods. - URL addresses completing in \MvcCore\Router::Url() and it's protected sub-methods. This is INTERNAL, not TEMPLATE method, internally called in \MvcCore\Application::Run(); => \MvcCore\Application::routeRequest();.

Parameters

$request

Returns

MvcCore\Router
public MvcCore\Router
# SetRouteByQueryString( boolean|null $routeByQueryString = TRUE )

Set hardly routing strategy. If this method is configures with TRUE value, it disables whole routing by rewrite routes and only query string values with controller and action are used. If this method is configures with FALSE value, there are used only rewrite routes routing and no query string data. this method is highly advanced.

Set hardly routing strategy. If this method is configures with TRUE value, it disables whole routing by rewrite routes and only query string values with controller and action are used. If this method is configures with FALSE value, there are used only rewrite routes routing and no query string data. this method is highly advanced.

Parameters

$routeByQueryString

Returns

MvcCore\Router
public boolean|null
# GetRouteByQueryString( )

Get routing strategy. TRUE means that there was automatically or manually chosen routing by query string values and FALSE means that there was chosen routing by rewrite routes.

Get routing strategy. TRUE means that there was automatically or manually chosen routing by query string values and FALSE means that there was chosen routing by rewrite routes.

Returns

boolean|null
public MvcCore\Router
# SetCurrentRoute( MvcCore\IRoute $currentRoute )

Set matched route instance for given request object into \MvcCore\Route::Route(); method. Currently matched route is always assigned internally in that method.

Set matched route instance for given request object into \MvcCore\Route::Route(); method. Currently matched route is always assigned internally in that method.

Parameters

$currentRoute

Returns

MvcCore\Router
public MvcCore\Route
# GetCurrentRoute( )

Get matched route instance reference for given request object into \MvcCore\Route::Route($request); method. Currently matched route is always assigned internally in that method.

Get matched route instance reference for given request object into \MvcCore\Route::Route($request); method. Currently matched route is always assigned internally in that method.

Returns

MvcCore\Route
public boolean
# GetRouteToDefaultIfNotMatch( )

Get TRUE if request has to be automatically dispatched as default Index:Index route, if there was no route matching current request and if request was not / (homepage) but /something-more. Default protected property value: FALSE.

Get TRUE if request has to be automatically dispatched as default Index:Index route, if there was no route matching current request and if request was not / (homepage) but /something-more. Default protected property value: FALSE.

Returns

boolean
public MvcCore\Router
# SetRouteToDefaultIfNotMatch( boolean $enable = TRUE )

Set TRUE if request has to be automatically dispatched as default Index:Index route, if there was no route matching current request and if request was not / (homepage) but /something-more. Default protected property value: FALSE.

Set TRUE if request has to be automatically dispatched as default Index:Index route, if there was no route matching current request and if request was not / (homepage) but /something-more. Default protected property value: FALSE.

Parameters

$enable

Returns

MvcCore\Router
public array &
# GetDefaultParams( )

Get default request params - default params to build URL with possibility to define custom records for filter functions. Be careful, it could contain XSS chars. Use always htmlspecialchars().

Get default request params - default params to build URL with possibility to define custom records for filter functions. Be careful, it could contain XSS chars. Use always htmlspecialchars().

Returns

array
public array &
# GetRequestedParams( )

Get all request params - params parsed by route and query string params. Be careful, it could contain XSS chars. Use always htmlspecialchars().

Get all request params - params parsed by route and query string params. Be careful, it could contain XSS chars. Use always htmlspecialchars().

Returns

array
public integer
# GetTrailingSlashBehaviour( )

Get trailing slash behaviour - integer state about what to do with trailing slash in all requested URL except homepage. Possible states are: - -1 (\MvcCore\IRouter::TRAILING_SLASH_REMOVE) Always remove trailing slash from requested URL if there is any and redirect to it, except homepage. - 0 (\MvcCore\IRouter::TRAILING_SLASH_BENEVOLENT) Be absolutely benevolent for trailing slash in requested url. - 1 (\MvcCore\IRouter::TRAILING_SLASH_ALWAYS) Always keep trailing slash in requested URL or always add trailing slash into URL and redirect to it. Default value is -1 - \MvcCore\IRouter::TRAILING_SLASH_REMOVE

Get trailing slash behaviour - integer state about what to do with trailing slash in all requested URL except homepage. Possible states are: - -1 (\MvcCore\IRouter::TRAILING_SLASH_REMOVE) Always remove trailing slash from requested URL if there is any and redirect to it, except homepage. - 0 (\MvcCore\IRouter::TRAILING_SLASH_BENEVOLENT) Be absolutely benevolent for trailing slash in requested url. - 1 (\MvcCore\IRouter::TRAILING_SLASH_ALWAYS) Always keep trailing slash in requested URL or always add trailing slash into URL and redirect to it. Default value is -1 - \MvcCore\IRouter::TRAILING_SLASH_REMOVE

Returns

integer
public MvcCore\Router
# SetTrailingSlashBehaviour( integer $trailingSlashBehaviour = -1 )

Set trailing slash behaviour - integer state about what to do with trailing slash in all requested URL except homepage. Possible states are: - -1 (\MvcCore\IRouter::TRAILING_SLASH_REMOVE) Always remove trailing slash from requested URL if there is any and redirect to it, except homepage. - 0 (\MvcCore\IRouter::TRAILING_SLASH_BENEVOLENT) Be absolutely benevolent for trailing slash in requested url. - 1 (\MvcCore\IRouter::TRAILING_SLASH_ALWAYS) Always keep trailing slash in requested URL or always add trailing slash into URL and redirect to it. Default value is -1 - \MvcCore\IRouter::TRAILING_SLASH_REMOVE

Set trailing slash behaviour - integer state about what to do with trailing slash in all requested URL except homepage. Possible states are: - -1 (\MvcCore\IRouter::TRAILING_SLASH_REMOVE) Always remove trailing slash from requested URL if there is any and redirect to it, except homepage. - 0 (\MvcCore\IRouter::TRAILING_SLASH_BENEVOLENT) Be absolutely benevolent for trailing slash in requested url. - 1 (\MvcCore\IRouter::TRAILING_SLASH_ALWAYS) Always keep trailing slash in requested URL or always add trailing slash into URL and redirect to it. Default value is -1 - \MvcCore\IRouter::TRAILING_SLASH_REMOVE

Parameters

$trailingSlashBehaviour

Returns

MvcCore\Router
public boolean
# GetAutoCanonizeRequests( )

Get boolean info about if router does automatic check for canonical URL request and if it process automatic redirect to canonical URL version if detected or if it doesn't.

Get boolean info about if router does automatic check for canonical URL request and if it process automatic redirect to canonical URL version if detected or if it doesn't.

Returns

boolean
public MvcCore\Router
# SetAutoCanonizeRequests( boolean $autoCanonizeRequests = TRUE )

Set TRUE to process automatic check for canonical URL request to process possible redirection if described request found after routing is processed. Default value is TRUE to do it. You can use FALSE otherwise for example for development purposes when you develop for example url filtering in and out.

Set TRUE to process automatic check for canonical URL request to process possible redirection if described request found after routing is processed. Default value is TRUE to do it. You can use FALSE otherwise for example for development purposes when you develop for example url filtering in and out.

Parameters

$autoCanonizeRequests

Returns

MvcCore\Router
public MvcCore\Router
# SetPreRouteMatchingHandler( callable $preRouteMatchingHandler = NULL )

Set up pre-route matching handler. This handler will be executed every time after rewrite routes strategy is chosen, after first word from requested path is parsed and before rewrite routes will be processed. The handler could be used to fill in routes you need by the first parsed word from request path and by completed request object. Given handler callable has to accept first argument to be router instance, second argument to be request object instance and third argument to be a string with possibly parsed first word from requested path or an empty string. Handler could return value to be void or anything else, doesn't matter. Example: $router->SetPreRouteMatchingHandler( function (\MvcCore\Router $router, \MvcCore\Request $request, $firstPathWord) { // load any routes from database here $routes = $db->loadRoutingRoutesGroup($firstPathWord); // add loaded routes into router $router->AddRoutes($routes, $firstPathWord); } );

Set up pre-route matching handler. This handler will be executed every time after rewrite routes strategy is chosen, after first word from requested path is parsed and before rewrite routes will be processed. The handler could be used to fill in routes you need by the first parsed word from request path and by completed request object. Given handler callable has to accept first argument to be router instance, second argument to be request object instance and third argument to be a string with possibly parsed first word from requested path or an empty string. Handler could return value to be void or anything else, doesn't matter. Example: $router->SetPreRouteMatchingHandler( function (\MvcCore\Router $router, \MvcCore\Request $request, $firstPathWord) { // load any routes from database here $routes = $db->loadRoutingRoutesGroup($firstPathWord); // add loaded routes into router $router->AddRoutes($routes, $firstPathWord); } );

Parameters

$preRouteMatchingHandler

Returns

MvcCore\Router
public callable|null
# GetPreRouteMatchingHandler( )

Get pre-route matching handler. This handler is always executed every time after rewrite routes strategy is chosen, after first word from requested path is parsed and before rewrite routes will be processed. The handler is always used to fill in routes you need by the first parsed word from request path and by completed request object. The handler callable accepts first argument to be router instance, second argument to be request object instance and third argument to be a string with possibly parsed first word from requested path or an empty string. Handler returns value to be void or anything else, doesn't matter.

Get pre-route matching handler. This handler is always executed every time after rewrite routes strategy is chosen, after first word from requested path is parsed and before rewrite routes will be processed. The handler is always used to fill in routes you need by the first parsed word from request path and by completed request object. The handler callable accepts first argument to be router instance, second argument to be request object instance and third argument to be a string with possibly parsed first word from requested path or an empty string. Handler returns value to be void or anything else, doesn't matter.

Returns

callable|null
public MvcCore\Router
# SetPreRouteUrlBuildingHandler( callable $preRouteUrlBuildingHandler = NULL )

Set up handler executed before building URL by rewrite routes. This handler will be executed every time there is necessary to build an URL when there are configured any rewrite routes and when there is no route found to do it. Then the handler is executed to load any group of routes from database into router instance if desired route is not already there. If there is no route found in database, route name to build url is marked to not request the database again automatically. Given handler callable has to accept first argument to be router instance, second argument to be a string with first Url() method argument - it could be controller and action combination or route name and third argument to be and array with params - the second argument from Url() method with arguments for final URL address. Handler has to return an array, empty or array with keys to be route names for each route to merge those new routes with already defined routes in router instance in protected property $router->urlRoutes. Example: $router->SetPreRouteUrlBuildingHandler( function (\MvcCore\Router $router, $controllerActionOrRouteName, array $params = []) { // load any routes from database here $routes = $db->loadUrlRoutesGroup($controllerActionOrRouteName); // return routes in array with keys to be route name for each route return $routes; } );

Set up handler executed before building URL by rewrite routes. This handler will be executed every time there is necessary to build an URL when there are configured any rewrite routes and when there is no route found to do it. Then the handler is executed to load any group of routes from database into router instance if desired route is not already there. If there is no route found in database, route name to build url is marked to not request the database again automatically. Given handler callable has to accept first argument to be router instance, second argument to be a string with first Url() method argument - it could be controller and action combination or route name and third argument to be and array with params - the second argument from Url() method with arguments for final URL address. Handler has to return an array, empty or array with keys to be route names for each route to merge those new routes with already defined routes in router instance in protected property $router->urlRoutes. Example: $router->SetPreRouteUrlBuildingHandler( function (\MvcCore\Router $router, $controllerActionOrRouteName, array $params = []) { // load any routes from database here $routes = $db->loadUrlRoutesGroup($controllerActionOrRouteName); // return routes in array with keys to be route name for each route return $routes; } );

Parameters

$preRouteUrlBuildingHandler
$preRouteMatchingHandler

Returns

MvcCore\Router
public callable|null
# GetPreRouteUrlBuildingHandler( )

Get handler executed before building URL by rewrite routes. This handler will be executed every time there is necessary to build an URL when there are configured any rewrite routes and when there is no route found to do it. Then the handler is executed to load any group of routes from database into router instance if desired route is not already there. If there is no route found in database, route name to build url is marked to not request the database again automatically. Given handler callable has to accept first argument to be router instance, second argument to be a string with first Url() method argument - it could be controller and action combination or route name and third argument to be and array with params - the second argument from Url() method with arguments for final URL address. Handler has to return an array, empty or array with keys to be route names for each route to merge those new routes with already defined routes in router instance in protected property $router->urlRoutes.

Get handler executed before building URL by rewrite routes. This handler will be executed every time there is necessary to build an URL when there are configured any rewrite routes and when there is no route found to do it. Then the handler is executed to load any group of routes from database into router instance if desired route is not already there. If there is no route found in database, route name to build url is marked to not request the database again automatically. Given handler callable has to accept first argument to be router instance, second argument to be a string with first Url() method argument - it could be controller and action combination or route name and third argument to be and array with params - the second argument from Url() method with arguments for final URL address. Handler has to return an array, empty or array with keys to be route names for each route to merge those new routes with already defined routes in router instance in protected property $router->urlRoutes.

Returns

callable|null
public boolean
# Route( )

Route current app request by configured routes lists or by query string. 1. Check if request is targeting any internal action in internal ctrl. 2. If request is not internal, redirect to possible better URL form by configured trailing slash strategy and return FALSE for redirection. 3. Choose route strategy by request path and existing query string controller and/or action values - strategy by query string or by rewrite routes. 4. Try to complete current route object by chosen strategy. 5. If any current route found and if route contains redirection, do it. 6. If there is no current route and request is targeting homepage, create new empty route by default values if ctrl configuration allows it. 7. If there is any current route completed, complete self route name by it to generate self routes and canonical URL later. 8. If there is necessary, try to complete canonical URL and if canonical URL is shorter than requested URL, redirect user to shorter version. If there was necessary to redirect user in routing process, return immediately FALSE and return from this method. Else continue to next step and return TRUE. This method is always called from core routing by: \MvcCore\Application::Run(); => \MvcCore\Application::routeRequest();.

Route current app request by configured routes lists or by query string. 1. Check if request is targeting any internal action in internal ctrl. 2. If request is not internal, redirect to possible better URL form by configured trailing slash strategy and return FALSE for redirection. 3. Choose route strategy by request path and existing query string controller and/or action values - strategy by query string or by rewrite routes. 4. Try to complete current route object by chosen strategy. 5. If any current route found and if route contains redirection, do it. 6. If there is no current route and request is targeting homepage, create new empty route by default values if ctrl configuration allows it. 7. If there is any current route completed, complete self route name by it to generate self routes and canonical URL later. 8. If there is necessary, try to complete canonical URL and if canonical URL is shorter than requested URL, redirect user to shorter version. If there was necessary to redirect user in routing process, return immediately FALSE and return from this method. Else continue to next step and return TRUE. This method is always called from core routing by: \MvcCore\Application::Run(); => \MvcCore\Application::routeRequest();.

Returns

boolean

Throws

LogicException
Route configuration property is missing.
InvalidArgumentException
Wrong route pattern format.
public boolean
# RedefineRoutedTarget( string $controllerNamePc = NULL, string $actionNamePc = NULL, boolean $changeSelfRoute = FALSE )

You can redefine target controller and action and it doesn't matter, what has been routed before. This method is only possible to use and it make sense to use it only in any application post route handler, after Route() method has been called and before controller is created by application and dispatched. This method is highly advanced. There is no missing template or controller or action checking.

You can redefine target controller and action and it doesn't matter, what has been routed before. This method is only possible to use and it make sense to use it only in any application post route handler, after Route() method has been called and before controller is created by application and dispatched. This method is highly advanced. There is no missing template or controller or action checking.

Parameters

$controllerNamePc
Pascal case classic controller name definition.
$actionNamePc
Pascal case action name without Action suffix.
$changeSelfRoute
FALSE by default to change self route to generate self URLs.

Returns

boolean
public string
# Url( string $controllerActionOrRouteName = 'Index:Index', array $params = [] )

Generates url: - By "Controller:Action" name and params array (for routes configuration when routes array has keys with "Controller:Action" strings and routes has not controller name and action name defined inside). - By route name and params array (route name is key in routes configuration array, should be any string, routes must have information about controller name and action name inside). Result address (url string) should have two forms: - Nice rewritten URL by routes configuration (for apps with URL rewrite support [Apache .htaccess or IIS URL rewrite module] and when first param is key in routes configuration array). - For all other cases is URL form like: "index.php?controller=ctrlName&amp;action=actionName" (when first param is not founded in routes configuration array). Method tries to find any route between routes by first argument and if there is no route but if there is any pre route URL building handler defined, the handler is called to assign desired routes from database or any other place and then there is processed route search between routes again. If there is still no routes, result url is completed in query string form.

Generates url: - By "Controller:Action" name and params array (for routes configuration when routes array has keys with "Controller:Action" strings and routes has not controller name and action name defined inside). - By route name and params array (route name is key in routes configuration array, should be any string, routes must have information about controller name and action name inside). Result address (url string) should have two forms: - Nice rewritten URL by routes configuration (for apps with URL rewrite support [Apache .htaccess or IIS URL rewrite module] and when first param is key in routes configuration array). - For all other cases is URL form like: "index.php?controller=ctrlName&amp;action=actionName" (when first param is not founded in routes configuration array). Method tries to find any route between routes by first argument and if there is no route but if there is any pre route URL building handler defined, the handler is called to assign desired routes from database or any other place and then there is processed route search between routes again. If there is still no routes, result url is completed in query string form.

Parameters

$controllerActionOrRouteName

Should be "Controller:Action" combination or just any route name as custom specific string.

$params

Optional, array with params, key is param name, value is param value.

Returns

string

Throws

InvalidArgumentException
public string
# UrlByQueryString( string $controllerActionOrRouteName = 'Index:Index', array & $params = [], string $givenRouteName = NULL )

Complete optionally absolute, non-localized URL with all params in query string. Example: "/application/base-bath/index.php?controller=ctrlName&amp;action=actionName&amp;name=cool-product-name&amp;color=blue"

Complete optionally absolute, non-localized URL with all params in query string. Example: "/application/base-bath/index.php?controller=ctrlName&amp;action=actionName&amp;name=cool-product-name&amp;color=blue"

Parameters

$controllerActionOrRouteName
$params
$givenRouteName

Returns

string
public string
# UrlByRoute( MvcCore\IRoute $route, array & $params = [], string $urlParamRouteName = NULL )

Complete optionally absolute, non-localized URL by route instance reverse pattern and given $params array. If any param required by reverse pattern is missing in params, there is used router default params completed in routing process. Example: Input (\MvcCore\Route::$reverse): "/products-list/<name>/<color>" Input ($params): [ "name" => "cool-product-name", "color" => "red", "variant" => ["L", "XL"], ]; Output: /application/base-bath/products-list/cool-product-name/blue?variant[]=L&amp;variant[]=XL"

Complete optionally absolute, non-localized URL by route instance reverse pattern and given $params array. If any param required by reverse pattern is missing in params, there is used router default params completed in routing process. Example: Input (\MvcCore\Route::$reverse): "/products-list/<name>/<color>" Input ($params): [ "name" => "cool-product-name", "color" => "red", "variant" => ["L", "XL"], ]; Output: /application/base-bath/products-list/cool-product-name/blue?variant[]=L&amp;variant[]=XL"

Parameters

$route
$params
$urlParamRouteName

Returns

string
public MvcCore\Route
# SetOrCreateDefaultRouteAsCurrent( string $routeName, string $controllerPc, string $actionPc, boolean $fallbackCall = FALSE )

THIS METHOD IS MOSTLY USED INTERNALLY.

THIS METHOD IS MOSTLY USED INTERNALLY.

Try to find any existing route by $routeName argument or try to find any existing route by $controllerPc:$actionPc arguments combination and set this founded route instance as current route object.

Also re-target, re-set request object controller and action values (or also path) to this newly configured current route object.

If there is no route by name or controller and action combination found, create new empty route by configured route class from application core and set up this new route by given $routeName, $controllerPc, $actionPc with route match pattern to match any request #/(?<path>.*)# and with reverse pattern /<path> to create URL by single path param only. And add this newly created route into routes (into default routes group) and set this new route as current route object.

This method is always called internally for following cases: - When router has no routes configured and request is necessary to route by query string arguments only (controller and action). - When no route matched and when is necessary to create default route object for homepage, handled by Index:Index by default. - When no route matched and when router is configured to route requests to default route if no route matched by $router->SetRouteToDefaultIfNotMatch();. - When is necessary to create not found route or error route when there was not possible to route the request or when there was any uncaught exception in controller or template caught later by application.

Parameters

$routeName

Always as default, error or not_found, by constants: \MvcCore\IRouter::DEFAULT_ROUTE_NAME \MvcCore\IRouter::DEFAULT_ROUTE_NAME_ERROR \MvcCore\IRouter::DEFAULT_ROUTE_NAME_NOT_FOUND

$controllerPc
Controller name in pascal case.
$actionPc
Action name with pascal case without ending Action substring.
$fallbackCall
FALSE by default. If TRUE, this function is called from error rendering fallback, self route name is not changed.

Returns

MvcCore\Route
Constants inherited from MvcCore\Router\IConstants
DEFAULT_ROUTE_NAME, DEFAULT_ROUTE_NAME_ERROR, DEFAULT_ROUTE_NAME_NOT_FOUND, TRAILING_SLASH_ALWAYS, TRAILING_SLASH_BENEVOLENT, TRAILING_SLASH_REMOVE, URL_PARAM_ABSOLUTE, URL_PARAM_ACTION, URL_PARAM_BASEPATH, URL_PARAM_CONTROLLER, URL_PARAM_DOMAIN, URL_PARAM_HOST, URL_PARAM_PATH, URL_PARAM_SLD, URL_PARAM_TLD
MvcCore API Documentation API documentation generated by ApiGen