Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bluz - наш код как музыка.

Dd3f18c87b851137000c7427d7bd5d32?s=47 fwdays
October 21, 2013

Bluz - наш код как музыка.

Dd3f18c87b851137000c7427d7bd5d32?s=128

fwdays

October 21, 2013
Tweet

More Decks by fwdays

Other Decks in Programming

Transcript

  1. Bluz – наш код как музыка Антон Шевчук NIX Solutions

    Ltd. http://anton.shevchuk.name @AntonShevchuk
  2. Music? O RLY?

  3. Why? •  Почему не "as is"? •  Почему не ZF2/Symfony2?

    •  Почему не Yii? •  Почему не Kohana/CodeIgniter? •  Почему не Silex/Slim/etc? •  Почему не Phalcon?
  4. Usability кода •  Стандарты кодирования •  Отсутствие избыточности •  Читаемость

    кода •  Предсказуемость кода
  5. Usability кода. Profit! •  Изучаю проект за час •  Нахожу

    баги по скриншоту •  Копирую и работает
  6. PHP 5.4+ •  PSR-0 •  PSR-1 •  PSR-2 •  PSR-3

    •  namespaces •  closures •  traits •  goto
  7. Ещё… •  Composer •  RequireJS (for AMD) •  jQuery • 

    Twitter Bootstrap •  GitHub - https://github.com/bluzphp •  Travis CI •  support redactorjs •  support backbone
  8. Model V C <?php namespace Application\Users; class Table extends \Bluz\Db\Table

    { protected $table = 'users'; protected $primary = array('id'); } /** * @property integer $id * @property string $login */ class Row extends \Bluz\Db\Row { }
  9. M V Controller <?php return /** * @privilege View-Profile *

    @cache 5 minutes * @route /profile/{$id}/ * @param integer $id * @return \closure */ function ($id) use ($view) { $view->user = Users\Table::findRow($id); };
  10. M View C <h2><?=$user->login?></h2> <a href="<?=$this->url("users", "profile',["id"=>$user->id])?>" class="ajax">view</a> <h2>admin</h2> <a

    href="/profile/1" class="ajax">view</a>
  11. Help! •  RESTFul Controller •  CRUD Controller •  Grid компонент

    •  DBQuery Builder •  Mailer ~~ PHPMailer •  Translate ~~ gettext
  12. Write less do more <a class="ajax" href="/get">...</a> <a class="confirm" href="/block"

    data-id="42" data-confirm="Are you sure?">...</a> <a class="ajax confirm" href="/block" data-id="42">...</a> <form action="/login" class="ajax" > <input type="text" name="login"/> <input type="password" name="password"/> <button type="submit"> </form>
  13. Perfomance (jmeter)

  14. Perfomance (memory)

  15. Generation P •  Модули готовые к изменениям •  Модули готовые

    к использованию
  16. Source https://github.com/bluzphp

  17. Спасибо за внимание