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 like a super hero
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Elton Minetto
August 27, 2012
Technology
1.4k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP like a super hero
Dicas de como iniciar no PHP e tornar-se um expert na linguagem
Elton Minetto
August 27, 2012
More Decks by Elton Minetto
See All by Elton Minetto
Criando Kubernetes Operators com o operator-sdk
eminetto
0
170
Developer productivity for fun and profit - Enterprise edition
eminetto
0
120
Criando Kubernetes Operators com o operator-sdk
eminetto
0
160
Developer productivity for fun and profit - Developer edition
eminetto
3
560
Observabilidade de APIs
eminetto
1
1k
Reflexões sobre Design de Software
eminetto
1
530
Discussões sobre microsserviços
eminetto
0
170
Introdução a Go
eminetto
1
310
Go, o que, por que e como?
eminetto
0
390
Other Decks in Technology
See All in Technology
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
240
Autonomous AI Databaseサービス・アップデート(FY27)/ adb-service-update-jp-fy27
oracle4engineer
PRO
0
110
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.2k
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
160
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
110
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
220
Webとヘルスデータ
yukukotani
0
170
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
230
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
200
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
810
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.2k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Practical Orchestrator
shlominoach
191
12k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
970
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
Docker and Python
trallard
47
4.2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
890
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
Abbi's Birthday
coloredviolet
3
9.8k
Documentation Writing (for coders)
carmenintech
77
5.5k
Transcript
PHP like a Super Hero elton luís minetto @eminetto
Quem são vocês?
Quem sou eu? Graduado e pós-graduado em Ciência da Computação
Trabalho com PHP/MySQL desde 2000. Trabalho com Linux desde 1997. Professor desde 2004. Autor do livro Frameworks para Desenvolvimento em PHP - Editora Novatec, autor do e-book Zend Framework na prática Sócio da Coderockr
Motivação
None
PHP? Por onde começo?
None
PHP Namespaces Traits Orientação a objetos Banco de Dados Controle
de versões Testes Frameworks ORM REST SOA Integração contínua Xdebug APC Memcached Object Calisthenics
None
First things first...
PHP
PHP Namespaces
1.<?php 2.namespace Core\Service; 4.use Zend\Http\Client as HttpClient; 5.use Zend\Http\Request; 6.class
Auth 7.{ 8. public function __construct($apiKey, $apiUri, $rpcUri) 9. { 10. $this->httpClient = new HttpClient(); 11. } 12. }
PHP Traits http://diogobesson.com.br/programacao/php-traits/
PHP Servidor embutido php -S localhost:8080 -t /var/www/projeto
PHP phar http://phpmaster.com/packaging-your-apps-with-phar/
PHP Composer http://getcomposer.org
composer.json 1.{ 2. "minimum-stability": "dev", 3. "require": { 4. "silex/silex":
"1.0.*", 5. "dms/dms": "dev-master", 6. "doctrine/common": "*", 7. "doctrine/dbal": "*", 8. "doctrine/orm": "*", 9. "symfony/validator": "*", 10. "symfony/class-loader": "*", 11. "symfony/console": "*", 12. "monolog/monolog": "*", 13. "jms/metadata": "*", 14. "jms/serializer-bundle": "*", 15. "sybio/image-workshop": "*" 16. } 17.}
Instalar dependências 1.curl -s https://getcomposer.org/installer | php 2.php composer.phar install
Atualizar dependências 1.php composer.phar update
PHP Funções nativas
Orientação a objetos
Bancos de dados
Bancos de dados SQL - MySQL, sqlite, PostgreSQL
Bancos de dados NoSQL - MongoDB, CouchDB, Cassandra, Redis, Hadoop
Controle de versões
Controle de versões Git, SVN, Mercurial
None
None
None
None
Testes unitários PHPunit Mostrar os testes do modulo Api rodando.
Provocar um erro colocando um novo parâmetro no método authenticate do service Auth
Segurança e programação segura
Segurança e programação segura https://www.owasp.org/index.php/Main_Page
1.$inputFilter->add($factory->createInput(array( 2. 'name' => 'title', 3. 'required' => true, 4.
'filters' => array( 5. array('name' => 'StripTags'), 6. array('name' => 'StringTrim'), 7. ), 8. 'validators' => array( 9. array( 10. 'name' => 'StringLength', 11. 'options' => array( 12. 'encoding' => 'UTF-8', 13. 'min' => 1, 14. 'max' => 100, 15. ), 16. ), 17. ), 18. )));
Participe, seja social Participe de eventos Participe de grupos de
usuários regionais Escreva um blog Participe de fóruns e listas de discussão
Ok? É isso
None
Design patterns Frameworks Zend Framework Symfony Code Igniter Slim Silex
Doctrine
None
Design patterns
Frameworks
Frameworks Full-Stack Zend Framework, CakePHP, Symfony, Code Igniter
Micro Frameworks Slim, Silex, Respect
ORM Doctrine
Aprenda mais de um sistema operacional Linux, Windows, MacOSX
Tem mais? Manda!
SOA, Rest, RPC
Injeção de Dependências
Performance
Performance - Xdebug Profiling Debug
Mostrar cachegrind.png
Performance - Cache APC, Memcached
None
Performance - Avaliação Siege, Apache ab, ySlow
Integração contínua
Cloud computing Amazon Web Services Heroku, PHPCloud
Object Calisthenics Nove regras para melhorar o código http://slidesha.re/KTZM97
Certificação
None
None
O mais importante!
Divirta-se no processo
http://www.phptherightway.com
Contato @eminetto http://eltonminetto.net http://coderockr.com