Standardize it!

946 views
865 views

Published on

Előadásom a PHP-FIG munkacsoport által összeállított PSR-ekről.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
946
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Standardize it!

  1. 1. Standardize it! PHP Standards explained PHPMeetup Budapest | 2013. 10. 08. Francsics Balázs PHP dev @ Ustream | @winyaa on Twitter
  2. 2. Milyen a PHP standerdek nélkül?
  3. 3. Pont ilyen.
  4. 4. Van megoldás! A PHP-FIG munkacsoport meghatározott néhány irányt.
  5. 5. Na de mi a fene az a PHP-FIG? 2009-ben született a php|tek konferencián PHP Framework Interop Group Korábban PHP Standards Group Jelenleg 28 projekt képviselő a tagja
  6. 6. És mi az a PSR? PHP Standards Recommendation Ajánlás, egy egységesebb PHP érdekében A projekt által delegált személyek szavaznak Jelenleg 4 elfogadott szabvány: PSR-0, PSR-1, PSR-2, PSR-3 További 3 kidolgozás és elfogadás alatt.
  7. 7. PSR-0 / Autoloading Hatalmas lépés az újrahasznosíthatóság felé Egységes elnevezési konvenció: <Vendor Name>(<Namespace>)*<Class Name> A Composer és a PEAR PSR-0 kompatibilis Például: SymfonyCoreRequest => /path/to/project/lib/vendor/Symfony/Core/Request.php ZendMailMessage => /path/to/project/lib/vendor/Zend/Mail/Message.php
  8. 8. PSR-1 / Basic Coding Standard Csak <?php és <?= megengedett Fájlok UTF-8 kódolásúak kell hogy legyenek Egy fájlban csak deklaráció VAGY bármi más, ne mixeljük Class nevek: StudlyCaps Konstansok: ALL_UPPERCASE Metódusok, fügvények: camelCase PSR-0 megfelelés szükséges
  9. 9. PSR-2 / Coding Style Guide Kód olvashatóságát hivatott javítani Indentálás 4 space, csak semmi tab! Ajánlott sorszélesség 80, de nincs limitáció namespace és use után üres sor Class és metódus deklaráció után a kapcsos zárójel új sorban Visibility kulcsszavak kötelezőek Vezérlési szerkezetek szabályozása PSR-1 megfelelés szükséges
  10. 10. PSR-2 / Coding Style Guide
  11. 11. PSR-3 / Logger Interface Egységes naplózó interfész Syslog RFC szerint nyolc naplózási szint: emergency, alert, critical, error, warning, notice, info Megadható kontextus az üzenethez Néhány implementor: Monolog, Analog, Symfony, Mustache.php
  12. 12. (Review) PSR-4 / Autoloader A PSR-0 egy modernebb változata Orvosság a PSR-0 mellékhatásaira: Valódi namespace vs _ $instance = new PackageFooBarBaz(); $instance = new PackageFoo_Bar_Baz(); Composer furcsaság: PSR-0: Foo/Bar/Baz => vendor/foo/bar/src/Foo/Bar/Baz PSR-4: Foo/Bar/Baz => vendor/foo/bar/src/Baz
  13. 13. (Draft) PSR-5 / PHPDoc A sok API dokumentációs markup-ot szeretné közös nevezőre hozni Végre egységes formátum az annotációkra!
  14. 14. (Draft) PSR-6 / Cache Cél ugyanaz, mint a PSR-3-nál CachePool, és CacheItem definíció Ahogy az adat bemegy, úgy kell kijönnie
  15. 15. Kérdések?
  16. 16. Köszönöm a figyelmet! Kérdések?
  17. 17. Források: http://www.php-fig.org/ https://github.com/php-fig/fig-standards/wiki/PHP-Standard-Recommendations https://groups.google.com/forum/#!forum/php-fig http://www.php-fig.org/psr/0/ http://www.php-fig.org/psr/1/ http://www.php-fig.org/psr/2/ https://github.com/php-fig/fig-standards/tree/master/proposed/psr-4-autoloader https://github.com/phpDocumentor/fig-standards/tree/master/proposed https://github.com/Crell/fig-standards/tree/Cache/proposed http://twitter.com/winyaa :)

×