Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to better maintain your TYPO3 extensions

How to better maintain your TYPO3 extensions

Slides of my talk about tools I recommend to use for maintaining a public TYPO3 extension (PHP project) at TYPO3 Developer Days 2018

IchHabRecht

June 24, 2018
Tweet

More Decks by IchHabRecht

Other Decks in Programming

Transcript

  1. How to better maintain your
    (public) extensions
    Nicole Cordes, biz-design, TYPO3 Developer Days 2018

    View Slide

  2. LOW HANGING FRUITS

    View Slide

  3. Resource
     Example extension EXT:my_skeleton
     https://github.com/IchHabRecht/my_skeleton

    View Slide

  4. ENSURE COMPATIBILITY

    View Slide

  5. What
     Continuous Integration Service

    View Slide

  6. How
     Continuous Integration Service
     Basically some kind of task runner
     You push your code
     Your Git server triggers the CI service or server
     Your CI service or server builds and tests your code

    View Slide

  7. Examples
     Bamboo
     Gitlab CI
     Jenkins
     Travis CI

    View Slide

  8. Showcase
     Travis CI
     https://travis-ci.org
     Run PHP linter for multiple versions
     Extend the setup executing unit and functional tests
     Release new versions automatically to TER

    View Slide

  9. UNIFY CODE STYLE

    View Slide

  10. What
     Coding Standards Fixer

    View Slide

  11. How
     Software or service analyzing your PHP code
     Define your code styles
     Run the tool or trigger the service
     Possible triggers
     Own task in your CI build/test
     Service triggered by a Git push

    View Slide

  12. Examples
     PHP Coding Standards Fixer (PHP CS Fixer)
     PHP_CodeSniffer
     StyleCI
     Manual: PHPStorm

    View Slide

  13. Showcase
     StyleCI
     https://styleci.io
     Advantage: immediate result
     Offer a corresponding PHP CS Fixer configuration
     Configuration names are nearly identically

    View Slide

  14. INCREASE CODE QUALITY

    View Slide

  15. What
     Static Code Analyzer

    View Slide

  16. How
     Software analyzing your PHP code
     Own metrics to parse code and find problems
     Your code is not executed
     Gets split in an abstract tree of PHP Parser Statements
     Different defined checks are executed

    View Slide

  17. Examples
     PHP Mess Detector
     PHPStan
     Psalm
     SonarQube

    View Slide

  18. Showcase
     SonarQube
     https://about.sonarcloud.io
     Add basic configuration
     Integrate into Travis CI as own stage

    View Slide

  19. THANK YOU!

    View Slide

  20. Photograph Credits
     https://www.pexels.com/photo/grapes-vineyard-vine-purple-grapes-45209/
     https://www.flickr.com/photos/andrewfhart/8106189987/in/photostream/
     https://de.wikipedia.org/wiki/Datei:Ny_Nordisk_mode,_Catwalk.jpg
     https://www.pexels.com/photo/person-filling-up-the-daily-report-schedule-form-
    1001752/
     https://pixnio.com/de/sonstiges/code-programmierung-computer-technologie-funktion-
    befehl
     https://www.goodfreephotos.com/ukraine/odessa/city-architecture-in-odessa-
    ukraine.jpg.php
     https://www.pexels.com/photo/black-brick-destroy-hole-82178/

    View Slide