Changes between Version 32 and Version 33 of members/GRIP-UQAM/PHP
- Timestamp:
- Oct 7, 2016, 7:03:45 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
members/GRIP-UQAM/PHP
v32 v33 4 4 * [DebianPackage:eclipse-pdt] 5 5 * [http://www.eclipse.org/pdt/#download download] on installed eclipse 6 == Debug bar == 7 * [https://packagist.org/packages/maximebf/debugbar maximebf/debugbar] Debug bar in the browser for php application 8 * [https://packagist.org/packages/php-middleware/php-debug-bar php-middleware/php-debug-bar] 6 9 == Static analyzer == 7 10 * Static analyzer for PHP [https://www.google.ca/search?q=Static+analyzer+for+PHP Google] 8 11 === About === 9 12 * [http://blog.codacy.com/2014/05/06/php-static-analysis-tools/ Review of PHP Static Analysis Tools] 10 === Lists ===13 === Lists of tools === 11 14 * [https://github.com/exakat/php-static-analysis-tools Static analysis tools for PHP] 12 15 * [http://phpqatools.org/ phpqatools.org] The PHP Quality Assurance Toolchain … … 78 81 * [http://php.net/manual/ PHP Manual] (especially the comments) 79 82 * [http://phptherightway.com PHP: The Right Way] 83 = Conferences = 84 * [https://world.phparch.com/schedule/ PHP[WORLD]] 80 85 = Web Articles = 81 86 * //[http://fabien.potencier.org/on-php-5-3-lambda-functions-and-closures.html On PHP 5.3, Lambda Functions, and Closures]// Fabien Potencier 2009 … … 105 110 * psr implementation [https://packagist.org/search/?q=psr%20implementation Packagist] 106 111 * Debian: [https://packages.debian.org/en/php-psr php-psr] 107 108 [https://packagist.org/search/?q=psr-3 PSR-3] [https://packagist.org/packages/psr/log psr/log] [https://packagist.org/search/?q=psr%2Flog ?] [[Image(https://img.shields.io/packagist/dm/psr/log.svg, link=https://packagist.org/packages/psr/log, title=psr/log)]] [[Image(https://www.versioneye.com/php/psr:log/reference_badge.svg, link=https://www.versioneye.com/php/psr:log/references, title=psr/log,)]] [https://packagist.org/providers/psr/log-implementation providers]:: 112 * interop [https://packagist.org/search/?q=interop Packagist] 113 114 [https://packagist.org/search/?q=psr-3 PSR-3] [https://packagist.org/packages/psr/log psr/log] [https://packagist.org/search/?q=psr%2Flog ?] [[Image(http://phppackages.org/p/psr/log/badge/rank.svg, link=http://phppackages.org/p/psr/log, title=psr/log,)]] [[Image(https://img.shields.io/packagist/dm/psr/log.svg, link=https://packagist.org/packages/psr/log, title=psr/log)]] [[Image(https://www.versioneye.com/php/psr:log/reference_badge.svg, link=https://www.versioneye.com/php/psr:log/references, title=psr/log,)]] [https://packagist.org/providers/psr/log-implementation providers]:: 109 115 * [https://packagist.org/packages/monolog/monolog monolog/monolog] [[Image(https://img.shields.io/packagist/dm/monolog/monolog.svg, link=https://packagist.org/packages/monolog/monolog, title=monolog/monolog)]] [[Image(https://www.versioneye.com/php/monolog:monolog/reference_badge.svg, link=https://www.versioneye.com/php/monolog:monolog/references, title=monolog/monolog,)]] 110 116 [https://packagist.org/search/?q=psr-7 PSR-7] [https://packagist.org/packages/psr/http-message psr/http-message] [https://packagist.org/search/?q=psr%2Fhttp-message ?] [[Image(https://img.shields.io/packagist/dm/psr/http-message.svg, link=https://packagist.org/packages/psr/http-message, title=psr/http-message)]] [[Image(https://www.versioneye.com/php/psr:http-message/reference_badge.svg, link=https://www.versioneye.com/php/psr:http-message/references, title=psr/http-message,)]] [https://packagist.org/providers/psr/http-message-implementation providers]:: … … 143 149 * [https://packagist.org/packages/zendframework/zend-expressive-fastroute zendframework/zend-expressive-fastroute] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-expressive-fastroute.svg, link=https://packagist.org/packages/zendframework/zend-expressive-fastroute, title=zendframework/zend-expressive-fastroute)]] [https://packagist.org/packages/nikic/fast-route nikic/fast-route] [[Image(https://img.shields.io/packagist/dm/nikic/fast-route.svg, link=https://packagist.org/packages/nikic/fast-route, title=nikic/fast-route)]] //(Also used by [https://packagist.org/packages/league/route league/route] [[Image(https://img.shields.io/packagist/dm/league/route.svg, link=https://packagist.org/packages/league/route, title=league/route)]])// 144 150 * [https://packagist.org/packages/zendframework/zend-expressive-zendrouter zendframework/zend-expressive-zendrouter] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-expressive-zendrouter.svg, link=https://packagist.org/packages/zendframework/zend-expressive-zendrouter, title=zendframework/zend-expressive-zendrouter)]] [https://packagist.org/packages/zendframework/zend-router zendframework/zend-router] [[Image(https://img.shields.io/packagist/dm/zendframework/zend-router.svg, link=https://packagist.org/packages/zendframework/zend-router, title=zendframework/zend-router)]] 151 152 [https://packagist.org/packages/async-interop/event-loop async-interop/event-loop]:: 145 153 == Middlewares == 146 154 * PSR 15 @ [http://php-fig.org/psr/ php-fig.org/psr] … … 238 246 == Zend == 239 247 * https://packagist.org/search/?q=zend 240 As of mid 2016 documentation looks more complete for Zend 1, at least for some modules. Maybe more in books for Zend 2. ZF3 is also out, now each module has its own independent version.248 As of mid 2016 documentation looks more complete for Zend 1, at least for some modules. Maybe more in books for Zend 2. [https://framework.zend.com/blog/2016-06-28-zend-framework-3.html ZF3] is also out, now each module has its own independent version. !! I had not been able to navigate ZEnd doc website! 241 249 * zf2-documentation release-2.3.9 [https://github.com/zendframework/zf2-documentation/tree/release-2.3.9/docs/languages/en/modules GitHub] 242 250 … … 339 347 * Something similar is available in Python. 340 348 == Coding Standards == 341 == About Coding Standards ===349 === About Coding Standards === 342 350 * [WikiPedia:Coding_conventions] 343 351 * [http://pear.php.net/manual/en/standards.php Coding Standards] [https://pear.php.net/manual/en/standards.sample.php Sample File (including Docblock Comment standards)] (file doc comment) … … 366 374 * [https://packagist.org/packages/peridot-php/peridot peridot-php/peridot] 367 375 = Asynchronous IO Programming = 368 * [WikiPedia:Concurrent_computing], [WikiPedia:Concurrent_object-oriented_programming] 376 * //[WikiPedia:Concurrent_computing]//, //[WikiPedia:Concurrent_object-oriented_programming]// 377 * //[http://www.slideshare.net/wimg/the-promise-of-asynchronous-php The promise of asynchronous PHP]// [http://techblog.wimgodden.be/ Wim Godden] 2015 369 378 == General libraries == 379 === [https://github.com/async-interop async-interop] PHP Asynchronous Interoperability Group === 370 380 === React === 371 381 The event loop is based on the reactor pattern (hence the name) and strongly inspired by libraries such as EventMachine (Ruby), Twisted (Python) and Node.js (V8). 372 382 * keyword: reactor pattern 373 383 * [WikiPedia:Reactor_pattern], [http://stackoverflow.com/questions/5566653/explanation-of-the-reactor-pattern Explanation of the “Reactor pattern”], [WikiPedia:Reactive_programming], [WikiPedia:Proactor_pattern] (Boost.Asio and maybe some parts of Python asyncio] 384 * //[https://speakerdeck.com/jmikola/async-php-with-react Async PHP with React]// [https://speakerdeck.com/jmikola Jeremy Mikola] 2015 374 385 ==== The name ==== 375 386 * [WikiPedia:React_(JavaScript_library)] … … 400 411 * [https://packagist.org/packages/cboden/ratchet cboden/ratchet] http://socketo.me/ Ratchet: WebSockets for PHP. Ratchet is a loosely coupled PHP library providing developers with tools to create real time, bi-directional applications between clients and servers over WebSockets. https://packagist.org/search/?q=ratchet 401 412 * https://github.com/bergie/dnode-php 413 === Icicle === 414 * //[https://trowski.com/2015/10/21/getting-started-with-icicle/ Getting Started with Icicle : Write asynchronous code in PHP with synchronous coding techniques using promises and coroutines]// 2015 415 * //[https://www.sitepoint.com/build-a-superfast-php-server-in-minutes-with-icicle/ Build a Superfast PHP Server in Minutes with Icicle]// [https://www.sitepoint.com/author/assertchris/ Christopher Pitt] 2015 416 === ReactiveX === 417 * [http://reactivex.io/ reactivex.io] [http://reactivex.io/languages.html languages] 418 * [https://packagist.org/packages/reactivex/rxphp reactivex/rxphp] [[Image(https://img.shields.io/packagist/dm/reactivex/rxphp.svg, link=https://packagist.org/packages/reactivex/rxphp, title=reactivex/rxphp)]] 402 419 == Event == 403 420 * [WikiPedia:Event_(computing)], [WikiPedia:Event-driven_programming] … … 413 430 * Writing Extensible Code Using Event Dispatcher [https://www.youtube.com/watch?v=q3hfa3wdT0s YouTube] [https://speakerdeck.com/johnkary/writing-extensible-code-using-event-dispatcher Speaker Deck] 414 431 == Event loop == 432 * //[https://www.sitepoint.com/an-introduction-into-event-loops-in-php/ An Introduction into Event Loops in PHP]// [https://www.sitepoint.com/author/assertchris/ Christopher Pitt] 2015 415 433 * [https://packagist.org/packages/gos/pnctl-event-loop-emitter gos/pnctl-event-loop-emitter] 416 434 == Promise (concurrent.futures in python) == … … 434 452 * Would it belong to the test section? 435 453 * https://packagist.org/search/?q=assertion 454 * [https://packagist.org/packages/webmozart/assert webmozart/assert] Assertions to validate method input/output with nice error messages 455 == BDD Assertion == 456 * BDD assertion [https://packagist.org/search/?q=BDD%20assertion Packagist] 436 457 * [https://packagist.org/packages/jacobstr/esperance jacobstr/esperance] 437 458 * [https://packagist.org/packages/esperance/esperance esperance/esperance] 438 == BDD Assertion == 439 * BDD assertion [https://packagist.org/search/?q=BDD%20assertion Packagist] 440 * [https://packagist.org/packages/codeception/verify codeception/verify] 459 * [https://packagist.org/packages/codeception/verify codeception/verify] BDD assertion library for PHPUnit 441 460 = CLI = 442 461 * [https://packagist.org/packages/symfony/console symfony/console] [[Image(https://img.shields.io/packagist/dm/symfony/console.svg, link=https://packagist.org/packages/symfony/console, title=symfony/console)]] … … 474 493 * [https://packagist.org/packages/react/http-client react/http-client] 475 494 * [https://packagist.org/packages/aura/http aura/http] 476 = Middlewares =495 = Middlewares (#TODO to be melded with other section = 477 496 * middleware [https://packagist.org/search/?q=middleware Packagist] 478 * [https://igor.io/2013/02/02/http-kernel-middlewares.html HttpKernel middlewares] 497 * //[https://mwop.net/blog/2015-01-08-on-http-middleware-and-psr-7.html On HTTP, Middleware, and PSR-7]// [https://mwop.net Matthew Weier O'Phinney] 2015 498 * //[https://igor.io/2013/02/02/http-kernel-middlewares.html HttpKernel middlewares]// 2013 479 499 == Stack 480 500 * [https://packagist.org/packages/stack/builder stack/builder] Builder for stack middlewares based on ((Symfony)) HttpKernelInterface. … … 483 503 == PSR-7 (http-message) Middlewares == 484 504 * [https://packagist.org/packages/oscarotero/psr7-middlewares oscarotero/psr7-middlewares] Collection of HTTP middlewares compatible with PSR-7 505 * [https://github.com/php-middleware php-middleware (GitHub)] 485 506 === Stratigility === 486 507 * [https://packagist.org/packages/zendframework/zend-stratigility zendframework/zend-stratigility] … … 498 519 * http://php.net/manual/en/book.pcntl.php 499 520 * [https://packagist.org/packages/mkraemer/react-pcntl mkraemer/react-pcntl] 521 = SQL = 522 * sql [https://packagist.org/search/?q=sql Packagist] 523 * [https://packagist.org/packages/doctrine/dbal doctrine/dbal] 524 * [https://packagist.org/packages/aura/sql aura/sql] 500 525 = Static site generator = 501 526 * [https://packagist.org/packages/spress/spress spress/spress] 502 527 = String = 503 528 * [https://packagist.org/packages/behat/transliterator behat/transliterator] String transliterator 529 ==== Timer, stopwatch (also on Symfony page) ==== 530 * [https://packagist.org/packages/symfony/stopwatch symfony/stopwatch] 531 * [https://packagist.org/packages/phpunit/php-timer phpunit/php-timer] 504 532 = Variables visualization = 505 533 * variables visualization [https://packagist.org/search/?q=variables%20visualization Packagist]