Analysis of Coding Conventions for Contao Open Source CMS
PHP_CodeSniffer, using a custom coding standard and report, was used to record various coding conventions across 197 PHP projects.
How to read this report
- The graphs for each coding convention show the percentage of each style variation used throughout the project.
- See an overview of the most popular methods for coding conventions in this project
- You can view the raw data used to generate this report, and use it in any way you want.
Conventions
- Adjacent assignments alignedMethod: noValue: 83.96%
- Array end commaMethod: noValue: 98.79%
- Array keyword caseMethod: lowerValue: 100%
- Blank lines at end of control structureMethod: 0Value: 99.96%
- Blank lines at start of control structureMethod: 0Value: 99.95%
- Brackets around echoed stringsMethod: noValue: 100%
- CamelCase function nameMethod: noValue: 100%
- CamelCase method nameMethod: yesValue: 95.13%
- Class defined in namespaceMethod: yesValue: 90.43%
- Class has doc commentMethod: yesValue: 54.96%
- Class opening brace placementMethod: new lineValue: 54.26%
- Closure opening brace placementMethod: same lineValue: 60.53%
- Constant name caseMethod: upperValue: 99.17%
- Control structure defined inlineMethod: noValue: 97.41%
- Declarations and side effects mixedMethod: noValue: 85%
- EOL charMethod: \nValue: 100%
- File extension for class filesMethod: .phpValue: 100%
- File extension for non-class filesMethod: .phpValue: 100%
- File has doc commentMethod: yesValue: 100%
- Function has doc commentMethod: yesValue: 99.28%
- Function opening brace placementMethod: new lineValue: 99.01%
- Inline comment styleMethod: // ...Value: 99.87%
- Line indentMethod: tabsValue: 99.82%
- Line lengthMethod: 80 or lessValue: 92.79%
- Lowercase filenameMethod: noValue: 73.33%
- Multiple statements on same lineMethod: noValue: 99.67%
- Number of newlines at EOFMethod: 1Value: 99.72%
- One class per fileMethod: yesValue: 54.26%
- PHP closing tag at EOFMethod: noValue: 98.89%
- PHP constant caseMethod: lowerValue: 100%
- PHP keyword caseMethod: lowerValue: 100%
- PHP short open tag usedMethod: noValue: 100%
- PHP type caseMethod: lowerValue: 100%
- PascalCase class nameMethod: yesValue: 90.6%
- Private method prefixed with underscoreMethod: noValue: 100%
- Short array syntax usedMethod: noValue: 99.96%
- Space after operatorMethod: 1Value: 85.15%
- Space before operatorMethod: 1Value: 59.64%
- Spaces after control structure open parenthesisMethod: 0Value: 100%
- Spaces before control structure close parenthesisMethod: 0Value: 99.99%
- Spacing after cast statementMethod: 1Value: 55.28%
- Spacing after object operatorMethod: 0Value: 100%
- Spacing after string concatMethod: 1Value: 62.41%
- Spacing before object operatorMethod: 0Value: 97.88%
- Spacing before string concatMethod: 1Value: 59.75%
- Use of ELSE IF or ELSEIFMethod: elseifValue: 99.42%
Analysis of Coding Conventions for Contao Open Source CMS
Back to topView project specific report
- Agora InvoicingA
- Anchor CMSA
- AsseticA
- Aura.AutoloadA+
- Aura.CliA+
- Aura.Cli_KernelA+
- Aura.DiA+
- Aura.DispatcherA+
- Aura.FilterA+
- Aura.HtmlA+
- Aura.InputA+
- Aura.IntlA+
- Aura.MarshalA+
- Aura.Project_KernelA+
- Aura.RouterA+
- Aura.SessionA+
- Aura.SignalA+
- Aura.SqlA+
- Aura.SqlQueryA+
- Aura.SqlSchemaA
- Aura.UriA+
- Aura.ViewA+
- Aura.WebA+
- Aura.Web_KernelA
- AWS SDK for PHPA
- BehatA+
- BotonomousA+
- BoxA+
- BuzzA
- CakePHPA+
- ChamiloA-
- ChirpA+
- CodeceptionA
- CodeIgniterA
- ComposerA
- concrete5A
- Contao Open Source CMSA-
- Doctrine 2 ORMA+
- Dropbox SDK for PHP 5.3+A
- DrupalA
- DSU Report APA
- eZ Publish 5.x KernelA
- Facebook PHP SDKA
- FakerA
- FastRouteA+
- Faveo Help-deskA
- Faveo ServicedeskA
- FlysystemA+
- FractalA+
- Google APIs Client LibraryA+
- GoutteA
- GuzzleA
- ImagineA+
- JackalopeA+
- Joomla! CMSA
- Klein.phpA+
- Laravel Framework (Kernel)A+
- LatteA
- lessphpA
- MagentoA+
- MediaWikiA
- MockeryA
- MonologA
- MoodleA
- Mustache.phpA+
- NEONA
- Nette Application MVCA
- Nette BootstrapA
- Nette CachingA+
- Nette Component ModelA+
- Nette DatabaseA
- Nette Dependency InjectionA
- Nette Finder: Files SearchingA+
- Nette Forms: greatly facilitates web formsA+
- Nette HTTP ComponentA
- Nette Mail: Sending E-mailsA
- Nette PHP GeneratorA
- Nette PHP ReflectionA
- Nette SafeStream: Atomic OperationsA
- Nette Security: Access ControlA+
- Nette Tester: enjoyable unit testingA
- Nette TokenizerA+
- Nette Utility ClassesA
- OAuth 2.0 ClientA+
- OpenEMRA-
- ownCloudA
- ParsedownA
- PEAR - The PEAR InstallerA
- PhingA+
- phpBBA
- PHP Binance ApiA-
- PHP Coding Standards FixerA+
- phpDocumentorA
- PHPExcelB+
- PHPMailerA+
- PHP MarkdownA-
- PhpMetricsA
- phpMyAdminA
- PHP OAuth 2.0 ServerA+
- PHP ParserB+
- PHPUnitA
- PHP_CodeCoverageA+
- PHP_CodeSnifferA+
- PhredA
- pimcoreA+
- PiwikA
- PPI FrameworkA
- PrestaShopA-
- PropelA+
- PuxA
- PyroCMSB+
- QuickAppsCMSA
- RadPHPA+
- RatchetA
- React.child-processA+
- React.dnsA
- React.event-loopA+
- React.httpA+
- React.http-clientA
- React.promiseA
- React.socketA+
- React.socket-clientA+
- React.streamA+
- Revive AdserverB+
- RoboTaskA+
- RobotLoader: comfortable autoloadingA+
- SabreDAVA
- Scabbia2 PHP Framework CodeA+
- SculpinA
- SilexA+
- SilverStripe FrameworkA-
- Slim FrameworkA+
- SnappyA+
- StashA+
- StringyA+
- SugarCRM CEB-
- Swift MailerA
- Symfony2A
- ThinkUpA-
- Tracy - PHP debuggerA
- TwigA
- TYPO3 CMSA
- WordPressA+
- Yii PHP Framework Version 2A+
- Yii Web Programming FrameworkB+
- Zend Framework.authenticationA+
- Zend Framework.barcodeA+
- Zend Framework.cacheA+
- Zend Framework.captchaA+
- Zend Framework.codeA+
- Zend Framework.configA+
- Zend Framework.consoleA+
- Zend Framework.cryptA+
- Zend Framework.dbA+
- Zend Framework.debugA+
- Zend Framework.diA
- Zend Framework.domA+
- Zend Framework.escaperA+
- Zend Framework.eventmanagerA+
- Zend Framework.feedA+
- Zend Framework.fileA+
- Zend Framework.filterA+
- Zend Framework.formA+
- Zend Framework.httpA+
- Zend Framework.i18nA+
- Zend Framework.i18n-resourcesA+
- Zend Framework.inputfilterA+
- Zend Framework.jsonA
- Zend Framework.loaderA+
- Zend Framework.logA+
- Zend Framework.mailA+
- Zend Framework.mathA+
- Zend Framework.memoryA+
- Zend Framework.mimeA+
- Zend Framework.modulemanagerA+
- Zend Framework.mvcA+
- Zend Framework.navigationA+
- Zend Framework.paginatorA+
- Zend Framework.permissions-aclA+
- Zend Framework.permissions-rbacA+
- Zend Framework.progressbarA+
- Zend Framework.serializerA+
- Zend Framework.serverA+
- Zend Framework.servicemanagerA+
- Zend Framework.sessionA+
- Zend Framework.soapA+
- Zend Framework.stdlibA+
- Zend Framework.tagA+
- Zend Framework.testA+
- Zend Framework.textA+
- Zend Framework.uriA+
- Zend Framework.validatorA+
- Zend Framework.versionA+
- Zend Framework.viewA+
- Zend Framework.xmlrpcA+
- Zend Framework.zendxmlA+
- ZikulaA
One class per file
Is each class defined in a file by itself?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no | no | 45.74% |
yes - Most popular method | yes | 54.26% |
Based on 564 classes
Class opening brace placement
Is the opening brace of a class on the same line as the class keyword or the next line?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
new line - Most popular method | new line | 54.26% |
same line | same line | 45.74% |
Based on 564 classes
Class has doc comment
Does each class have a docblock comment to describe its purpose?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no | no | 45.04% |
yes - Most popular method | yes | 54.96% |
Based on 564 classes
Spacing after cast statement
How many spaces are there between a cast statement and the variable?
Key | Method | Use |
---|---|---|
0 | 0 | 44.72% |
1 - Most popular method | 1 | 55.28% |
Based on 161 cast statements
Space before operator
How many spaces precede comparison, arithmetic and assignment operators?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 | 0 | 40.3% |
1 - Most popular method | 1 | 59.64% |
2 | 2 | 0.01% |
newline | newline | 0.04% |
Based on 13,365 operators
Spacing before string concat
How many spaces precede the string concatenation operator?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 | 0 | 39.33% |
1 - Most popular method | 1 | 59.75% |
newline | newline | 0.92% |
Based on 10,277 concat operators
Closure opening brace placement
Is the opening brace of a closure on the same line as the function keyword or the next line?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
new line | new line | 39.47% |
same line - Most popular method | same line | 60.53% |
Based on 38 closures
- 01 Jul 2015: there was a 6.82% swing from same line to new line
- 01 Oct 2016: there was a 5.26% swing from same line to new line
- 01 Dec 2016: there was a 5.18% swing from same line to new line
Spacing after string concat
How many spaces follow the string concatenation operator?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 | 0 | 37.29% |
1 - Most popular method | 1 | 62.41% |
2 | 2 | 0.06% |
newline | newline | 0.24% |
Based on 10,277 concat operators
Lowercase filename
Are PHP filenames lowercase?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 73.33% |
yes | yes | 26.67% |
Based on 360 files
Adjacent assignments aligned
For a block of assignments, are the assignment operators (equals, plus-equals etc.) aligned?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 83.96% |
yes | yes | 16.04% |
Based on 2,045 assignment blocks
Declarations and side effects mixed
Do files both declare symbols (classes, functions, constants, etc.) and cause side-effects (e.g. generate output, change .ini settings, etc.)?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 85% |
yes | yes | 15% |
Based on 360 files
Space after operator
How many spaces follow comparison, arithmetic and assignment operators?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 | 0 | 14.77% |
1 - Most popular method | 1 | 85.15% |
2 | 2 | 0.03% |
newline | newline | 0.05% |
Based on 36,428 operators
Class defined in namespace
Is each class defined in a namespace of at least 1 level?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no | no | 9.57% |
yes - Most popular method | yes | 90.43% |
Based on 564 classes
PascalCase class name
Are class names defined using PascalCase?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no | no | 9.4% |
yes - Most popular method | yes | 90.6% |
Based on 564 classes
Line length
Including whitespace and comments, how many characters are in non-empty code lines?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
80 or less - Most popular method | 80 or less | 92.79% |
81-120 | 81-120 | 5.37% |
121-150 | 121-150 | 0.82% |
151 or more | 151 or more | 1.02% |
Based on 102,945 lines
CamelCase method name
Are class method names defined using CamelCase?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no | no | 4.87% |
yes - Most popular method | yes | 95.13% |
Based on 1,806 methods
Control structure defined inline
Are control structures defined inline (without braces)?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 97.41% |
yes | yes | 2.59% |
Based on 8,376 control structures
Spacing before object operator
How many spaces precede the object operator (->)?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 - Most popular method | 0 | 97.88% |
1 | 1 | 0.02% |
newline | newline | 2.11% |
Based on 25,281 object operators
Array end comma
Does the last item end with a comma in a multi-line array definition?
Key | Method | Use |
---|---|---|
no - Most popular method | no | 98.79% |
yes | yes | 1.21% |
Based on 165 array definitions
PHP closing tag at EOF
Is there a PHP closing tag at the end of the file?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 98.89% |
yes | yes | 1.11% |
Based on 360 files
Function opening brace placement
Is the opening brace of a function on the same line as the function keyword or the next line?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
new line - Most popular method | new line | 99.01% |
same line | same line | 0.99% |
Based on 2,027 functions
Constant name case
What case are user-defined constants defined in?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
lower | lower | 0.83% |
upper - Most popular method | upper | 99.17% |
Based on 121 constants
Function has doc comment
Does each function have a docblock comment to describe its purpose?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no | no | 0.72% |
yes - Most popular method | yes | 99.28% |
Based on 2,088 functions
Use of ELSE IF or ELSEIF
Are elseif statements defined using elseif or else if?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
else if | else if | 0.58% |
elseif - Most popular method | elseif | 99.42% |
Based on 513 elseif statements
Multiple statements on same line
Are multiple statements defined on the same line of code?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 99.67% |
yes | yes | 0.33% |
Based on 21,504 statements
Number of newlines at EOF
How many newline characters appear at the end of the file?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 | 0 | 0.28% |
1 - Most popular method | 1 | 99.72% |
Based on 356 files
Line indent
Are lines indented using spaces or tabs?
Key | Method | Use |
---|---|---|
mixed | mixed | 0.02% |
spaces | spaces | 0.16% |
tabs - Most popular method | tabs | 99.82% |
Based on 89,081 indented lines
Inline comment style
What comment style is used for non docblock comments?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
# ... | # ... | 0.11% |
/* ... */ | /* ... */ | 0.02% |
// ... - Most popular method | // ... | 99.87% |
Based on 5,274 inline comments
Blank lines at start of control structure
How many blank lines precede the body of a control structure?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 - Most popular method | 0 | 99.95% |
1 | 1 | 0.05% |
Based on 8,247 control structures
Short array syntax used
Are arrays defined using the PHP 5.4+ short array syntax?
Key | Method | Use |
---|---|---|
no - Most popular method | no | 99.96% |
yes | yes | 0.04% |
Based on 4,956 array definitions
Blank lines at end of control structure
How many blank lines follow the body of a control structure?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 - Most popular method | 0 | 99.96% |
1 | 1 | 0.04% |
Based on 8,243 control structures
Spaces before control structure close parenthesis
How many spaces precede the closing parenthesis of a control structure?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 - Most popular method | 0 | 99.99% |
1 | 1 | 0.01% |
Based on 7,735 control structures
File extension for class files
For files that contain classes, what extension does the file use?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
.php - Most popular method | .php | 100% |
Based on 306 class files
PHP short open tag used
Is the PHP short open tag syntax used?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 100% |
Based on 583 open tags
PHP constant case
What case are PHP constants (true, false, null) written in?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
lower - Most popular method | lower | 100% |
Based on 4,544 PHP constants
File has doc comment
Does each PHP file have a docblock comment to describe its purpose?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
yes - Most popular method | yes | 100% |
Based on 360 files
File extension for non-class files
For files that do not contain classes, what extension does the file use?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
.php - Most popular method | .php | 100% |
Based on 54 non-class files
PHP keyword case
What case are PHP keywords (function, echo, foreach etc.) written in?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
lower - Most popular method | lower | 100% |
Based on 29,415 keywords
Spaces after control structure open parenthesis
How many spaces follow the opening parenthesis of a control structure?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 - Most popular method | 0 | 100% |
Based on 7,735 control structures
Array keyword case
When defining an array, how is the array keyword written?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
lower - Most popular method | lower | 100% |
Based on 4,954 array definitions
PHP type case
What case are PHP types (int, bool, string) written in?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
lower - Most popular method | lower | 100% |
Based on 252 PHP types
Brackets around echoed strings
Are parenthesis placed around echo'd strings?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 100% |
Based on 59 echo statements
Private method prefixed with underscore
Are private methods prefixed with an underscore?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 100% |
Based on 11 private methods
Spacing after object operator
How many spaces follow the object operator (->)?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
0 - Most popular method | 0 | 100% |
Based on 25,281 object operators
CamelCase function name
Are global function names defined using CamelCase?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
no - Most popular method | no | 100% |
Based on 49 global functions
EOL char
What character is used for line breaks?
This project is using the popular method for this convention
Key | Method | Use |
---|---|---|
\n - Most popular method | \n | 100% |
Based on 360 files