Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHP. Trends, implementations, frameworks and so...
Search
Oleg Zinchenko
April 28, 2014
Programming
160
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP. Trends, implementations, frameworks and solutions
It's all about Symfony2 solutions
Oleg Zinchenko
April 28, 2014
More Decks by Oleg Zinchenko
See All by Oleg Zinchenko
ORO Meetup #4
cystbear
0
87
Keep It Simple Security (Symfony Cafe 28-01-2016)
cystbear
0
140
Erlang (GeekTalks)
cystbear
0
82
Clojure basics
cystbear
0
91
Welcome to Erlang
cystbear
0
110
Erlang/N2O KNPMeetup
cystbear
0
170
Symfony Best Practices and beyond
cystbear
1
250
DDD on example of Symfony (SymfonyCamp UA 2014)
cystbear
3
930
MongoDB KNPLabs GeekTime
cystbear
1
98
Other Decks in Programming
See All in Programming
XHTMLが残したもの
yosuke_furukawa
PRO
2
810
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
130
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
280
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
620
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
400
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
260
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
4
3.1k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
290
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
110
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
Optimizing for Happiness
mojombo
378
71k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.8k
Agile that works and the tools we love
rasmusluckow
331
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Evolving SEO for Evolving Search Engines
ryanjones
0
290
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1k
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?