3. Intro
◉ Co to je? Koho to vůbec zajímá?
◉ Jako to dostat do (nejen) Symfony?
◉ Umí to něco?
◉ Co Propel umí ve skutečnosti.
◉ Co Propel neumí, proč je naprd.
◉ Otázky nakonec.
6. ORM V PHP *
- Doctrine 17M
- Propel 800 k
- Redbean 250 k
- Eloquent
- Rozdíly
https://goo.gl/h2RMdB | http://www.mehdi-khalili.com/orm-anti-patterns-part-1-active-record/
https://goo.gl/EnNRer | http://www.vertabelo.com/blog/technical-articles/side-by-side-doctrine2-and-propel-2-comparison
* dle packaigist
7. Co má Propel stejné jako
Doctrine
◉ Výborná dokumentace
◉ Symfony bridge
Co jde lépe
◉ IDE friendly
◉ Učící křivka
8. Hlavní rozdíl *
1 2 3 4
1 2 3 4
time
* Propel v týdnech, Doctrine v měsících
9. Propel je dvakrát menší, ale v základu již obsahuje vše potřebné, např. migrace,
behaviors...
10. A co na to Propel sám?
http://sandbox.propelorm.org/example/i18n - Vyzkoušejte Propel v sandboxu, bez nutnosti cokoli instalovat
11. Jak se Symfony?
- $ composer create project symfony/standart-edition-nebo-tak-něco ./
- $ composer require propel/propel:2.0.0-alpha6@dev propel/propel-bundle:~3.0@dev
- V AppKernel.php přidejte PropelBundle new PropelBundlePropelBundlePropelBundle(),
- Přidejte propel section do config.yml (viz. Odkaz níže)
- Vytvořte schema.xml v /src/AppBundle/Resources/config/schema.xml ve schématu
nezapomenout nastavit namespace (musí v něm být Bundle aby se to třídy správně
vygenerovaly, jinak se generují do rootu).
- $ bin/console propel:sql:build && bin/console propel:sql:insert
- Volitelně: Odstranit doctrine :) (composer, AppKernel a config.yml)
https://goo.gl/dLzzft | http://propelorm.org/documentation/cookbook/symfony2/working-with-symfony2.html
13. Performance
Uložení 2000 položek, prostá entita bez vazeb se třemi atributy
Process memory usage - peak MB
Propel - basic 328
Doctrine - same code 330.6
Doctrine - with clear 325.6
Doctrine - with end-flush 330.6
14.
15. Data-mapper/unit of work je v Propel branch plánovaná pro release 2.0.0, do té doby bude
Propel stále alpha, bez ohledu na to jak stabilní je. Dokud bude v Propel Active record,
nevyjde release 2.0.0.
17. Sample project with sample model and data
- Working with ants
- Sample queries
- Behaviors show case
- Import from CSV
- Export to CSV, Export to XML
- Working with JSON example
https://gist.github.com/sojki/9863039d922798fc9c3b933b28faaaf6
19. Temná stránka
◉ Stále pouze alpha, @dev stability (viz. odkaz níže)
◉ BC breaks
◉ Data mapper branch, unit of work
◉ Komunita není tak velká, jako u Doctrine
goo.gl/EzKwXX | http://propelorm.org/blog/2015/06/27/propel2-current-state-and-future.html