New on this version
NOTE: Code porting to PHP 8.1 ongoing.
Added
Authentication
Linna\Authentication\Exception\AuthenticationException
now extendLinna\Router\Exception\RedirectException
Authorization
Linna\Authorization\Exception
namespaceLinna\Authorization\Exception\AuthorizationException
exception
Container
Linna\Container\Container::RULE_INTERFACE
public constant, use it in rules for resolve interfacesLinna\Container\Container::RULE_ARGUMENT
public constant, use it in rules for resolve other arguments
Data Mapper
Linna\DataMapper\DomainObjectAbstract->created
public propertyLinna\DataMapper\DomainObjectAbstract->lastUpdate
public propertyLinna\DataMapper\DomainObjectAbstract->id
protected property accessible via__get()
method
Router
Linna\Router\Router->parseQueryStringOnRewriteModeOn
protected propertyparseQueryStringOnRewriteModeOn
as valid option for constructor
Session
Linna\Session\PgsqlSessionHandler
classLinna\Session\Session->getSessionName()
methodLinna\Session\Session->getSessionId()
methodLinna\Session\Session->getStatus()
method
Shared
Linna\Shared\AbstractAccessTrait
traitLinna\Shared\ArrayAccessTrait
traitLinna\Shared\PropertyAccessTrait
traitLinna\Shared\AbstractStorageFactory
class
Changed
- PHP 8.1 required
- Constructor property promotion used when possible
- Readonly properties used when possible
Authentication
Linna\Authentication\Exception\AuthenticationException
now extendLinna\Router\Exception\RedirectException
Linna\Authentication\ProtectedControllerTrait->protect()
now have as second argumentstring $route
instead ofint $httpResponseCode = 403
Linna\Authentication\ProtectedControllerTrait->protectWithRedirect()
now have a third argumentstring $route
Cache
- Now drivers use Psr\SimpleCache instead of my typed verion
Container
Linna\Container\Container
now it is possible resolve classes with interface as parameterLinna\Container\Container
minor code optimizations
Data Mapper
Linna\DataMapper\MapperAbstract->save()
update after insertLinna\DataMapper\DomainObjectAbstract->id
when not set has value-1
instead of0
Linna\DataMapper\DomainObjectAbstract->setId
argument renamedobjectId
toid
Linna\DataMapper\DomainObjectAbstract->rId
public property removedLinna\DataMapper\DomainObjectAbstract->objectId
protected property renamed toid
Mvc
Linna\Mvc\FrontController
now search for defaultentryPoint
method instead ofindex
if$route
has notaction
setLinna\Mvc\FrontController
renamed asLinna\Mvc\ModelViewController
Router
badRoute
it is no longer a valid option for constructorLinna\Router\Route
as data-transfer object, all properties are read-only, all methods removedLinna\Router\Route
now used named arguments in constructor, array options no longer supportedLinna\Router\Router
now used named arguments in constructor, array options no longer supported
Session
- All properties now are
private
, class more incapsulated
Fixed
Container
Linna\Container\Container
error when a class without__construct
method is encountered
Data Mapper
Linna\DataMapper\MapperAbstract->save()
update after insert
Session
Linna\Session\Session
session die because it does not refresh expiration time on client, also if present user interaction, with browser
Removed
Mvc
Linna\Mvc\View->__construct()
no longer requireModel
as first parameter, useless reference
Router
Linna\Router\Router->badRoute
protected property
Storage
Linna\Storage\AbstractStorageFactory
class, moved toLinna\Shared
namespace