All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[Unreleased] v0.28.0
Linna\Cache\RedisCache
class to cache data on Redis- Tests using Postgresql in GithubActions
Linna\Authorization\ExistsByIdInterface
interfaceLinna\Authorization\ExistsByNameInterface
interfaceLinna\Authorization\PermissionExtended
classLinna\Authorization\PermissionExtendedMapperInterface
interfaceLinna\Authorization\RoleExtended
classLinna\Authorization\RoleExtendedMapperInterface
interfaceLinna\Authorization\RoleTrait
traitLinna\Authorization\UserExtended
classLinna\Authorization\UserExtendedMapperInterface
interfaceLinna\Authorization\UserTrait
trait
Linna\Crypto
namespaceLinna\Crypto\KeyPair
classLinna\Crypto\PublicKeyCrypto
classLinna\Crypto\SecretKeyCrypto
class
Linna\DataMapper\DomainObjectAbstract->hasId()
method, use it to check if a domain object has the id setLinna\DataMapper\DomainObjectAbstract->hasNotId()
method, the opposite ofhadId()
Linna\DataMapper\Exception
namespaceLinna\DataMapper\Exception\NullDomainObjectException
exception
Linna\Session\EncryptedSessionHandler
class, a decorator to provide a encryption layer to other handlersLinna\Session\PdoSessionHandler
class to unifyMysqlPdoSessionHandler
PgsqlPdoSessionHandler`Linna\Session\PdoSessionHandlerQueryInterface
interfaceLinna\Session\PdoSessionHandlerMysqlQuery
classLinna\Session\PdoSessionHandlerPostgreQuery
class
Linna\Authentication\Password
now use internally libosudium functions for password hashingLinna\Authentication\Password->__construct()
now hasint $opsLimit
andint $memLimit
with default values set to2
and67108864
as argumentsLinna\Authentication\User
moved under the namespaceLinna\Authorization
- Tests with Paratest
- Cache TTL handling improved
Linna\Cache\MemcachedCache->__construct()
now requires only options about memcached server/servers
- The id of a
DomainObjectAbstract
is nowint|string
to use both a numeric id and a string uuid, this change has been reflected on all classes that use these values Linna\DataMapper\NullDomainObject
now throw aNullDomainObjectException
when try to set or get the object idLinna\DataMapper\UUID4
class renamed toUuid4
to respect class naming concention
Linna\Mvc\Model
is now anabstract
classLinna\Mvc\View
is now anabstract
classLinna\Mvc\Controller
is now anabstract
class
Linna\Authentication\Authentication->Login()
method now is safe against timing attacks
Linna\Session\Session
double cookie header when new session starts
Linna\Authorization\RoleToUserMapperInterface
class
Linna\Session\MysqlPdoSessionHandler
classLinna\Session\PgsqlPdoSessionHandler
class
v0.27.0 - 2022-09-17
Linna\Authentication\Exception\AuthenticationException
now extendLinna\Router\Exception\RedirectException
Linna\Authorization\Exception
namespaceLinna\Authorization\Exception\AuthorizationException
exception
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
Linna\DataMapper\DomainObjectAbstract->created
public propertyLinna\DataMapper\DomainObjectAbstract->lastUpdate
public propertyLinna\DataMapper\DomainObjectAbstract->id
protected property accessible via__get()
method
Linna\Router\Router->parseQueryStringOnRewriteModeOn
protected propertyparseQueryStringOnRewriteModeOn
as valid option for constructor
Linna\Session\PgsqlSessionHandler
classLinna\Session\Session->getSessionName()
methodLinna\Session\Session->getSessionId()
methodLinna\Session\Session->getStatus()
method
Linna\Shared\AbstractAccessTrait
traitLinna\Shared\ArrayAccessTrait
traitLinna\Shared\PropertyAccessTrait
traitLinna\Shared\AbstractStorageFactory
class
- PHP 8.1 required
- Constructor property promotion used when possible
- Readonly properties used when possible
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
- Now drivers use Psr\SimpleCache instead of my typed verion
Linna\Container\Container
now it is possible resolve classes with interface as parameterLinna\Container\Container
minor code optimizations
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
Linna\Mvc\FrontController
now search for defaultentryPoint
method instead ofindex
if$route
has notaction
setLinna\Mvc\FrontController
renamed asLinna\Mvc\ModelViewController
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
- All properties now are
private
, class more incapsulated
Linna\Container\Container
error when a class without__construct
method is encountered
Linna\DataMapper\MapperAbstract->save()
update after insert
Linna\Session\Session
session die because it does not refresh expiration time on client, also if present user interaction, with browser
Linna\Mvc\View->__construct()
no longer requireModel
as first parameter, useless reference
Linna\Router\Router->badRoute
protected property
Linna\Storage\AbstractStorageFactory
class, moved toLinna\Shared
namespace
v0.26.0 - 2019-08-05
Linna\DataMapper\UUID4
class
Linna\Router\Route->allowed
propertyLinna\Router\Route->getAllowed()
methodLinna\Router\Router
chars accepted in route params now are 0-9 A-Z a-z ._-Linna\Router\Exception
namespaceLinna\Router\Exception\RedirectException
exception
- minimum php version 7.2
- tests updated
Linna\Router\Router->__construct()
now require aLinna\Router\RouteCollection
as first argument
Linna\Storage\ConnectorsInterface->getResource()
now has return typeobject
Linna\Storage\Connectors\PdoConnector->getResource()
now has return typeobject
Linna\Storage\Connectors\MysqliConnector->getResource()
now has return typeobject
Linna\Storage\Connectors\MongoDBConnector->getResource()
now has return typeobject
Linna\Authentication\User->changePassword()
typo error in method nameLinna\Mvc\FrontController->runView()
error when$this->routeAction
value called as method and not declared on view class
v0.25.0 - 2019-01-13
Linna\Authentication\ProtectedController->protectWithRedirect()
methodLinna\Authentication\Exception\AuthenticationException
exception
Linna\Authorization\EnhancedUser->__construct()
Linna\Authorization\EnhancedUser->hasRole()
methodLinna\Authorization\EnhancedUser->hasRoleById()
methodLinna\Authorization\EnhancedUser->hasRoleByName()
methodLinna\Authorization\EnhancedUserMapperInterface->grantPermission()
methodLinna\Authorization\EnhancedUserMapperInterface->grantPermissionById()
methodLinna\Authorization\EnhancedUserMapperInterface->grantPermissionByName()
methodLinna\Authorization\EnhancedUserMapperInterface->revokePermission()
methodLinna\Authorization\EnhancedUserMapperInterface->revokePermissionById()
methodLinna\Authorization\EnhancedUserMapperInterface->rovekePermissionByName()
methodLinna\Authorization\EnhancedUserMapperInterface->addRole()
methodLinna\Authorization\EnhancedUserMapperInterface->addRoleById()
methodLinna\Authorization\EnhancedUserMapperInterface->addRoleByName()
methodLinna\Authorization\EnhancedUserMapperInterface->removeRole()
methodLinna\Authorization\EnhancedUserMapperInterface->removeRoleById()
methodLinna\Authorization\EnhancedUserMapperInterface->removeRoleByName()
methodLinna\Authorization\FetchByPermissionInterface
interfaceLinna\Authorization\FetchByRoleInterface
interfaceLinna\Authorization\FetchByUserInterface
interfaceLinna\Authorization\PermissionTrait->canById()
methodLinna\Authorization\PermissionTrait->canByName()
methodLinna\Authorization\PermissionMapperInterface->permissionExistById()
methodLinna\Authorization\PermissionMapperInterface->permissionExistByName()
methodLinna\Authorization\Role->isUserInRole()
methodLinna\Authorization\Role->isUserInRoleById()
methodLinna\Authorization\Role->isUserInRoleByName()
methodLinna\Authorization\RoleMapperInterface->grantPermission()
methodLinna\Authorization\RoleMapperInterface->grantPermissionById()
methodLinna\Authorization\RoleMapperInterface->grantPermissionByName()
methodLinna\Authorization\RoleMapperInterface->revokePermission()
methodLinna\Authorization\RoleMapperInterface->revokePermissionById()
methodLinna\Authorization\RoleMapperInterface->revokePermissionByName()
methodLinna\Authorization\RoleMapperInterface->addUser()
methodLinna\Authorization\RoleMapperInterface->addUserById()
methodLinna\Authorization\RoleMapperInterface->addUserByName()
methodLinna\Authorization\RoleMapperInterface->removeUser()
methodLinna\Authorization\RoleMapperInterface->removeUserById()
methodLinna\Authorization\RoleMapperInterface->removeUserByName()
methodLinna\Authorization\RoleToUserMapperInterface
interface
Linna\DataMapper\FetchAllInterface
interfaceLinna\DataMapper\FetchByNameInterface
interfaceLinna\DataMapper\FetchLimitInterface
interface
Linna\Authentication\LoginAttempt
default value added to propertiesLinna\Authentication\Password->__construct()
now accept as agumentint $algo
andarray $options
Linna\Authentication\ProtectedController
now throwAuthenticationException
when try to access to protected resource without authenticationLinna\Authentication\ProtectedController->protect()
metod now accept as argumentAuthentication
instance and http status code asint
Linna\Authentication\ProtectedController
renamed toLinna\Authentication\ProtectedControllerTrait
Linna\Authentication\User
default value added to propertiesLinna\Authentication\UserMapperInterface
extendsLinna\DataMapper\FetchByNameInterface
Linna\Authorization\Authorization
default value added to propertiesLinna\Authorization\Authorization->can
now accept Permission instance, permission id as integer or permission name as stringLinna\Authorization\EnhancedUserMapperInterface
extendsLinna\Authorization\FetchByPermissionInterface
Linna\Authorization\EnhancedUserMapperInterface
extendsLinna\Authorization\FetchByRoleInterface
Linna\Authorization\Permission
default value added to propertiesLinna\Authorization\PermissionMapperInterface
extendsLinna\DataMapper\FetchByNameInterface
Linna\Authorization\PermissionMapperInterface
extendsLinna\Authorization\FetchByRoleInterface
Linna\Authorization\PermissionMapperInterface
extendsLinna\Authorization\FetchByUserInterface
Linna\Authorization\PermissionTrait->can()
now accepts as argumentLinna\Authorization\Permission
instanceLinna\Authorization\RoleMapperInterface
extendsLinna\Authorization\FetchByPermissionInterface
Linna\Authorization\RoleMapperInterface
extendsLinna\Authorization\FetchByUserInterface
Linna\Authorizationn\PermissionTrait
default value added to propertiesLinna\Authorizationn\Role
default value added to properties
Linna\Linna\DataMapper\DomainObjectAbstract->rId
public property added
Linna\Http
namespace renamed toLinna\Router
Linna\Router\Route
memory usage improvementLinna\Router\Route
all properties now are publicLinna\Router\Router
default value added to propertiesLinna\Router\Router
memory usage improvementLinna\Router\Router->map()
now accept as argument instance ofRouteInterface
instead ofarray
Linna\Mvc\FrontController
default value added to propertiesLinna\Mvc\FrontController->__construct()
now acceptRouteInterface
instance as last argument instead of$action
and$param
Linna\Mvc\View->__construct()
now needModel
andTemplateInterface
as arguments
Linna\Session\MemcachedSessionHandler
default value added to propertiesLinna\Session\Session
default value added to propertiesLinna\Session\Session
memory usage improvement
Linna\Storage\AbstractConnector
default value added to propertiesLinna\Storage\AbstractStorageFactory
default value added to propertiesLinna\Storage\ExtendedPDO
default value added to properties
- Minor issues fixed
Linna\Authorization\EnhancedUserMapperInterface->fetchUserByRole()
methodLinna\Authorization\EnhancedUserMapperInterface->fetchUserByPermission()
methodLinna\Authorization\EnhancedUserMapperInterface->grant()
methodLinna\Authorization\EnhancedUserMapperInterface->revoke()
methodLinna\Authorization\PermissionMapperInterface->fetchPermissionsByRole()
methodLinna\Authorization\PermissionMapperInterface->fetchPermissionsByUser()
methodLinna\Authorization\PermissionMapperInterface->fetchUserPermissionHashTable()
methodLinna\Authorization\PermissionMapperInterface->permissionExist()
methodLinna\Authorization\PermissionTrait->getPermissions()
methodLinna\Authorization\PermissionTrait->setPermissions()
methodLinna\Authorization\Role->getUsers()
methodLinna\Authorization\Role->setUsers()
methodLinna\Authorization\RoleMapperInterface->fetchUserInheritedPermissions()
methodLinna\Authorization\RoleMapperInterface->permissionGrant()
methodLinna\Authorization\RoleMapperInterface->permissionRevoke()
methodLinna\Authorization\RoleMapperInterface->userAdd()
methodLinna\Authorization\RoleMapperInterface->userRemove()
method
Linna\Router\NullRoute->toArray()
methodLinna\Router\RouteCollection->toArray()
method, use->getArrayCopy()
insteadLinna\Router\RouteInterface->toArray()
method
Linna\Shared\ClassOptionsTrait
trait
v0.24.0 - 2018-09-01
Linna\Authentication\PasswordGenerator
classLinna\DI\Container
constructor, now rules should be passed here- void return type to methods
- Namespace for tests
- Minimun PHP version: 7.1
- Exception messages
Linna\Authentication\Authenticate
renamed toLinna\Authentication\Authentication
Linna\Authentication\EnhancedAuthenticate
renamed toLinna\Authentication\EnhancedAuthentication
Linna\Authentication\EnhancedAuthenticateMapperInterface
renamed toLinna\Authentication\EnhancedAuthenticationMapperInterface
Linna\Authorization\Authorize
renamed toLinna\Authorization\Authorization
Linna\DI
namespace renamed toLinna\Container
- Tests updated
Linna\Helper\Env
class, use instead dotenv packageLinna\Helper\Str
classLinna\Http\RouterCached
class, caching will be added to app packageLinna\DI\Container->setRules()
method
v0.23.1 - 2017-11-01
Linna\Mvc\FrontController
view don't call default method
v0.23.0 - 2017-11-01
Linna\Authentication\User->uuid
propertyLinna\Mvc\Model->set()
method for set data to notify to observerLinna\Mvc\Model->get()
method for retrive data to notify to observerLinna\Helper\Env
class #58Linna\Helper\Eng::get()
static methodLinna\Helper\Str
class #58Linna\Helper\Str::startsWith()
static methodLinna\Helper\Str::endsWith()
static method
Linna\Cache\DiskCache->__construct()
ttl option removedLinna\Http\FastMapTrait
merged intoLinna\Http\Router
through magic__call()
Linna\Session\MysqlPdoSessionHandler->__construct()
now expectLinna\Storage\ExtendedPDO
as parameterLinna\Storage\PdoStorage
moved toLinna\Storage\Connectors\PdoConnector
Linna\Storage\MysqliStorage
moved toLinna\Storage\Connectors\MysqliConnector
Linna\Storage\MongoDbStorage
moved toLinna\Storage\Connectors\MongoDBConnector
Linna\Storage\StorageInterface
renamed toLinna\Storage\ConnectorInterface
Linna\Storage\StorageFactory->get()
now return the connection resource directly
Linna\Auth\Authenticate
login data doesn't update after loginLinna\Mvc\FrontController
action execution before and after
Linna\Http\FastMapTrait
v0.22.0 - 2017-10-24
Linna\Autoloader->unregister()
methodLinna\Authentication\EnhancedAuthenticate
classLinna\Authentication\EnhancedAuthenticateMapperInterface
interfaceLinna\Authentication\LoginAttempt
classLinna\Storage\ExtendedPDO->getLastOperationStatus()
method
Linna\Auth
splitted intoLinna\Authentication
andLinna\Authorization
Linna\Auth\Authenticate
moved under namespaceLinna\Authentication
Linna\Auth\Password
moved under namespaceLinna\Authentication
Linna\Auth\ProtectedController
moved under namespaceLinna\Authentication
Linna\Auth\User
moved under namespaceLinna\Authentication
Linna\Auth\UserMapperInterface
moved under namespaceLinna\Authentication
Linna\Auth\Authorize
moved under namespaceLinna\Authorization
Linna\Auth\EnhancedUser
moved under namespaceLinna\Authorization
Linna\Auth\EnhancedUserMapperInterface
moved under namespaceLinna\Authorization
Linna\Auth\Permission
moved under namespaceLinna\Authorization
Linna\Auth\PermissionMapperInterface
moved under namespaceLinna\Authorization
Linna\Auth\PermissionTrait
moved under namespaceLinna\Authorization
Linna\Auth\Role
moved under namespaceLinna\Authorization
Linna\Auth\RoleMapperInterface
moved under namespaceLinna\Authorization
- Tests updated
v0.21.0 - 2017-10-04
Linna\Mvc\TemplateInterface->setData()
for set template dataLinna\Storage\ExtendedPDO
classLinna\Storage\AbstractStorageFactory
class
Linna\Http\Router
does not pass attributematches
toLinna\Http\Route
Linna\Mvc\View->render()
now callLinna\Mvc\TemplateInterface->setData()
Linna\Storage\PdoStorage
now return aLinna\Storeage\ExtendedPDO
instanceLinna\Cache\DiskCache
now depends fromLinna\Storage\AbstractStorageFactory
Linna\Storage\StorageFactory
now depends fromLinna\Storage\AbstractStorageFactory
Linna\Storage\StorageFactory->getConnection()
changed name toLinna\Storage\StorageFactory->get()
- Tests updated
Linna\Http\Router
property$router
docblockLinna\Cache\MemcachedCache->set()
double cast to intLinna\DataMapper\DomaninObjectAbstract->setId()
double cast to int
v0.20.2 - 2017-07-25
Linna\Http\Router
optionrewriteModeOffRouter
Linna\Http\Router
when work in write mode off- tests updated
v0.20.1 - 2017-07-17
- file permissions
v0.20.0 - 2017-07-16
Linna\Http\RouteCollection
for createLinna\Http\Route
objectc collections- require linna/typed-array > ^v1.0
- tests updated
CHANGELOG.md
links url
v0.19.0 - 2017-06-24
Linna\Cache\CacheFactory
for get cache resources
Linna\DI\Container
test updatedLinna\DI\Resolver
merged withLinna\DI\Container
Linna\Session\Session
bug on cookie create
Linna\Cache\Exception\InvalidArgumentException
reminiscence of PSR simple-cacheLinna\Auth\PermissionTrait->showPermissions()
method, usegetPermissions()
insteadLinna\Auth\Role->showUsers()
method, usegetUsers()
instead
v0.18.0 - 2017-05-30
Linna\Storage\PostgresqlPdoStorage
for PostgreSql database connections.Linna\Storage\StorageInterface
implementation must containpublic function __construct(array $options)
Linna\Storage\PdoStorage
instead ofLinna\Storage\PostgresqlPdoStorage
andLinna\Storage\MysqlPdoStorage
- Cache depends from s3b4stian simple-cache instead of Psr simple-cache
Linna\Mvc\FrontController->response()
return type added:string
Linna\Mvc\TemplateInterface->output()
return type added:string
Linna\Mvc\View->render()
return type added:string
Linna\Mvc\TemplateInterface->output()
changed name toLinna\Mvc\TemplateInterface->getOutput()
v0.17.0 - 2017-05-05
Linna\Http\Router
now can use REST routesLinna\Http\Router
now return aLinna\Http\NullRoute
when didn't find a routeLinna\Http\NullRoute
objectLinna\Shared\ClassOptionsTrait->setOptions
now throw an\InvalidArgumentException
for bad option names
Linna\Http\RouterCached
constructor parameters order changedLinna\Storage\MysqlPdoObject
changed name toLinna\Storage\MysqlPdoStorage
Linna\Storage\MysqliObject
changed name toLinna\Storage\MysqliStorage
Linna\Storage\MongoDbOject
changed name toLinna\Storage\MongoDbStorage
Linna\Storage\StorageObjectInterface
changed name toLinna\Storage\StorageInterface
v0.16.0 - 2017-04-20
Linna\Http\Route->getName()
methodLinna\Http\Route->getMethod()
methodLinna\Http\Route->getUrl()
method
Linna\Http\FastMapTrait->mapGet()
changed name toLinna\Http\FastMapTrait->get()
Linna\Http\FastMapTrait->mapPost()
changed name toLinna\Http\FastMapTrait->post()
Linna\Http\FastMapTrait->mapPut()
changed name toLinna\Http\FastMapTrait->put()
Linna\Http\FastMapTrait->mapPatch()
changed name toLinna\Http\FastMapTrait->patch()
Linna\Http\FastMapTrait->mapDelete()
changed name toLinna\Http\FastMapTrait->delete()
Linna\Http\FrontController
moved toLinna\Mvc\FrontController
Linna\Http\Route->getArray()
changed name toLinna\Http\Route->toArray()
Linna\Http\Router
url evaluation improved with rewrite mode offLinna\Mvc\FrontController
Route class dependency removedLinna\Storage\MysqlPdoAdapter
changed name toLinna\Storage\MysqlPdoObject
Linna\Storage\MysqliAdapter
changed name toLinna\Storage\MysqliObject
Linna\Storage\MongoDbAdapter
changed name toLinna\Storage\MongoDbOject
Linna\Storage\StorageInterface
changed name toLinna\Storage\StorageObjectInterface
- Varius internal code improvements
- Tests now cover 100% of code
v0.15.0 - 2017-03-28
Linna\Http\FastMapTrait
traitLinna\Http\Router->map()
method for register routes after router instance creationLinna\Auth\Authorize
classLinna\Auth\EnhancedUser
classLinna\Auth\EnhancedUserMapperInterface
interfaceLinna\Auth\Permission
classLinna\Auth\PermissionMapperInterface
interfaceLinna\Auth\PermissionTrait
traitLinna\Auth\Role
classLinna\Auth\RoleMapperInterface
interfaceLinna\Auth\UserMapperInterface
interfaceLinna\DataMapper\NullDomaninObject
classLinna\Storage\StorageFactory
classLinna\Cache\ActionMultipleTrait
added instead duplicate code inLinna\Cache\MemcachedCache
andLinna\Cache\DiskCache
Linna\Shared
namespaceLinna\Shared\ClassOptionsTrait
trait, provide methods for set options
- Documentation moved
Linna\Http\Router
returnfalse
when there isn't an error route configuredLinna\Auth\Login
changed name toLinna\Auth\Authenticate
Linna\Storage\AdapterInterface
changed name toLinna\Storage\StorageInterface
- Deprecated property
private $expire
inLinna\Auth\Login
v0.14.0 - 2017-02-27
Linna\Cache
namespaceLinna\Cache\MemcachedCache
class, provide PSR-16 implementationLinna\Cache\DiskCache
class, provide PSR-16 implementationLinna\Cache\Exception\InvalidArgumentException
exception- Tests for
Linna\Cache
Linna\Session\Session
can store value using array or property syntaxLinna\Session\Session->status
property added, indicate session status$options
parameter added toLinna\Auth\Password->__construct()
Linna\Http\Router->validate()
type return bool
- Session tests updated
Linna\Http\RouterCached
now requireCacheInterface
instead ofMemcached
Linna\DI\DIContainer
changed name toLinna\DI\Container
Linna\DI\DIResolver
changed name toLinna\DI\Resolver
v0.13.0 - 2017-02-19
Linna\Http\FrontController
can execute actions before and after main controller action- When extend
Linna\Mvc\Controller
it's possible declare global before() and after() valid for all controller actions - When extend
Linna\Mvc\Controller
it's possible declare specific before() and after() methods for one controller action
- Optimized
Linna\DI\DIResolver
memory usage - Optimized
Linna\Http\Router->validate()
Linna\Auth\Login
change name toLinna\Auth\Authenticate
- Tests updated
- Abstract methods in
Linna\DI\ArrayAccessTrait
andLinna\DI\PropertyAccessTrait
undeclared arguments
v0.12.0 - 2017-02-14
Linna\DI\DIContainer
switched fromInterop\Container\ContainerInterface
to PSR-11Linna\DI\Exception\Container
change name toLinna\DI\Exception\ContainerException
Linna\DI\Exception\NotFound
change name toLinna\DI\Exception\NotFoundException
Linna\Autoloader
now not throw exceptionsLinna\Autoloader
tests updated
v0.11.0 - 2017-02-11
- Tests for
Linna\Storage\MysqliAdapter
- Tests for
Linna\Storage\MongoDbAdapter
Linna\DI\DIResolver
tests updatedLinna\DI\DIContainer
tests updatedLinna\DI\DIResolver
now implementsInterop\Container\ContainerInterface
Linna\DI\DIResolver
now possible access data with array syntax or with methods
v0.10.0 - 2017-02-03
- Added
Linna\Storage\MysqlPdoAdapter
class - Added
Linna\Storage\MysqliAdapter
class - Added
Linna\Storage\MongoDbAdapter
class - Added possibility for
Linna\DI\DIResolver
to resolve classes with no class instance parameters - Added
Linna\DI\DIResolver->rules()
method for store rules for parameters that are no class instance
Linna\DI\DIResolver
internal optimizationLinna\DI\DIResolver->resolve()
method now resolve using \ or not before class name- Namespace
Linna\Database
turned inLinna\Storage
- Class
Linna\Session\DatabaseSessionHandler
turned inLinna\Session\MysqlPdoSessionHandler
- Trait
Linna\Auth\ProtectedController
updated - Tests updated
- Removed class
Linna\Database\Database