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
80
Keep It Simple Security (Symfony Cafe 28-01-2016)
cystbear
0
120
Erlang (GeekTalks)
cystbear
0
74
Clojure basics
cystbear
0
83
Welcome to Erlang
cystbear
0
83
Erlang/N2O KNPMeetup
cystbear
0
160
Symfony Best Practices and beyond
cystbear
1
230
DDD on example of Symfony (SymfonyCamp UA 2014)
cystbear
3
920
MongoDB KNPLabs GeekTime
cystbear
1
79
Other Decks in Programming
See All in Programming
GAEログのコスト削減
mot_techtalk
0
120
Formの複雑さに立ち向かう
bmthd
1
860
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
120
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
210
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
790
Grafana Cloudとソラカメ
devoc
0
170
Honoとフロントエンドの 型安全性について
yodaka
7
1.3k
Writing documentation can be fun with plugin system
okuramasafumi
0
120
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
570
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Automating Front-end Workflow
addyosmani
1368
200k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Unsuck your backbone
ammeep
669
57k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
450
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Embracing the Ebb and Flow
colly
84
4.6k
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?