Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHP. Trends, implementations, frameworks and so...
Search
Oleg Zinchenko
April 28, 2014
Programming
3
140
PHP. Trends, implementations, frameworks and solutions
It's all about Symfony2 solutions
Oleg Zinchenko
April 28, 2014
Tweet
Share
More Decks by Oleg Zinchenko
See All by Oleg Zinchenko
ORO Meetup #4
cystbear
0
83
Keep It Simple Security (Symfony Cafe 28-01-2016)
cystbear
0
130
Erlang (GeekTalks)
cystbear
0
77
Clojure basics
cystbear
0
86
Welcome to Erlang
cystbear
0
92
Erlang/N2O KNPMeetup
cystbear
0
160
Symfony Best Practices and beyond
cystbear
1
240
DDD on example of Symfony (SymfonyCamp UA 2014)
cystbear
3
920
MongoDB KNPLabs GeekTime
cystbear
1
85
Other Decks in Programming
See All in Programming
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
1.1k
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
17
5.6k
あまり知られていない MCP 仕様たち / MCP specifications that aren’t widely known
ktr_0731
0
260
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.9k
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
370
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
130
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.1k
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
1.7k
Understanding Kotlin Multiplatform
l2hyunwoo
0
260
Infer入門
riru
4
1.5k
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
370
Understanding Ruby Grammar Through Conflicts
yui_knk
1
110
Featured
See All Featured
Music & Morning Musume
bryan
46
6.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
How GitHub (no longer) Works
holman
314
140k
Automating Front-end Workflow
addyosmani
1370
200k
Embracing the Ebb and Flow
colly
86
4.8k
Docker and Python
trallard
45
3.5k
How to Ace a Technical Interview
jacobian
278
23k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Transcript
Trends, implementations, frameworks and solutions PHP
None
None
Stats
~82% http://w3techs.com/technologies/overview/programming_language/all
GitHub 14.4M Repos 970K Issues 707K PRs
PHP new features Namespaces Late Static Binding Traits Array short
syntax Closures scopes and $this Built-in web server Generators try-catch Finally Password hashing API
SPDY
http://www.eschrade.com/page/magento-performance-on-php-5-3-5-4-and-5-5rc3/ Magento Benchmark
PHP-Fig Autoloading Code Style Logging Interface Doc Blocks Cache Interface
Autoloading https://getcomposer.org/ https://packagist.org/
composer.json { "name": "symfony/framework-standard-edition", "license": "MIT", "type": "project", "description": "The
\"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/", "SymfonyStandard": "app/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "2.5.x-dev", "doctrine/orm": "~2.2,>=2.2.3", "doctrine/doctrine-bundle": "~1.2", … } }
Implementations http://www.toptal.com/python/why-are-there-so-many-pythons http://habrahabr.ru/post/209812/
Zend Engine Implementations http://php.net/
HipHopVM Implementations http://hhvm.com/
Hack Lang http://hacklang.org/ <?hh class MyClass { public function alpha():
int { return 1; } public function beta(): string { return 'hi test'; } } function f(MyClass $my_inst): string { // Fix me! return $my_inst->alpha(); }
KPHP Implementations http://habrahabr.ru/post/214877
JPHP Implementations https://github.com/jphp-compiler/jphp
PHPPHP Implementations https://github.com/ircmaxell/PHPPHP
HippyVM Implementations http://hippyvm.com/
See also http://phalconphp.com/en/ http://zephir-lang.com/ http://www.php-cpp.com/
None
symfony1 Started in 2005 67 releases ~40k commits End of
livecycle Nov 2012
Symfony(2) First public commit 01-04-2010 First Birthday 28-07-2011 First LTS
May 2013 73 releases ~17k commits
GitHub stats 11k Issues 7k PRs 8k Stars 3k Forks
https://github.com/symfony/symfony
What is Symfony? Reusable set of standalone, decoupled PHP components
Based on components Symfony is a full-stack framework Symfony is an HTTP framework Request/Response framework Non MVC http://fabien.potencier.org/article/49/what-is-symfony2
Components HttpFoundation Routing Security Yaml HttpKernel http://symfony.com/components DependencyInjection EventDispatcher Form
Validator Templating
Symfony Basics <?php use Symfony\Component\HttpFoundation\Request; $kernel = new AppKernel('prod', false);
$request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send();
What about “M”? Doctrine2
Doctrine2 RDBMS MongoDB CouchDB OXM OrientDB https://github.com/doctrine
PHP frameworks Laravel (4) Zend Zend2 Yii Yii2 Kohana CakePHP
CodeIgniter http://ellislab.com/blog/entry/ellislab-seeking-new-owner-for-codeigniter
Symfony products Drupal phpBB Laravel Magento eZ Publish http://symfony.com/projects
Symfony products RedKite CMS Symfony CMF Decoupled CMS Sylius eCommerce
Vespoline eCommerce Oro CRM Akeneo PIM (wat?) http://symfony.com/projects
RedKite CMS http://redkite-labs.com/
Symfony CMF http://cmf.symfony.com/
Decoupled CMS http://decoupledcms.org/
PHP Content Repository JSR based (JSR-170/283) PHPCR is bucket of
interfaces Implementations: Jackalope, Midgard2 Storages: Jackrabbit Doctrine-DBAL Doctrine-MongoDB Prismic.io http://phpcr.github.io/ http://jackalope.github.io/ http://midgard-project.org/phpcr/ https://jackrabbit.apache.org/ https://prismic.io/
Sylius http://sylius.org/ http://sylius.com/
Vespolina http://vespolina.org/
Oro CRM http://www.orocrm.com/
Akeneo http://www.akeneo.com/ A Product Information Management aka PIM, PCM or
Products MDM
Akeneo http://www.akeneo.com/
and growing... http://symfony.com/projects
Questions?