v0.6.0 - PHP: Nelson Martell Library
Changelog
Installation changes
- 🔥 Removed dependencies copy. Now you must install dependencies manually if not using
composer
.
Public API changes
- 🐛 Fixed issue (possible bug) in properties with custom prefix. Now, it must be implemented
ICustomPrefixedPropertiesContainer
in order to use custom getter/setter prefixes (in addition toget
/set
defaults).- 🆕 Interface:
ICustomPrefixedPropertiesContainer
. Enables the use of custom properties getter/setter's prefixes. - 🔥 Removed
PropertiesHandler::$getterPrefix
andPropertiesHandler::$setterPrefix
static attributes (functionality replaced byICustomPrefixedPropertiesContainer
methods). - 🆙 Methods of
PropertiesHandler
trait are nowprotected
(instead ofprivate
) and rewritten to work in astatic
context (instead of object context).
- 🆕 Interface:
- 🐛 Fixed possible errors in
Extensions\String::format
if placeholder values arestdClass
or warnings if value is not convertible to string (this is a weakness inusort
usage in\Cake\Utility\Text\insert
).Extensions\String::format
now throws a catchable\InvalidArgumentException
if value of placeholder can't be convertible to string to avoid this 🐛. - 🆕 Interface:
IPropertiesContainer
. - 🆕 Interface:
IComparer
. Split fromIComparable
to use onlycompare
method.Object
class already implementsIComparer
. - 🆙 Deprecate
IComparable::compare
method, to be replaced byIComparer::compare
. - 🆙
IComparable::compareTo
implementations are now able to returnnull
if objects can't be compared. - 🐛 🆙 Improve
Object::compare
method to compare different types. - 🆕 Created namespaced global functions under
NelsonMartell
and deprecated the global ones (typeof(mixed $obj)
and other internal functions) to be removed in the nextv0.7.0
orv0.8.0
release (see issue #17). - 📝 Improved and updated API documentation.
- 🆙 Other minor improvements and fixes.
Classes/interfaces/traits names in this description are under
NelsonMartell
namespace by default (unless name starts with\
).
Development changes
- 🆕 Tracking development progress in waffle.io.
- 🎨 Update copyright year and email in source files.
- 📝 Improve & update README file.
- ✅ Configure UnitTesting and added some tests for classes.
- ✅ Configure PHP CodeSniffer to be compliance with PSR2 coding standar by default.
- 🆕 Testing helpers (traits):
NelsonMartell\Test\Helpers\
:ExporterPlugin
ConstructorMethodTester
IComparerTester
IComparableTester
IPropertiesContainerTester
- 🆙 Configure Travis CI for testing and API documentation generation.
- 🆕 Utility scripts (read
script/README.md
file: - 🎨 Other minor code and documentation improvements.
See changes since v0.5.1 for more detailed info.