├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── _template.md ├── articles.md ├── certification.md ├── ci.md ├── conferences.md ├── data-generator.md ├── design-patterns.md ├── di.md ├── documentation-generator.md ├── email.md ├── environments.md ├── frameworks.md ├── ides.md ├── machine-learning.md ├── middleware.md ├── online-checklist.md ├── orms.md ├── package-manager.md ├── performance.md ├── podcasts.md ├── project-start-checklist.md ├── restful-services.md ├── search.md ├── security.md ├── static-code-analysis.md ├── templating.md ├── testing.md ├── user-groups.md └── web-scraping.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution 2 | 3 | Please refer to the recommended [Resource Template](_template.md) 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Eddie Abou-Jaoude 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![DashboardHub Badge](http://badge.dashboardhub.io/badge/552f7dcdcaeb17.39567168 "DashboardHub Badge")](http://pipeline.dashboardhub.io/d/552f7dcdcaeb17.39567168) 2 | [![DashboardHub Badge](http://badge.dashboardhub.io/badge/views/552f7dcdcaeb17.39567168 "DashboardHub Badge")](http://pipeline.dashboardhub.io/d/552f7dcdcaeb17.39567168) 3 | 4 | # PHP Useful Resources 5 | 6 | PHP useful resources - Designed to be Objective...from Blogs, Framework agnostic libraries/tools etc.. 7 | 8 | There are a lot of information out there. But what are the best ones? Many are now *out-of-date* too. The aim & design of this repository is to keep an *up-to-date* list of important, useful & must know for every PHP developer, maintained by **YOU**! 9 | 10 | --- 11 | 12 | ##Checklist 13 | 14 | * [Checklist before project start](project-start-checklist.md) 15 | * [Checklist before launch](online-checklist.md) 16 | 17 | ## Core 18 | 19 | #### Specification 20 | 21 | * [PHP Language Specification](https://github.com/php/php-langspec) 22 | * [PHP Framework Interop Group](http://www.php-fig.org) 23 | 24 | #### Documentation 25 | 26 | * [Read the Docs](https://readthedocs.org) 27 | * [PHP Manual](https://php.net/manual/en/index.php) 28 | * [PHP the right way](http://www.phptherightway.com) 29 | 30 | ## Useful Resources 31 | 32 | * [Articles](articles.md) 33 | * [PHP watch by phptodayorg](https://github.com/phptodayorg/php-must-watch) 34 | * [Podcasts](/podcasts.md) 35 | 36 | ## Contents 37 | 38 | * [PHP MVC Frameworks](/frameworks.md) 39 | * [Middleware](/middleware.md) 40 | * [Design Patterns](/design-patterns.md) with PHP examples 41 | * [Restful Web Services](/restful-services.md) 42 | * [Web Scraping](/web-scraping.md) 43 | * [Security](/security.md) 44 | * [Email](/email.md) 45 | * [Performance](/performance.md) 46 | * [Testing](/testing.md) (Unit Testing, Integration Testing, Behavioural Testing, End-to-End Testing...) 47 | * [Package Manager](/package-manager.md) 48 | * [Documentation Generator](/documentation-generator.md) 49 | * [Data Generator](/data-generator.md) 50 | * [ORMs](/orms.md) 51 | * [Templating](/templating.md) 52 | * [PHP CI](/ci.md) 53 | * [Dependency Injection](/di.md) 54 | * [PHP Static Code Analysis](/static-code-analysis.md) 55 | * [Conferences](/conferences.md) 56 | * [Certification](/certification.md) 57 | * [PHP IDEs](/ides.md) 58 | * [PHP User Groups](/user-groups.md) 59 | * [Environments](/environments.md) Local Development / Remote Hosting 60 | * [Search](/search.md) 61 | * [Machine Learning](/machine-learning.md) 62 | 63 | --- 64 | 65 | ## Contributions 66 | 67 | Contributions are welcome. Please **Fork**, **Make Changes** & create a **Pull Request** 68 | 69 | Use the following [template](_template.md) *(improvements welcome)* 70 | 71 | Examples below from **Github** Help section: 72 | 73 | * [Fork a Repo](https://help.github.com/articles/fork-a-repo) 74 | * [Sync a Fork](https://help.github.com/articles/syncing-a-fork) 75 | * [Create a Pull Request](https://help.github.com/articles/creating-a-pull-request) 76 | -------------------------------------------------------------------------------- /_template.md: -------------------------------------------------------------------------------- 1 | # Template 2 | 3 | *Please see below for template* 4 | 5 | --- 6 | 7 | # Title / Section / Area *(eg. database or search)* 8 | 9 | ## Sub title *(eg. server / client)* 10 | 11 | ### Tool / library / extension 12 | 13 | Description of item. 14 | 15 | #### Advantages 16 | 17 | * List main advantages (highlights only) 18 | 19 | #### Disadvantages 20 | 21 | * List main disadvantages (highlights only) 22 | 23 | #### Reference 24 | 25 | Url to Github and / or website here. 26 | 27 | --- 28 | 29 | # Example below 30 | 31 | --- 32 | 33 | # Database 34 | 35 | ## Server 36 | 37 | ### MySQL 38 | 39 | Open Source database 40 | 41 | #### Advantages 42 | 43 | * Easy to use 44 | * Fast & efficient 45 | * etc... 46 | 47 | #### Disadvantages 48 | 49 | * etc... 50 | 51 | #### Reference 52 | 53 | http://www.mysql.com 54 | -------------------------------------------------------------------------------- /articles.md: -------------------------------------------------------------------------------- 1 | # Articles / Blogs/ Newsletters on Development / Tech / Design 2 | 3 | ## Audio 4 | 5 | * https://developertea.com 6 | 7 | ## Tutorials 8 | 9 | * http://www.w3schools.com 10 | 11 | ## General 12 | 13 | * http://www.theregister.co.uk/ 14 | * http://codegeekz.com 15 | 16 | ## Web 17 | 18 | * http://webdevchecklist.com 19 | 20 | ## Community Support 21 | 22 | * http://stackoverflow.com/ 23 | -------------------------------------------------------------------------------- /certification.md: -------------------------------------------------------------------------------- 1 | ## Certification 2 | 3 | * [Zend Certification](http://www.zend.com/en/services/certification) 4 | * [Symfony Certification](http://sensiolabs.com/en/symfony/certification.html) 5 | -------------------------------------------------------------------------------- /ci.md: -------------------------------------------------------------------------------- 1 | ## PHP CI 2 | 3 | * [CI written & designed for PHP](https://www.phptesting.org) 4 | * [TravisCI](http://docs.travis-ci.com/user/languages/php/) 5 | * [Jenkins](https://jenkins-ci.org/) An extensible open source continuous integration server 6 | -------------------------------------------------------------------------------- /conferences.md: -------------------------------------------------------------------------------- 1 | ## Conferences 2 | 3 | * [PHP South Coast](http://phpsouthcoast.co.uk) 4 | * [php\[world\]](http://world.phparch.com/) 5 | * [CakeFest](http://cakefest.org/) 6 | * [International PHP Conference](http://phpconference.com/) 7 | * [New Zealand PHP Conference](http://www.phpconference.co.nz/) 8 | * [China PHP Conference](http://www.phpconchina.com/) 9 | * [Northeast PHP Conference](http://www.northeastphp.org/) 10 | * [PHP Conference Argentina](http://www.phpconference.com.ar/) 11 | * [Dutch PHP Conference](http://www.phpconference.nl/) 12 | * [MidwestPHP](http://www.midwestphp.org/) 13 | * [Dutch PHP Conference](http://www.phpconference.nl/) 14 | * [php\[tek\]](http://tek.phparch.com/) 15 | * [PHP Cape Town](http://www.phpsouthafrica.com/) 16 | * [Madison PHP Conference](http://www.madisonphpconference.com/) 17 | * [PHP Benelux Conference](http://conference.phpbenelux.eu) 18 | * [ConFoo](http://confoo.ca/) 19 | * [SunshinePHP](http://sunshinephp.com/) 20 | * [ZendCon](http://www.zendcon.com/) 21 | * [PHP UK Conference](http://phpconference.co.uk/) 22 | -------------------------------------------------------------------------------- /data-generator.md: -------------------------------------------------------------------------------- 1 | ## Data generator 2 | 3 | * [Faker](https://github.com/fzaninotto/Faker) 4 | -------------------------------------------------------------------------------- /design-patterns.md: -------------------------------------------------------------------------------- 1 | ## Design Patterns 2 | 3 | * [Source Making](http://sourcemaking.com/design_patterns) with PHP examples 4 | * [DesignPatternsPHP](https://github.com/domnikl/DesignPatternsPHP) Github Repo with PHP examples 5 | * [Design Patterns PHP examples converted to PHP7](https://github.com/eddiejaoude/DesignPatternsPHP) 6 | -------------------------------------------------------------------------------- /di.md: -------------------------------------------------------------------------------- 1 | ## Dependency Injection 2 | 3 | * [Pimple](http://pimple.sensiolabs.org/) 4 | * [Container](https://github.com/thephpleague/container) 5 | -------------------------------------------------------------------------------- /documentation-generator.md: -------------------------------------------------------------------------------- 1 | ## Documentation generator 2 | 3 | * [apigen](http://apigen.org/) 4 | * [phpDocumentor](http://www.phpdoc.org/) 5 | -------------------------------------------------------------------------------- /email.md: -------------------------------------------------------------------------------- 1 | ## Email handling 2 | 3 | * [SwiftMailer](http://swiftmailer.org/) 4 | -------------------------------------------------------------------------------- /environments.md: -------------------------------------------------------------------------------- 1 | ## Environments 2 | 3 | #### Hosting 4 | 5 | * [Digital Ocean](https://www.digitalocean.com) 6 | * [Heroku](https://heroku.com) 7 | 8 | #### Local Development 9 | 10 | * [PuPHPet](https://puphpet.com) PHP Puppet - VirtualBox, VMWare, Parrallel 11 | * [WAMP](http://www.wampserver.com/en/) 12 | * [MAMP](https://www.mamp.info/en/) 13 | -------------------------------------------------------------------------------- /frameworks.md: -------------------------------------------------------------------------------- 1 | ## Frameworks 2 | 3 | * [Symfony](http://symfony.com/) 4 | * [Zend Framework](http://framework.zend.com/) 5 | * [CakePHP](http://cakephp.org/) 6 | * [Laravel](http://laravel.com/) 7 | * [Slim](http://www.slimframework.com/) 8 | * [Silex](http://silex.sensiolabs.org/) 9 | * [Nice](http://niceframework.com/) 10 | * [Aura](http://auraphp.com/) 11 | * [Bullet](http://bulletphp.com) 12 | * [FuelPHP](http://fuelphp.com/) 13 | * [yiiframework](http://www.yiiframework.com/) 14 | -------------------------------------------------------------------------------- /ides.md: -------------------------------------------------------------------------------- 1 | ## IDEs 2 | 3 | * [Vim](http://www.vim.org/) 4 | * [PhpStorm](http://www.jetbrains.com/phpstorm/) 5 | * with Plugin [Code Glance](https://plugins.jetbrains.com/plugin/7275?pr=clion) (similar to webstorm page overview) 6 | * [zendstudio](http://www.zend.com/en/products/studio) 7 | * [NetBeans IDE](https://netbeans.org/) 8 | -------------------------------------------------------------------------------- /machine-learning.md: -------------------------------------------------------------------------------- 1 | # Machine Learning 2 | 3 | #### Tools 4 | 5 | * [Prediction](http://prediction.io) 6 | -------------------------------------------------------------------------------- /middleware.md: -------------------------------------------------------------------------------- 1 | ## Middleware 2 | 3 | * [Conduit](https://github.com/phly/conduit) 4 | * [Stack](http://stackphp.com/) 5 | -------------------------------------------------------------------------------- /online-checklist.md: -------------------------------------------------------------------------------- 1 | # Online Checklist 2 | 3 | ## Best Practices 4 | 5 | * [ ] Broken links 6 | * http://validator.w3.org/checklink 7 | * [ ] Check website in all browsers 8 | * http://www.webpagetest.org 9 | * https://www.modern.ie/en-us/report 10 | 11 | ## Mobile 12 | 13 | * [ ] Mobile score 14 | * http://validator.w3.org/mobile/ 15 | * [ ] Real Mobile testing 16 | * http://www.webpagetest.org 17 | 18 | ## Analytics 19 | 20 | * [ ] Real analytics 21 | * http://www.google.com/analytics 22 | * [ ] Monitoring 23 | * https://www.pingdom.com 24 | 25 | ## Performance 26 | 27 | * [ ] Client-side 28 | * https://developers.google.com/speed/pagespeed/ 29 | * http://yslow.org 30 | * https://redbot.org 31 | 32 | ## Usability 33 | 34 | * [ ] Favicon 35 | * [ ] User friendly URLs 36 | * [ ] Print friendly CSS 37 | 38 | ## SEO friendly 39 | 40 | * [ ] Robots txt 41 | * [ ] XML sitemap 42 | 43 | ## Code Quality 44 | 45 | * [ ] Html validation 46 | * http://validator.w3.org 47 | * [ ] CSS validation 48 | * http://jigsaw.w3.org/css-validator/ 49 | * [ ] JS validation 50 | 51 | ## Accessbility 52 | 53 | * [ ] Validation 54 | * http://achecker.ca 55 | * [ ] Colour contrast 56 | * http://www.checkmycolours.com 57 | 58 | ## Security 59 | 60 | * [ ] OWasp web site checker 61 | * https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project 62 | 63 | --- 64 | 65 | Reference http://webdevchecklist.com 66 | -------------------------------------------------------------------------------- /orms.md: -------------------------------------------------------------------------------- 1 | ## ORMs 2 | 3 | * [Doctrine](http://www.doctrine-project.org/) 4 | * [Redbean](http://redbeanphp.com/) 5 | * [Propel](http://propelorm.org/) 6 | -------------------------------------------------------------------------------- /package-manager.md: -------------------------------------------------------------------------------- 1 | ## Package manager 2 | 3 | * [Composer](https://getcomposer.org) 4 | * [Packagist](https://packagist.org) 5 | -------------------------------------------------------------------------------- /performance.md: -------------------------------------------------------------------------------- 1 | ## Performance 2 | 3 | #### Information 4 | 5 | 6 | #### Tools 7 | 8 | * [Xhprof with UI](https://github.com/phacility/xhprof) 9 | * [Xdebug](http://xdebug.org) 10 | * [Blackfire](https://blackfire.io/) 11 | -------------------------------------------------------------------------------- /podcasts.md: -------------------------------------------------------------------------------- 1 | # Podcasts 2 | 3 | ### PHP Round Table 4 | 5 | * Website https://www.phproundtable.com 6 | * RSS http://feeds.feedburner.com/PhpRoundtable 7 | * Twitter https://twitter.com/PHPRoundtable 8 | * YouTube https://youtube.com/c/PHPRoundtable 9 | 10 | ### Web Dev Radio 11 | 12 | * Website http://webdevradio.com 13 | * RSS http://webdevradio.com/feed/ 14 | 15 | ### Three Devs and a Maybe 16 | 17 | * Website http://threedevsandamaybe.com 18 | * RSS http://threedevsandamaybe.com/podcast.xml 19 | 20 | ### Voices of the Elephpant 21 | 22 | * Website https://voicesoftheelephpant.com 23 | * RSS http://feeds.feedburner.com/VoicesOfTheElephpant 24 | 25 | ### That Podcast 26 | 27 | * Website https://thatpodcast.io 28 | * RSS https://thatpodcast.io/itunes.rss 29 | 30 | ### Sound of Symfony 31 | 32 | * Website http://www.soundofsymfony.com 33 | 34 | ### Run Geek Radio 35 | 36 | * Website https://rungeekradio.com 37 | * RSS https://rungeekradio.com/feed/podcast/ 38 | 39 | ### PHP Town Hall 40 | 41 | * Website http://phptownhall.com 42 | 43 | ### Losely Coupled 44 | 45 | * Website http://looselycoupled.info 46 | * RSS http://feeds.feedblitz.com/loosely-coupled 47 | 48 | ### Dev Hell 49 | 50 | * Website http://devhell.info 51 | -------------------------------------------------------------------------------- /project-start-checklist.md: -------------------------------------------------------------------------------- 1 | # Project Start Checklist 2 | 3 | * [ ] Project setup in Source Control (aka VCS) 4 | * [ ] Hello world 5 | * [ ] Unit test (TDD) 6 | * [ ] End-to-end test (BDD) 7 | * [ ] Development environment 8 | * [ ] Continuous Integration (CI) 9 | * [ ] Listens to changes in Source Repository (all branches) 10 | * [ ] Captures metrics for profiling & comparing throughout project life cycle (inc. page load, page size etc) 11 | * [ ] On successful build, deploys code 12 | * [ ] Deployment 13 | * [ ] Dev CI 14 | * [ ] Test 15 | * [ ] Release 16 | * ... more as required 17 | -------------------------------------------------------------------------------- /restful-services.md: -------------------------------------------------------------------------------- 1 | ## Restful web services 2 | 3 | * [Restful Cookbook](http://restcookbook.com/) general examples as to use what verb when 4 | * [HTTP/1.1 Status Code Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) 5 | 6 | #### Server Libraries 7 | 8 | * [Slim jsonAPI](https://github.com/entomb/slim-json-api) 9 | 10 | #### Client Libraries 11 | 12 | * [Guzzle](http://guzzle.readthedocs.org/en/latest/) 13 | * [Buzz](https://github.com/kriswallsmith/Buzz) 14 | 15 | 16 | -------------------------------------------------------------------------------- /search.md: -------------------------------------------------------------------------------- 1 | # Search 2 | 3 | #### Tools 4 | 5 | * [ElasticSearch](http://www.elasticsearch.org) 6 | 7 | #### Clients 8 | 9 | * [Elastica Bundle](https://github.com/FriendsOfSymfony/FOSElasticaBundle) 10 | -------------------------------------------------------------------------------- /security.md: -------------------------------------------------------------------------------- 1 | ## Security 2 | 3 | #### Information 4 | 5 | * 6 | 7 | #### Tools 8 | 9 | * [Zap Proxy](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) 10 | * [Security Advisories Checker](https://security.sensiolabs.org/) 11 | * [Roave Security Advisories](https://github.com/Roave/SecurityAdvisories) 12 | * [HTML Purifier](https://github.com/ezyang/htmlpurifier) 13 | -------------------------------------------------------------------------------- /static-code-analysis.md: -------------------------------------------------------------------------------- 1 | ## Static Code Analysis 2 | 3 | * [Scrutinizer](https://scrutinizer-ci.com) 4 | * [phploc](https://github.com/sebastianbergmann/phploc) 5 | * [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) 6 | * [PHP Depend](http://pdepend.org/) 7 | * [phpcpd](https://github.com/sebastianbergmann/phpcpd) 8 | * [PHP Mess Detector](http://phpmd.org/) 9 | -------------------------------------------------------------------------------- /templating.md: -------------------------------------------------------------------------------- 1 | ## Templating engines 2 | 3 | * [Twig](http://twig.sensiolabs.org/) 4 | * [Plates](http://platesphp.com/) 5 | * [Mustache](https://github.com/bobthecow/mustache.php) 6 | -------------------------------------------------------------------------------- /testing.md: -------------------------------------------------------------------------------- 1 | ## Testing 2 | 3 | #### Information 4 | 5 | * 6 | 7 | #### Tools 8 | 9 | * [PHPSpec - BDD testing framework](http://www.phpspec.net) 10 | * [Behat - BDD testing framework (Gherkin Language)](http://docs.behat.org/en/v2.5/) 11 | * [PHPUnit - xUnit architecture for unit testing frameworks](https://phpunit.de) 12 | * [Full-stack testing PHP framework](https://github.com/Codeception/Codeception) 13 | * [Mockery - simple yet flexible PHP mock object framework](https://github.com/padraic/mockery) 14 | * [Humbug](https://github.com/padraic/humbug) is a Mutation Testing framework for PHP to measure the real effectiveness of your test suites and assist in their improvement. It eats Code Coverage for breakfast 15 | -------------------------------------------------------------------------------- /user-groups.md: -------------------------------------------------------------------------------- 1 | ## User Groups 2 | 3 | * [php.ug](http://php.ug/) 4 | -------------------------------------------------------------------------------- /web-scraping.md: -------------------------------------------------------------------------------- 1 | ## Web scraping 2 | 3 | * [HTTP/1.1 Status Code Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) 4 | 5 | 6 | #### PHP Web Scrapers 7 | 8 | * [Goutte](https://github.com/FriendsOfPHP/Goutte) 9 | 10 | #### Useful components 11 | 12 | * [CssSelector](http://symfony.com/doc/current/components/css_selector.html) 13 | * [DomCrawler](http://symfony.com/doc/current/components/dom_crawler.html) 14 | * [BrowserKit](http://symfony.com/components/BrowserKit) 15 | 16 | 17 | --------------------------------------------------------------------------------