このPHP拡張がすごい!2017

5,828 views

Published on

[第七回闇PHP勉強会 - connpass](https://yamiphp.connpass.com/event/45363/)

Published in: Internet

このPHP拡張がすごい!2017

  1. 1. はじめに このPHP拡張がすごい!2013 @ 第64回PHP勉強会の懇親会 (2013年1月31日) からおおよそ4年たったので、その棚卸で す。 http://sasezaki.hatenablog.com/entry/2013/02/01/005113
  2. 2. 免責事項 カテゴライズはpecl以外のものは私の独断です 掲載基準は2013年以降に出たPHP拡張かどうかです 中国語のREADMEがあるような Yet Another Yaf はちょっ と 全部試したわけじゃないので PHP 7 で動かないかも (多分半分以上) PHP拡張じゃなかったかも そもそもコンパイルできないのもあるのかも Zend Engine 以外の PHP拡張の話??? ※ 各日付は執筆時のものです
  3. 3. Authentication
  4. 4. 1. pecl/krb5 + An interface for maintaining credential caches (KRB5CCache),that can be used for authenticating against a kerberos5 realm+ Bindings for nearly the complete GSSAPI (RFC2744)+ The administrative inter... 認証サービスモジュールのKADM5とは別 マニュアルは https://svn.php.net/viewvc/pecl/krb5/trunk/manual.pdf Maintainers Moritz Bechler Latest Release 2016-11-12 14:18:30 - 1.1.1 First Release 2014-03-01 11:47:19 - 1.0.0pecl/krb5
  5. 5. Benchmarking
  6. 6. 2. pecl/memprof https://github.com/arnaud-lb/php-memory-profiler Memory usage profiler for PHP scripts. FriendsOfSymfonyのメンバでもあるarnaud-lbの作 2013年以降主だった更新はないのは、なので(なの で?) Todoに PHP 7サポート が最後のコミットであった。。 Maintainers Arnaud Le Blanc Latest Release 2013-05-21 13:08:44 - 1.0.0 First Release 2013-05-21 13:08:44 - 1.0.0pecl/memprof
  7. 7. Caching
  8. 8. 3. cybozu/php-yrmcds https://github.com/cybozu/php-yrmcds Yet another memcached / yrmcds client extension for PHP cybozu! Latest Commit 2016-03-11 First Commit 2013-08-02
  9. 9. 3. cybozu/php-yrmcds
  10. 10. 4. liexusong/pcache https://github.com/liexusong/pcache PHP local cache php-beastなどの拡張モジュールを作られてるliexusongさ んの作 Latest Commit 2016-04-29 First Commit 2014-07-09
  11. 11. 5. pecl/apcu_bc http://github.com/krakjoe/apcu-bc This module provides a backwards APC compatible API using APCu. APCu 用 Maintainers Joe Watkins Remi Collet Latest Release 2016-02-11 16:05:45 - 1.0.3 First Release 2015-12-07 09:58:18 - 1.0.0pecl/apcu_bc
  12. 12. 6. pecl/memoize Memoize is an extension which transparently caches PHP functions, much like Perl's Memoize module. 名前の通りの関数のmemoize PHPコードでのコントリビュートでもおみかけする さん作 arraypad Maintainers Arpad Ray Latest Release 2013-06-19 18:16:54 - 0.2.0 First Release 2013-06-19 18:16:54 - 0.2.0pecl/memoize
  13. 13. 7. pecl/yac yac is a shared memory user data cache for PHP. it can be used to replace APC or local memcached.yac is lockless, that means, it is very fast, but there could be a chance you will get a wrong data(dep... laruenceのYA! 復唱!"there could be a chance you will get a wrong data" Maintainers Wei Dai Xinchen Hui Latest Release 2016-07-02 07:03:08 - 2.0.1 First Release 2014-07-23 23:29:01 - 0.9.0pecl/yac
  14. 14. Configuration
  15. 15. 8. pjtpj/php-secret https://github.com/pjtpj/php-secret PHP extension that allows storage and retrieval of a "secret". virtual host環境だとPHPのソースに秘匿したい情報かけ ないだろ。がはは。がモチベっぽい To configure, create the file /etc/php_secret.conf, owned by root, Latest Commit 2015-03-25 First Commit 2015-03-23
  16. 16. 9. pecl/env https://github.com/beberlei/env Based on 12Factor Application rules this extension allows you to load environment variables into every PHP request, in every SAPI using a global configuration file with key value pairs of environment ... Maintainers Benjamin Eberlei Latest Release 2016-01-01 20:19:20 - 0.2.1 First Release 2015-12-31 14:48:42 - 0.1.0pecl/env Latest Commit 2016-01-19 First Commit 2015-12-22
  17. 17. 9. pecl/env tidewaysでお馴染みのbeberlei作 (Doctrineリードのほうが有名でしょうけども。。) の項での`設定を 環境変数 に格納する`に 基づいたもの このextension自体のベースはyaconf 12factor:設定
  18. 18. 10. pecl/yaconf https://github.com/laruence/yaconf Yaconf is a configurations container, it parses ini files, and store the result in PHP when PHP is started laruenceのYA! Zend_Configっぽくiniファイルにネステイン()グ構造での 設定形式を。(iniファイル名が第一階層のキー) Maintainers Xinchen Hui Latest Release 2016-11-30 04:00:15 - 1.0.3 First Release 2015-10-27 05:46:33 - 1.0.0pecl/yaconf
  19. 19. Database
  20. 20. 11. bullso /php-binlog https://github.com/bullso /php-binlog A PHP-Client for MySQL Binlog connect to a MYSQL server which produces BINLOG, and get BINLOG events in real-time, just like a Async-Trigger. mysql binlog in realtime - Gu Weigang Latest Commit 2015-08-10 First Commit 2013-01-28
  21. 21. 11. bullso /php-binlog
  22. 22. 12. nrk/phpiredis https://github.com/nrk/phpiredis PHP extension for Redis based on Hiredis redis/hiredisをベースとしたredisクライアント predisの作者としても知られる親日家nrkさん 作 Latest Commit 2016-11-24 First Commit 2010-12-04
  23. 23. 13. swoole/php-cp https://github.com/swoole/php-cp pdo and redis tcp connect proxy connect proxy 略して cp !! ...... Latest Commit 2016-12-09 First Commit 2014-11-28
  24. 24. 14. pecl/cassandra http://datastax.github.io/php-driver/ A modern, feature-rich and highly tunable PHP client library for ApacheCassandra and DataStax Enterprise using exclusively Cassandra's binaryprotocol and Cassandra Query Language v3. Maintainers Michael Penick Latest Release 2016-08-08 18:35:15 - 1.2.2 First Release 2015-08-13 16:39:25 - 1.0.0RCpecl/cassandra
  25. 25. 15. pecl/couchbase http://developer.couchbase.com/server/other-products/release-notes-archives/php-sdk The PHP client library provides fast access to documents stored in a Couchbase Server. Maintainers Sergey Avseyev sergey. Latest Release 2016-10-04 17:41:23 - 2.2.3 First Release 2013-04-12 05:44:56 - 1.1.4pecl/couchbase
  26. 26. 16. pecl/mongodb http://docs.mongodb.org/ecosystem/drivers/php/ The purpose of this driver is to provide exceptionally thin glue between MongoDBand PHP, implementing only fundemental and performance-critical componentsnecessary to build a fully-functional MongoDB ... mongoではなく mongodb Maintainers Derick Rethans Jeremy Mikola Hannes Magnusson Latest Release 2016-11-29 16:05:32 - 1.2.0 First Release 2015-03-23 19:07:10 - 0.2.0pecl/mongodb
  27. 27. 17. pecl/pq https://github.com/m6w6/ext-pq PostgreSQL client library (libpq) binding Maintainers Michael Wallner Chris Wright Latest Release 2016-05-20 09:00:28 - 2.1.1 First Release 2013-03-22 09:49:30 - 0.1.0pecl/pq Latest Commit 2016-11-15 First Commit 2013-01-20
  28. 28. 18. pecl/redis https://github.com/nicolasff/phpredis/ This extension provides an API for communicating with Redis servers. Maintainers Nicolas Favre-Felix Michael Grunder Latest Release 2016-06-10 20:09:09 - 3.0.0 First Release 2013-04-29 16:38:28 - 2.2.3pecl/redis
  29. 29. 19. pecl/riak http://phpriak.bachpedersen.dk/ Fast protocol buffers client for Riak database and session module. スライド書いてる時には http://phpriak.bachpedersen.dk/ へアクセスできませんでした。 そういえば、doctrine-riakってどこいったんでしょう。。 Maintainers Kaspar Bach Pedersen Latest Release 2014-06-22 10:06:03 - 1.2.0 First Release 2013-06-13 04:32:23 - 0.4.0pecl/riak
  30. 30. Date and Time
  31. 31. 20. lstrojny/php-nanotime https://github.com/lstrojny/php-nanotime PHP bindings for libnanotime for nanosecond precision timestamps nanotimeとれなくて、おこなの?・・・(;´Д`) libnanotime へのバインディング php-cld (Chrome Language Detector) でもlstrojny 作 Latest Commit 2014-09-03 First Commit 2013-10-15
  32. 32. 21. testomato/php-strtotime https://github.com/testomato/php-strtotime Replacement of buggy php function strtotime. It uses parse-datetime module from Gnulib. Latest Commit 2016-11-07 First Commit 2016-11-04
  33. 33. 22. pecl/hrtime The extension implements a high resolution StopWatch class. It uses the the best possible APIs on different platforms. It also makes possible to implement a custom stopwatch using low level ticks deli... Maintainers Anatol Belski Latest Release 2015-02-03 13:08:14 - 0.5.1 First Release 2014-04-18 12:44:41 - 0.4.3pecl/hrtime
  34. 34. Encryption
  35. 35. 23. bukka/php-rsa https://github.com/bukka/php-rsa Wrapper for RSA part of OpenSSL Crypto library. Latest Commit 2015-10-01 First Commit 2015-04-24
  36. 36. 24. sjinks/php-kupyna https://github.com/sjinks/php-kupyna Kupyna (DSTU 7564:2014) Hash Function implementation for PHP Latest Commit 2016-12-09 First Commit 2016-12-04
  37. 37. 25. pecl/libsodium https://github.com/jedisct1/libsodium-php A simple, low-level PHP extension for libsodium. Maintainers Frank Denis Latest Release 2016-05-04 21:55:56 - 1.0.6 First Release 2014-09-27 16:21:08 - 0.1.1pecl/libsodium
  38. 38. 26. pecl/scrypt A PHP wrapper to Colin Percival's scrypt implementation. Maintainers Dominic Black Latest Release 2016-05-18 14:50:53 - 1.4.2 First Release 2013-07-15 08:28:13 - 1.2pecl/scrypt
  39. 39. 27. pecl/xxtea https://github.com/xxtea/xxtea-pecl XXTEA encryption algorithm extension for PHP.XXTEA is a fast and secure encryption algorithm. This is a XXTEA extension for PHP.It is different from the original XXTEA encryption algorithm. It encrypt... Maintainers Bingyao Ma Latest Release 2016-01-05 15:53:22 - 1.0.11 First Release 2015-03-23 01:36:06 - 1.0.5pecl/xxtea
  40. 40. Event
  41. 41. 28. pecl/swoole https://github.com/swoole/swoole-src Event-driven asynchronous and concurrent networking engine with high performance for PHP.- event-driven- asynchronous non-blocking- multi-thread reactor- multi- process worker- multi-protocol- millisec... Maintainers shen zhe Han Tianfeng mikan. Latest Release 2016-11-22 03:37:09 - 1.9.0 First Release 2013-12-24 00:45:02 - 1.6.7pecl/swoole
  42. 42. 29. pecl/uv uv provides access to underlying libuv functions chobieさんのフォークして、PHP7対応 に!!! amphpでも使われてるよ Maintainers Bob Weinand Latest Release 2016-11-14 12:31:47 - 0.1.1 First Release 2016-11-01 17:30:51 - 0.1.0pecl/uv Latest Commit 2016-11-14 First Commit 2012-05-23
  43. 43. File Formats
  44. 44. 30. clickalicious/php_zopfli https://github.com/clickalicious/php_zopfli PHP-Extension for compressing content with Zopfli a good zlib (gzip, deflate) compatible compressor which produces smallest possible results. Zophiは、2013年に公開された Google からの Deflate 互換 の圧縮アルゴリズム実装 Latest Commit 2016-03-15 First Commit 2013-03-01
  45. 45. 31. easybiblabs/php-poppler-pdf https://github.com/easybiblabs/php-poppler-pdf A PHP extension using libpoppler. This is a high-level binding , and does not expose the whole poppler API. Latest Commit 2016-06-07 First Commit 2013-12-05
  46. 46. 32. kjdev/php-ext-brotli https://github.com/kjdev/php-ext-brotli Brotli Extension for PHP kjdevさんシリーズ Googleが2015年に発表した圧縮アルゴリズム実装 Brotli 用 参考 - Google Developers Japan: インターネット用の新しい 圧縮アルゴリズム、Brotli のご紹介 Latest Commit 2016-08-25 First Commit 2015-09-25
  47. 47. 33. maiconschelter/php-id3v2 https://github.com/maiconschelter/php-id3v2 PHP Extension For ID3v2 Audio Latest Commit 2016-01-24 First Commit 2015-12-08
  48. 48. 34. horde/lz4 必要があればエクステンションも作るHorde。そこにしびれ る。あこがれる~。
  49. 49. File System
  50. 50. 35. pecl/phdfs phdfs is using PHP to manipulate Hadoop HDFS.Extension is an interface to HDFS.Currently in use in the phone business consulting system Maintainers yuduan chen Latest Release 2014-09-11 13:44:31 - 0.1.2 First Release 2014-09-11 10:59:37 - 0.1.0pecl/phdfs
  51. 51. GUI
  52. 52. 36. pecl/ui https://github.com/krakjoe/ui An OO wrapper around libui なんともう まで! みんなでPHPでGUIつくってこう な ...GTK ? マニュアル Maintainers Joe Watkins Latest Release 2016-11-02 06:10:49 - 2.0.0 First Release 2016-10-23 11:08:28 - 0.9.9pecl/ui Latest Commit 2016-11-07 First Commit 2016-10-10
  53. 53. 37. pecl/wxwidgets http://wxphp.org/ Wraps the wxWidgets library, which allows to writemulti- platform desktop applications that make use of the nativegraphical components available to the different platforms. Maintainers Jefferson Gonzalez M?rio Soares Latest Release 2014-04-05 09:51:36 - 3.0.0.2 First Release 2014-03-09 17:46:40 - 3.0.0.1pecl/wxwidgets
  54. 54. HTTP
  55. 55. 38. appserver-io-php/php-ext-appserver https://github.com/appserver-io-php/php-ext-appserver This is a PHP extension for the appserver.io project. 誰か使ってみた方いま す? Latest Commit 2015-02-26 First Commit 2013-08-30
  56. 56. 39. pecl/apfd This tiny extension lets PHP's post handler parse `multipart/form-data` and`application/x-www-form- urlencoded` (or any other customly registered form datahandler, like "json_post") without regard to t... Maintainers Michael Wallner Latest Release 2015-04-24 20:19:31 - 1.0.1 First Release 2015-03-10 07:28:25 - 1.0.0RC1pecl/apfd
  57. 57. 40. pecl/json_post This extension provides a PHP content type handler for "application/json" and"text/json" to PHP's form data parser. If the `Content-Type` of an incomingrequest is `text/json`, the JSON contents of the... Maintainers Michael Wallner Latest Release 2015-07-28 08:24:48 - 1.0.1 First Release 2015-03-10 07:31:12 - 1.0.0RC1pecl/json_post Latest Commit 2016-11-28 First Commit 2015-03-04
  58. 58. Images
  59. 59. 41. bertmsk/PHP-kmeans https://github.com/bertmsk/PHP-kmeans Native PHP support for finding clusters centers in images using k-means++ and libgd Latest Commit 2015-09-25 First Commit 2015-09-25
  60. 60. 42. gree/YoyaMagick https://github.com/gree/YoyaMagick ImageMagick customize yoyaさん.. GIF アニメ生成は本当に GraphicsMagick で行うべきか? | GREE Engineers' Blog YoyaMagick で Image::Magick (PerlMagick) - uzullaがブロ グ Latest Commit 2013-10-24 First Commit 2012-10-01
  61. 61. 43. hhatto/php-otama https://github.com/hhatto/php-otama PHP extension for otama だそうです。 「otamaはコンテンツベースの画像検索エンジンを構築す るために作られたライブラリです。」 Latest Commit 2013-05-22 First Commit 2013-05-18
  62. 62. 44. pecl/qb http://www.php-qb.net QB stands for "Quick Binary." It's a PHP extension designed to enable faster handling of binary data. It takes a function written in PHP and translate it for a specialized virtual machine. The use of ... /人◕ ‿‿ ◕人\< "Quick Binary."でqb? 1000円カットを思 い出させる名前じゃないか。わけがわからないよ http://php-qb.net/ 、 500エラーでした。。 Maintainers Chung Leong Latest Release 2014-07-20 21:53:30 - 2.4.0 First Release 2014-03-16 20:11:47 - 2.1.1pecl/qb
  63. 63. 45. pecl/vips https://github.com/jcupitt/php-vips-ext This extension uses libvips to provide image processing facilities. このjcupittさん自体が書いた`A fast image processing library`のlibvipsへのバインディング Maintainers John Cupitt Latest Release 2016-11-25 16:53:49 - 1.0.1 First Release 2016-11-24 07:51:33 - 1.0.0pecl/vips
  64. 64. Internationalization
  65. 65. 46. openvenues/php-postal https://github.com/openvenues/php-postal PHP bindings to libpostal for for fast international street address parsing/normalization このopenvenuesで作られているlibpostalへのバインディン グ 住所表記をパース 日本語、日本ロケールへの対応は人柱まち Latest Commit 2016-06-30 First Commit 2016-02-24
  66. 66. Languages
  67. 67. 47. AterCattus/php-decorators https://github.com/AterCattus/php-decorators The implementation of decorators in PHP こちらは記事を書きました やったー!php-decoratorsでアノテーションvar_dumpでき たよー\(^o^)/ - Qiita Latest Commit 2013-05-27 First Commit 2013-05-24
  68. 68. 48. RickySu/php-llvm_bind https://github.com/RickySu/php-llvm_bind a php extension for llvm binding Latest Commit 2014-02-07 First Commit 2013-01-07
  69. 69. 49. arnaud-lb/php-go https://github.com/arnaud-lb/php-go php-go is a PHP extension allowing to call Go code from PHP, with minimal code boilerplate お、GOバインディング だ! Latest Commit 2016-05-18 First Commit 2015-12-26
  70. 70. 50. kitech/php-go https://github.com/kitech/php-go Write PHP extension using go/golang. Zend API wrapper for go/golang. お!Goバインディング だ! Latest Commit 2016-10-18 First Commit 2015-12-30
  71. 71. 51. mgdm/MFFI https://github.com/mgdm/MFFI A new foreign-function interface for PHP かつてのpecl/FFI ではない Elizabeth Smithの最近のスライド でも注目視 Php internal architecture Latest Commit 2016-04-10 First Commit 2015-03-15
  72. 72. 52. do-aki/gophp_sample https://github.com/do-aki/gophp_sample a sample of php extension by golang お、GOバインディングだ! スライド - Writing php extensions in golang Latest Commit 2016-01-04 First Commit 2015-11-15
  73. 73. 53. pinepain/php-v8 https://github.com/pinepain/php-v8 PHP extension for V8 JavaScript engine だと思った?違うんだな~これ が v8js Latest Commit 2016-10-01 First Commit 2015-04-04
  74. 74. Logging
  75. 75. 54. kjdev/php-ext-elog https://github.com/kjdev/php-ext-elog elog function Extension for PHP kjdevさんシリーズ elog.filter_json_assoc などの多彩な設定。。 elog is a function which is an extension of the error_log. Latest Commit 2014-09-01 First Commit 2013-05-20
  76. 76. Math
  77. 77. 55. Bit-Wasp/secp256k1-php https://github.com/Bit-Wasp/secp256k1-php PHP bindings for bitcoin/secp256k1 Latest Commit 2016-11-27 First Commit 2015-03-10
  78. 78. 56. ph4r05/php_aho_corasick https://github.com/ph4r05/php_aho_corasick Aho-Corasick string search algorithm PHP extension implementation. Latest Commit 2015-12-10 First Commit 2012-12-23
  79. 79. 57. garrettrayj/php7-mapnik https://github.com/garrettrayj/php7-mapnik PHP7 extension for geospatial rendering with Mapnik Latest Commit 2016-10-30 First Commit 2016-02-28
  80. 80. 58. sgolemon/gmpi https://github.com/sgolemon/gmpi Improved GMP extension Latest Commit 2016-10-21 First Commit 2016-06-13
  81. 81. 59. tvlooy/piano https://github.com/tvlooy/piano PHP piano extension リポジトリ直下にC.WAV, D.WAVとか並んでるので不穏な感 じがすごい ALSA デバイスでの音出しをくねくねやってるっぽい Latest Commit 2016-09-22 First Commit 2016-02-05
  82. 82. 60. pecl/geospatial The extension currently has implementations of the Haversine andVincenty's formulas for calculating distances, an initial bearing calculationfunction, a Helmert transformation function to transfer bet... Maintainers Derick Rethans Michael Maclean Latest Release 2015-12-04 19:06:43 - 0.1.0 First Release 2015-12-04 19:06:43 - 0.1.0pecl/geospatial
  83. 83. 61. pecl/hdr_histogram http://hdrhistogram.org/ HdrHistogram: A High Dynamic Range Histogram. A Histogram that supports recording and analyzing sampled data value counts across a configurable integer value range with configurable value precision wi... Maintainers Benjamin Eberlei Latest Release 2016-08-17 11:42:55 - 0.3.0 First Release 2015-12-31 16:01:21 - 0.1.0pecl/hdr_histogram Latest Commit 2016-08-17 First Commit 2015-01-04
  84. 84. Multimedia
  85. 85. 62. Jan-E/php7-ffmpeg https://github.com/Jan-E/php7-ffmpeg PHP FFmpeg extension, updated for PHP7 Latest Commit 2015-03-08 First Commit 2015-02-02
  86. 86. 63. chung-leong/av https://github.com/chung-leong/av PHP extension for encoding/decoding video through libavcodec Latest Commit 2014-05-09 First Commit 2013-04-02
  87. 87. 64. jpauli/php-av https://github.com/jpauli/php-av libav wrapper for PHP yoyaさんも作ってたっぽいけど、それとは別 物 Latest Commit 2014-06-05 First Commit 2014-06-04
  88. 88. 65. mancmelou/php-extractor https://github.com/mancmelou/php-extractor Libextractor binding for PHP Latest Commit 2013-06-23 First Commit 2013-03-17
  89. 89. 66. messer/php-qtfaststart https://github.com/messer/php-qtfaststart Small PHP extension that wraps the awesome qt-faststart tool. Allows you to optimize MOV's and MP4's for streaming playback. Latest Commit 2013-03-10 First Commit 2012-01-12
  90. 90. 67. lt/php-sdl2 https://github.com/lt/php-sdl2 SDL2 bindings for PHP Latest Commit 2016-11-17 First Commit 2016-11-07
  91. 91. 68. pecl/opengl https://github.com/phpopengl This extension allows you to develop 3D multimedia applications with PHP using the complete OpenGL library API. Maintainers Santiago Lizardo Latest Release 2014-04-20 17:48:51 - 0.8.0 First Release 2014-04-20 17:48:51 - 0.8.0pecl/opengl Latest Commit 2016-07-05 First Commit 2013-12-04
  92. 92. 69. pecl/sdl https://github.com/phpsdl This extension allows you to develop multimedia applications with PHP using the complete SDL library API. Maintainers Santiago Lizardo Latest Release 2014-10-08 08:01:49 - 0.9.3 First Release 2013-11-24 15:40:40 - 0.9.0pecl/sdl Latest Commit 2016-11-01 First Commit 2013-12-02
  93. 93. 70. pecl/xmp PHP extension for managing (e.g. playing, decoding, retrieving metadata, mixing)module tracked files (http://en.wikipedia.org/wiki/Module_file),libxmp is available from http://xmp.sourceforge.net/ Maintainers Boro Sitnikovski Latest Release 2014-09-11 14:15:55 - 4.2.0 First Release 2014-09-11 14:15:55 - 4.2.0pecl/xmp
  94. 94. Networking
  95. 95. 71. Altahrim/PHP_ExtWebsockets https://github.com/Altahrim/PHP_ExtWebsockets PHP extension providing support for websockets Latest Commit 2016-03-16 First Commit 2015-07-31
  96. 96. 72. EVODelavega/phpkafka https://github.com/EVODelavega/phpkafka PHP extension for Apache Kafka Latest Commit 2016-04-18 First Commit 2014-01-03
  97. 97. 73. gedaiu/phpWs https://github.com/gedaiu/phpWs A websockets extension for php5 Latest Commit 2013-11-08 First Commit 2013-10-05
  98. 98. 74. metashock/php-pcap https://github.com/metashock/php-pcap libpcap extension for PHP Latest Commit 2014-10-04 First Commit 2013-09-27
  99. 99. 75. mgdm/Mosquitto-PHP https://github.com/mgdm/Mosquitto-PHP A wrapper for the Eclipse Mosquitto™ MQTT client library for PHP. Latest Commit 2016-11-01 First Commit 2013-09-12
  100. 100. 76. pecl/apn http://libcapn.org/php-apn apn is a PHP extension to introduce simple yet powerful interface for sending push notifications to iOSand OS X devices from within your PHP code Maintainers Anton Dobkin anton. Latest Release 2014-02-20 02:44:17 - 1.0.3 First Release 2013-05-29 12:30:32 - 1.0.1pecl/apn
  101. 101. 77. pecl/ip2location http://www.ip2location.com This PECL extension enables you to get the geo location information of an IP address, such as country, region or state, city, latitude and longitude, US ZIP code, time zone, Internet Service Provider ... Maintainers Chris Lim Latest Release 2014-11-18 20:18:12 - 6.0.4 First Release 2013-09-17 02:52:16 - 6.0.0pecl/ip2location
  102. 102. 78. pecl/ircclient Binding for the ircclient library. Maintainers Michael Wallner Latest Release 2014-01-10 07:43:59 - 0.3.0 First Release 2014-01-10 07:43:59 - 0.3.0pecl/ircclient
  103. 103. 79. pecl/rdkafka This extension is a librdkafka binding providing a working client for Kafka 0.8, 0.9, 0.10 Maintainers Arnaud Le Blanc Latest Release 2016-11-28 13:30:19 - 2.0.1 First Release 2015-05-13 14:41:02 - 0.0.1pecl/rdkafka
  104. 104. 80. pecl/yp http://www.php.net/nis NIS (formerly called Yellow Pages) allows network managementof important administrative files (e.g. the password file). Maintainers Pierre Joye Gasol Wu Latest Release 2014-05-12 06:04:55 - 1.0.1 First Release 2014-02-21 23:43:45 - 1.0.0RC1pecl/yp
  105. 105. 81. pecl/zmq ZeroMQ is a so ware library that lets you quickly design and implement a fast message-based applications. Maintainers Mikko Koppanen Latest Release 2016-02-01 01:51:40 - 1.1.3 First Release 2013-10-24 02:31:13 - 1.0.7pecl/zmq
  106. 106. PHP
  107. 107. 82. etsy/incpath https://github.com/etsy/incpath PHP extension to support atomic deploys rasmus(ラードフのほう)が作った、アトミックデプロイのため の さきほどのhnwさんの話に出てきたrasmus参戦のところと 時系列を噛みしめると味わいぶかそう incpath is a PHP extension to "resolve" a portion of include_path set in PHP's configuration INI files. Latest Commit 2013-07-07 First Commit 2013-06-28
  108. 108. 83. hnw/jsplus https://github.com/hnw/jsplus A PHP extension which changes behavior of '+' operator as string concatetation when either 1 operand is a string (like JavaScript). Latest Commit 2015-12-03 First Commit 2015-10-08
  109. 109. 84. johannes/php-staticvardumper https://github.com/johannes/php-staticvardumper Dump static PHP vars for global PHP functions 関数スコープ内のstatic変数をダン プ Latest Commit 2014-02-17 First Commit 2014-02-17
  110. 110. 85. jpochyla/php_zval_alias https://github.com/jpochyla/php_zval_alias Latest Commit 2011-10-05 First Commit 2011-10-05
  111. 111. 86. krakjoe/autostrict https://github.com/krakjoe/autostrict Automatic strict types in PHP7 Latest Commit 2016-02-05 First Commit 2016-01-14
  112. 112. 86. krakjoe/autostrict
  113. 113. 86. krakjoe/autostrict $ cat thanksphp.php  <?php (function (int $x, int $y){ var_dump($x + $y);})("1.5", 2.8);  $ php ­d zend_extension=autostrict.so ­d autostrict.enable=0 thanksphp int(3)  $ php ­d zend_extension=autostrict.so ­d autostrict.enable=1 thanksphp PHP Fatal error:  Uncaught TypeError: Argument 1 passed to {closure}() must b Stack trace:  #0 /tmp/thanksphp.php(1): {closure}('1.5', 2.8)  #1 {main}    thrown in /tmp/thanksphp.php on line 1 
  114. 114. 87. krakjoe/inspector https://github.com/krakjoe/inspector An extension to allow inspection of opcodes for PHP7 `There are many tools that dump or print opcodes, but none of these tools allow programmatic inspection.` だそ うです。 Latest Commit 2016-05-05 First Commit 2015-10-15
  115. 115. 88. krakjoe/uneval https://github.com/krakjoe/uneval disable evil() Latest Commit 2016-02-14 First Commit 2013-10-24
  116. 116. 88. krakjoe/uneval switch (opline­>opcode) {      case ZEND_INCLUDE_OR_EVAL: {          if (opline­>extended_value == ZEND_EVAL) {              zend_error(E_ERROR, "eval() is disabled in this environment for s             return;          }      } break;  } 
  117. 117. 89. liexusong/php-beast https://github.com/liexusong/php-beast PHP source code encrypt module (PHP源码加密模块) Latest Commit 2016-11-15 First Commit 2013-06-08
  118. 118. 90. lt/php-strict https://github.com/lt/php-strict Changes the default behavior of PHP 7 scalar type hints. strictをデフォルトに(古 め) Latest Commit 2015-02-28 First Commit 2015-02-24
  119. 119. 91. phplang/p3 https://github.com/phplang/p3 PHP++: C++11 Class wrap library for PHP7 moriyoshiさんのboost-phpぽさあるなーとか呟いてたら、 作者(sara)から いただきました。面白いですとレス Latest Commit 2016-11-05 First Commit 2016-11-04
  120. 120. 92. pinepain/php-ref https://github.com/pinepain/php-ref PHP 7 extension that adds So and Weak references support to PHP Weakref... う が トラウマ Latest Commit 2016-10-01 First Commit 2016-01-01
  121. 121. 93. sgolemon/astkit https://github.com/sgolemon/astkit Parser kit for PHP7 ASTs 省略(do_akiさんが触れるの で) Latest Commit 2016-07-14 First Commit 2015-01-09
  122. 122. 94. t3rmin4t0r/deckorate https://github.com/t3rmin4t0r/deckorate A Decorator mechanism for PHP こちらは記事を書きました 組み込み関数の挙動をdeckorate拡張で置き換える - Qiita Latest Commit 2012-03-13 First Commit 2012-03-06
  123. 123. 95. tronice/epv https://github.com/tronice/epv Extra Predefined Variables for PHP スーパーグローバルに $_PUT, $_DELETE を君の手 に! Latest Commit 2015-09-29 First Commit 2014-04-02
  124. 124. 96. vbence/pwxe https://github.com/vbence/pwxe Blocks the execution of writable PHP files. Latest Commit 2014-10-19 First Commit 2014-10-19
  125. 125. 97. pecl/pcs http://pcs.tekwire.net PCS provides a fast and easy way to mix C and PHP code in your PHP extension.PHP code can be embedded in the compiled module or distributed as a separate file tree.Compatibility : PHP 5 (5.3+) and 7 Maintainers Francois Laupretre Latest Release 2015-12-16 23:42:27 - 1.3.1 First Release 2015-11-16 14:21:48 - 1.0.0pecl/pcs
  126. 126. 98. pecl/propro A reusable split-off of pecl_http's property proxy API. Maintainers Michael Wallner Latest Release 2016-05-25 11:55:47 - 2.0.1 First Release 2013-02-16 18:14:08 - 0.1.0pecl/propro
  127. 127. 99. pecl/raphf A reusable split-off of pecl_http's persistent handle and resource factory API. Maintainers Michael Wallner Latest Release 2016-01-19 09:25:31 - 2.0.0 First Release 2013-02-16 18:08:55 - 0.1.0pecl/raphf
  128. 128. 100. pecl/strict https://github.com/krakjoe/strict Strict scalar parameter type hint support for 5.4+ 記事 - strict 拡張モジュールを導入してスカラー型のタイプ ヒントを利用する - Qiita Maintainers Joe Watkins Latest Release 2014-12-08 01:11:54 - 0.4.1 First Release 2014-11-18 01:19:06 - 0.2.0pecl/strict
  129. 129. 101. pecl/trace https://github.com/Qihoo360/phptrace Trace is a low-overhead tracing tool for PHP.It can trace all PHP executing, function calls, request information duringrun-time. And provides features like Filter, Statistics, Current Status andso on.... Maintainers Yuchen Wang Anan Zhao Latest Release 2015-05-22 07:30:07 - 0.3.0 First Release 2015-05-22 07:30:07 - 0.3.0pecl/trace Latest Commit 2016-12-07 First Commit 2014-11-26
  130. 130. 102. pecl/uopz uopz (User Operations for Zend) エクステンションは、 コンパ イル時および実行時に通常使用される Zend Engine の機能 を公開します。 その目的は、PHP コードを表す内部構造の 変更を可能にすること、 およびユーザーのコードが VM と対 話できるようにすることです。 記事 - uopz 拡張で DI っぽいことしてみる - ngの日 記 Maintainers Joe Watkins Remi Collet Latest Release 2016-04-13 12:34:01 - 5.0.1 First Release 2014-03-23 07:55:41 - 1.0.0pecl/uopz
  131. 131. Security
  132. 132. 103. ax330d/pvt https://github.com/ax330d/pvt PHP extension for web-application dynamic analysis. Latest Commit 2012-11-11 First Commit 2012-10-25
  133. 133. Structures
  134. 134. 104. yorickdewid/php-atree https://github.com/yorickdewid/php-atree Fast memory tree storage structure for PHP Latest Commit 2015-10-28 First Commit 2015-10-25
  135. 135. 105. pecl/ds http://github.com/php-ds Data Structures for PHP 7 Maintainers Joe Watkins Rudi Theunissen Latest Release 2016-09-03 10:23:12 - 1.1.6 First Release 2016-07-28 02:00:44 - 1.0.0pecl/ds Latest Commit 2016-12-06 First Commit 2016-02-09
  136. 136. 105. pecl/ds 「PHP 7で内部構造見直しで速くなったの知ってるよね。で はデータ構造では」というノリの 記事 PHP でのData Structures 全般は によるスライド が詳しい Efficient data structures for PHP 7 – Medium 『Phparchitect's Guide to Web Scraping』でおなじみ Matthew Turland Data Structures in PHP
  137. 137. 記事 より 105. pecl/ds Efficient data structures for PHP 7 – Medium
  138. 138. System
  139. 139. 106. francisbesset/phpgpio https://github.com/francisbesset/phpgpio The phpgpio extension provides an API to control your GPIO's (with the WiringPi library) Latest Commit 2014-04-06 First Commit 2014-02-17
  140. 140. 107. jpauli/symfony_dic_optimizer https://github.com/jpauli/symfony_dic_optimizer Symfony Dependency Injection Optimizer ` implements ContainerOptimizerInterface` によって とのこと The interface will replace the get(), has() and camelize() methods by C implemented ones Latest Commit 2015-07-08 First Commit 2015-06-27
  141. 141. 108. m6w6/ext-psi https://github.com/m6w6/ext-psi PHP System Interface / POSIX Standard Interface とのこと でした。 provides a foreign function interface through libffi and/or libjit This is heavy WIP. Latest Commit 2016-12-05 First Commit 2015-10-11
  142. 142. 109. rstgroup/php-signal-handler https://github.com/rstgroup/php-signal-handler Singnal handling based on C signal for blocking/nonblocking php scripts php-amqpでの動作目的で作られたらしく pcntl_signalを用いないのは、ブロッキングの関係らしいで す Latest Commit 2016-06-06 First Commit 2014-02-18
  143. 143. 110. kea/Onion-Omega-Php-extension https://github.com/kea/Onion-Omega-Php-extension PHP extension for Onion Omega IoT device Latest Commit 2016-08-28 First Commit 2016-02-28
  144. 144. 111. pecl/sync The 'sync' extension introduces synchronization objects into PHP. Named and unnamed Mutex, Semaphore, Event, Reader-Writer, and named Shared Memory objects provide OS-level synchronization mechanisms ... Maintainers Thomas Hruska Latest Release 2016-11-27 02:23:50 - 1.1.0 First Release 2014-07-05 12:35:51 - 1.0.0pecl/sync Latest Commit 2016-11-26 First Commit 2014-05-06
  145. 145. 111. pecl/sync PHP 7対応ブランチで 定義されてたクラスは、`SyncMutex`, `SyncSemaphore`, `SyncEvent`, `SyncReaderWriter` php -d extension=modules/sync.so --re sync
  146. 146. Text
  147. 147. 112. pecl/jsmin https://github.com/sqmk/pecl-jsmin This extension provides an API for minifying JavaScript. PHP 7対応はいまやってるっぽいです。(別ブランチあ り) Maintainers Michael Squires Latest Release 2015-11-13 17:02:54 - 2.0.1 First Release 2013-07-26 00:39:40 - 0.1.0pecl/jsmin
  148. 148. Tools and Utilities
  149. 149. 113. aterrien/forp-PHP-profiler https://github.com/aterrien/forp-PHP-profiler A PHP profiler written in C. forp is a lightweight PHP extension which provides the full call stack of your script, with CPU and memory usage, in a plain PHP Array or JSON output. Latest Commit 2014-10-12 First Commit 2012-09-02
  150. 150. 114. dmitry-saprykin/php-btp-extension https://github.com/dmitry-saprykin/php-btp-extension Php extension to publish execution statistics to btp statistics daemon Latest Commit 2014-12-10 First Commit 2013-08-07
  151. 151. btpとは? のREADMEより 114. dmitry-saprykin/php-btp-extension mambaru/btp-daemon: BTP daemon - performance analysis tool
  152. 152. 115. guitarpoet/php-obabel https://github.com/guitarpoet/php-obabel The PHP Port of OpenBabel 2.0 Latest Commit 2015-05-22 First Commit 2015-03-13
  153. 153. 116. laruence/php-valgrind https://github.com/laruence/php-valgrind A PHP Valgrind tool Latest Commit 2013-08-29 First Commit 2013-08-12
  154. 154. 117. nikic/sample_prof https://github.com/nikic/sample_prof Sampling profiler for PHP とのことで Most (all?) other profilers for PHP work by hooking into function execution (zend_execute_ex to be more precise). Latest Commit 2015-07-26 First Commit 2013-11-10
  155. 155. 118. tideways/php-profiler-extension https://github.com/tideways/php-profiler-extension PHP extension that adds profiling support using Tideways service PHPのトップ集団Qafooがお送りする tideways Latest Commit 2016-12-02 First Commit 2009-03-17
  156. 156. 119. fujimoto/php-zinnia https://github.com/fujimoto/php-zinnia PHP Zinnia Extension Zinnia: 機械学習ベースのポータブルな手書き文字認識エ ンジン Latest Commit 2014-05-19 First Commit 2014-05-19
  157. 157. 120. pecl/binpack http://binpack.liaohuqiu.net/ The php implementation for BINPACK. Maintainers Liao Huqiu Latest Release 2014-08-12 12:45:41 - 1.0.1 First Release 2014-07-26 10:31:11 - 1.0.0pecl/binpack
  158. 158. 121. pecl/crypto https://github.com/bukka/php-crypto This package provides an objective wrapper for OpenSSL Crypto Library Maintainers Jakub Zelenka jakub. Latest Release 2015-11-25 16:32:58 - 0.2.2 First Release 2014-01-01 13:47:54 - 0.1.0pecl/crypto
  159. 159. 122. pecl/protobuf https://developers.google.com/protocol-buffers/ Maintainers Stanley Cheung Latest Release 2016-09-26 19:51:05 - 3.1.0a1 First Release 2016-09-26 19:51:05 - 3.1.0a1pecl/protobuf
  160. 160. 123. pecl/protocolbuffers https://github.com/chobie/protoc-gen-php Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, th... chobi_eさん... peclのHomepageに記載されてるURLは のPHPでのコード実装です。 protoc plugin for PECL ProtocolBuffers Maintainers Shuhei Tanuma chobieee. Latest Release 2014-04-15 00:01:38 - 0.2.6 First Release 2014-01-26 12:16:58 - 0.2.0pecl/protocolbuffers
  161. 161. Web Services
  162. 162. 124. Peekmo/php-ext-jsonpath https://github.com/Peekmo/php-ext-jsonpath JsonPath C extension for PHP 残念。"WORK IN PROGRESS" Latest Commit 2014-09-25 First Commit 2014-09-14
  163. 163. 125. kjdev/php-ext-jq https://github.com/kjdev/php-ext-jq This extension allows jq kjdevさんシリー ズ Latest Commit 2014-11-20 First Commit 2014-11-20
  164. 164. 126. pecl/jsonc Support for JSON (JavaScript Object Notation) serialization.This is a drop-in alternative to PHP standard json extension. jsonライセンスの関係で?は い。 Maintainers Remi Collet Latest Release 2016-06-15 06:21:18 - 1.3.10 First Release 2013-06-04 02:30:21 - 1.3.0pecl/jsonc
  165. 165. 127. pecl/jsond https://github.com/bukka/php-jsond This is a drop-in alternative to the standard PHP JSON extension. jsonライセンスの関係で?は い Maintainers Jakub Zelenka jakub. Latest Release 2014-03-20 14:57:00 - 1.3.0 First Release 2014-03-20 14:57:00 - 1.3.0pecl/jsond Latest Commit 2016-12-08 First Commit 2014-02-21
  166. 166. 128. pecl/jsonnet https://github.com/Neeke/Jsonnet-PHP The Google JsonNet for PHP.Jsonnet language, from its most basic features to its powerful object model, punctuated with examples drawn from the world of cocktails. These examples are meant to be fun, ... Alt JS. Maintainers Chitao Gao Latest Release 2016-08-07 07:37:30 - 1.1.1 First Release 2015-05-31 09:41:13 - 1.0.0pecl/jsonnet
  167. 167. XML
  168. 168. 129. pecl/dom_varimport https://github.com/DmitryKoterov/dom_varimport The extension converts nested PHP arrays and objects into DOMDocument.Some of projects use XSLT as a templating engine. To build XML for such engines,we need a very fast and memory efficient way to co... Maintainers Dmitry Koterov Latest Release 2015-08-05 14:15:18 - 1.11.3 First Release 2015-08-04 09:47:17 - 1.11.0pecl/dom_varimport Latest Commit 2015-08-06 First Commit 2014-03-21
  169. 169. 130. pecl/xmldiff The extension is able to produce diffs of two XML documents and then to apply the difference to the source document. The diff is a XML document containing copy/insert/delete instruction nodes in human... マニュア ル Maintainers Anatol Belski Latest Release 2015-02-03 13:04:09 - 1.1.2 First Release 2013-09-28 17:07:24 - 0.8.0pecl/xmldiff
  170. 170. 所感 - 前回(4年前)ごろまでと比べて... データストア向けやイベントライブラリ向けのバインディン グは落ち着いた印象 「拙者Cで実装すると速いと聞いて持参してまいりまし た」っていう勢は減りましたかね PHP 7 のリリースもあってか、PHP自体へのハックやプロフ ァイリングなどが増えた感じ 3~5年前の中国でのPHP内部勉強ブーム(?)の成果が上 がってる? 前回紹介したWebKitGtkバインドみたいなロマンスを感じさ せるものは盛り上がってない印象
  171. 171. 所感 (このPHP拡張/Zend拡張を導入したら)「PHPらしさが」「ポ ータビリティ性が」「PHPでやる意味は?」 自分の限界を、そしてPHPの限界を自分で決めるんじゃな い!やればできる!できるはずだ!
  172. 172. 関連記事・スライドなど PECL を数えてみた PHPのイカれたメンバーを紹介するぜ! Php extensions サムライファクトリー開発ブログ http://www.slideshare.net/y-uti/pecl http://qiita.com/morisuke/items/7acf5cd0c68e99d6b68b http://www.slideshare.net/auroraeosrose/php- extensions-66078198 http://dev.ninja.co.jp/

×