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.
Memcached
support- multi db types support (Db Wrapper)
PhpFastCache
to ^7.0
- UQuery multi models fatal error (see #63)
Startup
class optimization
Induced by multi database functionality:
- Database startup with
DAO::startDatabase($config)
inservices.php
file is useless, no need to start the database, the connection is made automatically at the first request. - Use
DAO::start()
inservices.php
file when using several databases (withmulti db
feature)
For optimization reasons:
- the classes used only in development (common to devtools and webtools) have been relocated in the phpmv/ubiquity-dev package.
- Update devtools:
composer global update
- route caching pb for routes with variables (no open issue)
- Web-tools
- Maintenance mode (see phpMv#49)
- Updates checking for caches
- Customization (tools)
- Webtools removed from Ubiquity main repository and are in there own repo
Use composer require phpmv/ubiquity-webtools
to install them.
Classes relocation
Ubiquity\controllers\admin\utils\CodeUtils
->Ubiquity\utils\base\CodeUtils
Ubiquity\controllers\admin\interfaces\HasModelViewerInterface
->Ubiquity\controllers\crud\interfaces\HasModelViewerInterface
Ubiquity\controllers\admin\viewers\ModelViewer
->Ubiquity\controllers\crud\viewers\ModelViewer
Ubiquity\controllers\admin\popo\CacheFile
->Ubiquity\cache\CacheFile
Ubiquity\controllers\admin\popo\ControllerSeo
->Ubiquity\seo\ControllerSeo
Ubiquity\controllers\admin\traits\UrlsTrait
->Ubiquity\controllers\crud\traits\UrlsTrait
- Update devtools:
composer global update
- In existing projects:
composer require phpmv/ubiquity-webtools
for webtools installation.
- Router: pb with route priority attribute see #54
- Models generation (Engineering-Forward) by UbiquityMyadmin interface was updated to avoid wrong outputs from
__toString()
function. #58- Field name is checked on different names which could be a hint for a password field.
- The following field names are supported:
- American English: password
- Brazilian Portuguese: senha
- Croatian: lozinka
- Czech: heslotajne OR helslo_tajne
- Danish: password
- Dutch: wachtwoord
- European Spanish: contrasena
- Finnish: salasana
- French: motdepasse OR mot_de_passe
- German: passwort
- Italian: password
- Norwegian: passord
- Polish: haslo
- European Portuguese: senha
- Romanian: parola
- Russian: naponb
- Latin American Spanish: contrasena
- Swedish: loesenord OR losenord
- Turkish: sifre
- Ukrainian: naponb
- Vietnamese: matkhau OR mat_khau
Translate
module in webtoolstransChoice
method for translations with pluralization (tc
in twig templates)- Transactions and nested transactions in
Database
andDAO
classes see #42 getById
method inDAO
class (optimization)Ubiquity-swoole
server (Ubiquity serve --type=swoole
)
- Fatal error in startup (not 404) fix #43
- Version 2.1.3 displays the number of version 2.1.2
- Support for Http methods customization (for URequest & Uresponse) via
Ubiquity\utils\http\foundation\AbstractHttp
class. - Support for session customization via
Ubiquity\utils\http\session\AbstractSession
- multisites session
Ubiquity\utils\http\session\MultisiteSession
(1.0.0-beta) ReactPHP
server available from the devtools withUbiquity serve -t=react
command
- [ORM] model Table annotation : fix #39
- [Logging] init logger fails if debug=false : fix #31
- DAO querying, updates
- In doc for di : fix #41
- Twig views caching : fix phpMv#26
- ORM : sync
$instance->_rest
array with$instance
updates - REST:
Transformer
module see in documentationSimpleRestController
+SimpleApiRestController
classes for Rest part
Translation
module use default cache system (ArrayCache) and no more APC (performances ++)
- webtools Rest section
Authorization Bearer
pb in input field (no open issue)POST
request for adding an instance withRestController
(no open issue)
- webtools Models section, CRUDControllers
- Model adding or updating in modal form fail see phpMv#25
- JsonAPI finalization
- REST module rest doc
- Transformers module Transformers doc
- Themes manager with bootstrap, Semantic-ui and foundation
AssetsManager
for css,js, fonts and images integrationThemesManager
for css framework integration- Themes part in webtools interface
- Dependency injection annotations
@injected
inject a member in a controller defined by a dependency in config@autowired
inject an instance of class defined by type with@var
annotation
- dependency injection mecanism
- controller cache for di
@exec
key inconfig[di]
for injections at runtime
use "di"=>["@exec"=>[your injections]]
instead of "di"=>[your injections]
- An exception is thrown In case of problem with the Database connection (in
DataBase::connect
method) see phpMv#12
The connection to the database must be protected by a
try/catch
inapp/config/services.php
try{
\Ubiquity\orm\DAO::startDatabase($config);
}catch(Exception $e){
echo $e->getMessage();
}
- Dependency injection updates di doc
- Themes managment Assets and themes doc
- Rest JsonAPI implementation
JsonApiRestController
class
- methods in
UCookie
exists
: Tests the existence of a cookiesetRaw
: Sends a raw cookie without urlencoding the cookie value
- method in
UResponse
enableCORS
: enables globaly CORS for a domain (this was possible before by usingsetAccessControl*
methods)
- method
set
inUCookie
(parameters$secure
&$httpOnly
added)
- issue pb with config variable in Twig views
- deprecated ref to apcu in Translation
ArrayLoader
removed
- Webtools
- validation info in models part
- Acceptance, functionnal and unit tests (70% coverage)
- Webtools
- models metadatas presentation
- Documentation
- Restoration of Translation class
- Compatibility with devtools 1.1.5
- Usage of
@
(replaced with??
operator)
- Optimizations
- ORM & relations oneToMany
- apc to apcu cache for Translations
- Router : routes array minification
- Scrutinizer debugging : 0 bug !
- Scrutinizer evaluation : 9.61 very good!
- Translator=>TranslatorManager with static methods
- Scrutinizer cleaning
- String validators
Update for phpbenchmarks compatibility
- TranslatorManager
- ValidatorsManager
- NormalizersManager
- UQL (Ubiquity Query Language)
- AuthControllers
- CRUDControllers
- SQL Queries optimization (groupings)
- Config file edition and checking
- @framework location for internal default views
- manyToMany annot bug fixed
- quote in SqlUtils
- SEO controller for generating robots.txt and sitemap.xml files (webtools interface)
- Adding new utility classes
- Ubiquity\utils\http\UResponse
- Ubiquity\utils\http\UCookie
- Renaming utility classes:
- Ubiquity\utils\RequestUtils -> Ubiquity\utils\http\URequest
- Ubiquity\utils\SessionUtils -> Ubiquity\utils\http\USession
- Ubiquity\utils\StrUtils -> Ubiquity\utils\base\UString
- Ubiquity\utils\JArray -> Ubiquity\utils\base\UArray
- Ubiquity\utils\FsUtils -> Ubiquity\utils\base\UFileSystem
- Ubiquity\utils\Introspection -> Ubiquity\utils\base\UIntrospection