In camelCase names are written without any punctuation, the start of each new word
being marked by a capital letter. The whole name starts with a capital letter as well.
Thus the name database provider becomes DatabaseProvider.
Parameters which have default values should be placed at the end.
If you place a parameter with a default value before a parameter with a default value,
the default value of the first parameter will never be used as it will always
need to be passed anyway:
// $a must always be passed; it's default value is never used.functionsomeFunction($a=5,$b){}
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.