Skip to content

Instantly share code, notes, and snippets.

@jeremeamia
Created November 28, 2018 09:24
Show Gist options
  • Select an option

  • Save jeremeamia/1b0250c6787a2a786c926d08d76c4171 to your computer and use it in GitHub Desktop.

Select an option

Save jeremeamia/1b0250c6787a2a786c926d08d76c4171 to your computer and use it in GitHub Desktop.

Revisions

  1. jeremeamia created this gist Nov 28, 2018.
    51 changes: 51 additions & 0 deletions php-library-building.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,51 @@
    # PHP Library Building Resources

    ## Composer

    - `composer init` for initial setup
    - https://getcomposer.org - Composer website and documentation
    - https://getcomposer.org/doc/05-repositories.md - Repositories documentation
    - https://getcomposer.org/doc/articles/versions.md - Version constraint documentation
    - https://getcomposer.org/doc/articles/scripts.md#writing-custom-commands - Composer "scripts"

    ## Packagist and Other Package Repositories

    - https://packagist.org - Public Composer package repository
    - https://packagist.com - Private packagist
    - https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md - Satis: open source, static, private repository
    - https://jfrog.com/article/php-composer/ - Artifactory as a composer repository

    ## Component/Library Collections

    - https://thephpleague.com/ - PHP League components
    - https://symfony.com/components - Symfony components
    - https://framework.zend.com/ - Zend components

    ## PHP Standards Recommendations

    - https://www.php-fig.org - Framework Interoperability Group
    - https://www.php-fig.org/psr/psr-1/ - Coding standards
    - https://www.php-fig.org/psr/psr-2/ - Coding standards
    - https://www.php-fig.org/psr/psr-4/ - Autoloading

    ## Skeleton Packages/Helpers

    - https://github.com/php-pds/skeleton - Create basic project skeleton
    - `composer require --dev pds/skeleton` and `./vendor/bin/pds-skeleton generate` to generate a skeleton
    - https://github.com/thephpleague/skeleton - Another skeleton from PHP League

    ## For Licences, Readmes, and Other Meta Docs

    - https://choosealicense.com/ - For help in choosing/understanding open source licenses
    - https://semver.org/ - For help in tagging version of your lib or understanding dependency's tags
    - https://keepachangelog.com - For help with CHANGELOG.md file formatting
    - https://www.gitignore.io/ - For help with .gitignore file
    - https://www.reddit.com/r/PHP/comments/2jzp6k/i_dont_need_your_tests_in_my_production/ - About .gitattributes file
    - https://help.github.com/articles/setting-up-your-project-for-healthy-contributions/ - GitHub docs on issue templates, CONTRIBUTING.md doc, etc.
    - https://shields.io/ - For README badges

    ## Testing & QA Tools

    - https://phpunit.readthedocs.io - PHPUnit Manual
    - https://github.com/squizlabs/PHP_CodeSniffer - PHP CodeSniffer (for checking/fixing code styles)
    - https://travis-ci.org - Managed CI system for open source projects (free)