From 2ea1cee9bd52571f216eb926645e942e6fd2ab5f Mon Sep 17 00:00:00 2001 From: LogMANOriginal Date: Mon, 5 Nov 2018 13:21:52 +0100 Subject: [PATCH] Created Classes (markdown) --- Classes.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 Classes.md diff --git a/Classes.md b/Classes.md new file mode 100644 index 0000000..a1017de --- /dev/null +++ b/Classes.md @@ -0,0 +1,79 @@ +# Use PascalCase for class names + +Class names must be written in [PascalCase](http://wiki.c2.com/?PascalCase). + +
Example

+ +**Bad** + +```PHP +class mySUPERclass { ... } +``` + +**Good** + +```PHP +class MySuperClass { ... } +``` + +

+ +_Reference_: [`PEAR.NamingConventions.ValidClassName`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/PEAR/Sniffs/NamingConventions/ValidClassNameSniff.php) + +# Do not use final statements inside final classes. + +Final classes cannot be extended, so it doesn't make sense to add the final keyword to class members. + +
Example

+ +**Bad** + +```PHP +final class MyClass { + final public function MyFunction() { + + } +} +``` + +**Good** (remove the final keyword from class members) + +```PHP +final class MyClass { + public function MyFunction() { + + } +} +``` + +

+ +_Reference_: [`Generic.CodeAnalysis.UnnecessaryFinalModifier`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/CodeAnalysis/UnnecessaryFinalModifierSniff.php) + +# Do not override methods to call their parent + +It doesn't make sense to override a method only to call their parent. When overriding methods, make sure to add some functionality to it. + +
Example

+ +**Bad** + +```PHP +class MyClass extends BaseClass { + public function BaseFunction() { + parent::BaseFunction(); + } +} +``` + +**Good** (don't override the function) + +```PHP +class MyClass extends BaseClass { + +} +``` + +

+ +_Reference_: [`Generic.CodeAnalysis.UselessOverridingMethod`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php) \ No newline at end of file