Start
Entdecken
Suche senden
Hochladen
Einloggen
Registrieren
Anzeige
Check these out next
The Windows 10 tips you wished you knew last week
Olav Tvedt
Presentation of JSConf.eu
Fredrik Wendt
ModemFrontEndops
microbean
Laporan setting dns
Septian Adi
Plone Conference 2008 Lightning Talk Static Zope Rpx
Paris, France
Plone pwns
Dylan Jay
A practical 10m intro to PHP on Heroku
Olivier Garcia
Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi
1
von
28
Top clipped slide
Salzburg WebDev Meetup PHP Symfony
21. Nov 2013
•
0 gefällt mir
0 gefällt mir
×
Sei der Erste, dem dies gefällt
Mehr anzeigen
•
1,767 Aufrufe
Aufrufe
×
Aufrufe insgesamt
0
Auf Slideshare
0
Aus Einbettungen
0
Anzahl der Einbettungen
0
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Melden
Technologie
A short introduction to PHP and Symfony
Georg Sorst
Folgen
Anzeige
Anzeige
Anzeige
Recomendados
Memory Management in WordPress
Konstantin Kovshenin
1.5K Aufrufe
•
60 Folien
MongoUK - PHP Development
Boxed Ice
929 Aufrufe
•
24 Folien
Simple php backdoor_by_dk
Stan Adrian
794 Aufrufe
•
1 Folie
Wordpress Security 101
Robert Rowley
6.7K Aufrufe
•
50 Folien
Banquet 36
Koubei UED
343 Aufrufe
•
22 Folien
Ansible to provision your machines
Fellipe Callegas
365 Aufrufe
•
14 Folien
Más contenido relacionado
Presentaciones para ti
(7)
The Windows 10 tips you wished you knew last week
Olav Tvedt
•
170 Aufrufe
Presentation of JSConf.eu
Fredrik Wendt
•
1.8K Aufrufe
ModemFrontEndops
microbean
•
73 Aufrufe
Laporan setting dns
Septian Adi
•
290 Aufrufe
Plone Conference 2008 Lightning Talk Static Zope Rpx
Paris, France
•
808 Aufrufe
Plone pwns
Dylan Jay
•
677 Aufrufe
A practical 10m intro to PHP on Heroku
Olivier Garcia
•
519 Aufrufe
Similar a Salzburg WebDev Meetup PHP Symfony
(20)
Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi
•
2.7K Aufrufe
Current state-of-php
Richard McIntyre
•
605 Aufrufe
Unleash your Symfony projects with eZ Platform
Sébastien Morel
•
2.1K Aufrufe
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
Cisco DevNet
•
694 Aufrufe
Becoming A Php Ninja
Mohammad Emran Hasan
•
4K Aufrufe
Introduction to PHP - SDPHP
Eric Johnson
•
686 Aufrufe
Meteor
IT Weekend
•
724 Aufrufe
Meteor
IT Weekend
•
732 Aufrufe
Meteor for IT weekend
Dmytro Ovcharenko
•
409 Aufrufe
Web scraping 101 with goutte
Joshua Copeland
•
6.9K Aufrufe
Information Retrieval and Extraction
Christopher Frenz
•
6.5K Aufrufe
N2Y4 Mobile Challenge May 2009 San Jose
Adhearsion Foundation
•
395 Aufrufe
Dean4j@Njug5
ทวิร พานิชสมบัติ
•
393 Aufrufe
Get Ahead with HTML5 on Moible
markuskobler
•
441 Aufrufe
HTML5 vs Silverlight
Matt Casto
•
4.3K Aufrufe
Web-Designing Workshop Day 2
dk201020
•
1.1K Aufrufe
Php mysql training-in-mumbai
vibrantuser
•
110 Aufrufe
What Web Framework To Use?
Kasra Khosravi
•
1.1K Aufrufe
Amplify your stack - Jsfoo pune 2012
threepointone
•
742 Aufrufe
Open source-secret-sauce-rit-2010
Ted Husted
•
400 Aufrufe
Anzeige
Más de Georg Sorst
(7)
Psychological safety how to become a team that learns
Georg Sorst
•
906 Aufrufe
Interactive Data Science Notebooks with Apache Zeppelin
Georg Sorst
•
523 Aufrufe
JS Error Logging with Sentry
Georg Sorst
•
325 Aufrufe
Infrastructure = Code
Georg Sorst
•
1.1K Aufrufe
Das bedingungslose Grundeinkommen
Georg Sorst
•
919 Aufrufe
ELK Stack - Turn boring logfiles into sexy dashboard
Georg Sorst
•
5.4K Aufrufe
Der FINDOLOGIC Entwicklungsprozess
Georg Sorst
•
871 Aufrufe
Último
(20)
Perfecting Customer Management Using Jira Service Management
Cprime
•
0 Aufrufe
CRYPTO-BIKE Pitch deck.pdf
CryptoBikeMailer
•
0 Aufrufe
Action Transformer.pdf
AnastasiaSteele10
•
0 Aufrufe
Action Transformer.pdf
StephenAmell4
•
0 Aufrufe
Carrier Aggregation in LTE Advanced.pdf
SherifHassan89
•
0 Aufrufe
[AgileDevOps West 2023] We're in it together and other perspectives on effect...
Jason Yip
•
0 Aufrufe
5G INSTALLATION .pptx
Karan1222
•
0 Aufrufe
Server Architecture.pptx
IraRoniYuda
•
0 Aufrufe
Top 10 Amazon Gadgets for Students Under 999.pdf
arnav208489
•
0 Aufrufe
DeFi: Meaning and Application in the World of Crypto
Chima Ezuo
•
0 Aufrufe
Blockcahin based Digital Transfromation.pdf
TarunTiwari94
•
0 Aufrufe
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
ICS
•
0 Aufrufe
NS - CUK Seminar: S.T.Nguyen, Review on "DropAGG: Robust Graph Neural Network...
ssuser4b1f48
•
0 Aufrufe
NS - CUK Seminar : V.T.Hoang, Review on "Structure-Aware Transformer for Grap...
ssuser4b1f48
•
0 Aufrufe
wire-all-the-things-lambda-days-2023.pdf
Eric Torreborre
•
0 Aufrufe
How Much Does It Cost to Build a React Native App.pptx
Tarun Nagar
•
0 Aufrufe
Electron Transport .pptx
RadioactiveMainakMon
•
0 Aufrufe
Ultimate list of IT Services that can be outsourced.pptx
Sagar Salvi
•
0 Aufrufe
How to build machine learning apps.pdf
StephenAmell4
•
0 Aufrufe
How to build machine learning apps.pdf
AnastasiaSteele10
•
0 Aufrufe
Anzeige
Salzburg WebDev Meetup PHP Symfony
There are plenty
of other frameworks in the sea PHP + Symfony FINDOLOGIC GMBH GEORG M. SORST G.SORST@FINDOLOGIC.COM WebDev Meetup 20.11.2013
FINDOLOGIC ◼ ◼ ◼ ◼ Search for online
stores >100M queries / month A dozen servers One of Salzburg’s most successful startups
Business
LAN
BBQ
Trachty Friday
We’re hiring DEVELOPERS DEVELOPERS
DEVELOPERS!
History ◼ ◼ ◼ ◼ Born in the
web 20 years ago Form interpreter to replace perl Core is backed by a company (Zend) 1M to 100M hostnames in 10 years
Stack Overflow tags Source:
http://hewgill.com/~greg/stackoverflow/stack_overflow/tags/
W3Techs Source: http://w3techs.com/technologies/overview/programming_language/all
Usage ◼ eCommerce: osCommerce,
Zen Cart, Magento, PrestaShop, OpenCart, Oxid, xtCommerce, Shopware ◼ CMS: Wordpress, Joomla, Drupal ◼ Other: Wikipedia, Digg, Facebook
The good ◼ ◼ ◼ Dead simple:
<?php echo “Hello world”; Runs everywhere Documentation, Community, Extensions
The good ◼ ◼ Image processing,
databases, mails, character encoding, XML built-in Few keywords and operators, high readability
The bad ◼ ◼ ◼ ◼ Spaghetti code Very
loose typing: null == false == "" == 0 == "0" == array() Inconsistent code base: strpos(), str_rot13(), library not OO Arbitrary filesystem structure
The getting better ◼ ◼ ◼ OO;
Closures, Iterators, Generators Standard PHP Library (SPL): queues, stacks, lists, iterators Tools: PHPUnit, PHPDocumentor, Mess Detector, Checkstyle
Example $numbers = array(1,
2, 3, 4, 5); $divisor = 3;
Old school $numbers =
array(1, 2, 3, 4, 5); $divisor = 3; $filtered = array(); foreach ($numbers as $number) { if ($number % $divisor == 0) { $filtered[] = $number; } }
Middle school $numbers =
array(1, 2, 3, 4, 5); $divisor = 3; $filter = create_function('$number', “return ($number % $divisor == 0);”); $filtered = array_filter($numbers, $filter);
New school $numbers =
array(1, 2, 3, 4, 5); $divisor = 3; $filter = function($number) use ($divisor) { return ($number % $divisor == 0); }; $filtered = array_filter($numbers, $filter);
Questions?
PHP Frameworks ◼ ◼ ◼ ◼ ◼ MVC OO ORM Templates ...
Symfony ◼ ◼ ◼ MVC, OO Created by
Sensio labs Documentation, Community, Events
Symfony ◼ ◼ ◼ ◼ ◼ URL Conventions CRUD generators Doctrine
ORM, Twig templates Loosely coupled components Dependency injection
Demo Time
Summary “PHP is the
Nickelback of programming languages” - Jeff Atwood, Stack Exchange
Summary “The only conclusion
I can draw is that building a compelling application is far more important than choice of language” - Jeff Atwood, Stack Exchange
Thanks!
Backup: Install instructions 1. 2. 3. 4. 5. 6. Change
user: sudo su - www-data -s /bin/bash Download Symfony 2.3 Standard Edition (without Vendors): http://symfony.com/download Setup git repository: http://symfony.com/doc/current/cookbook/workflow/new_project_git.html Install composer: curl -sS https://getcomposer.org/installer | php Install libraries: php composer.phar install Configure: http://localhost/~georg/webdev/web/config.php a. b. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. pdo_sqlite db path: %kernel.root_dir%/data/example.db c. no password Generate bundle: php app/console generate:bundle Generate entity: php app/console generate:doctrine:entity Drop the old DB schema: php app/console doctrine:schema:drop --force Generate DB schema: php app/console doctrine:schema:create Generate CRUD: php app/console generate:doctrine:crud http://localhost/~georg/webdev/web/app_dev.php/post/ Add pretty CRUD bundle: https://github.com/jordillonch/CrudGeneratorBundle Install new bundle: php composer.phar update Delete the old CRUD: rm -fr src/FINDOLOGIC/ExampleBundle/Resources/views/Post/ src/FINDOLOGIC/ExampleBundle/Controller/PostController.php src/FINDOLOGIC/ExampleBundle/Form/PostType.php src/FINDOLOGIC/ExampleBundle/Tests/Controller/PostControllerTest.php Generate new CRUD: php app/console jordillonch:generate:crud Fill created_at automatically: http://stackoverflow.com/questions/17321893/automatic-values-for-updated-atcreated-at-in-doctrine a. Remove created_at from src/FINDOLOGIC/ExampleBundle/Form/PostType.php 18. http://localhost/~georg/webdev/web/app_dev.php/post/
Anzeige