ThinkPHP #7: Bluz - наш код как музыка

ThinkPHP #7: Bluz - наш код как музыка

4769e8ad10f8a1d453dd6e59ecdbcbe4?s=128

thinkphp_com_ua

July 25, 2013
Tweet

Transcript

  1. BLUZ Наш код как музыка http://j.mp/bluzphp

  2. Music? O RLY?

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

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

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

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

    • namespaces • closures • traits • goto
  7. sth • composer • jQuery • RequireJS (for AMD) •

    Twitter Bootstrap • GitHub - https://github.com/bluzphp • Travis CI
  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 {} /models/Users/Table.php /models/Users/Row.php
  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); }; /modules/users/controllers/profile.php
  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> /modules/users/views/profile.php
  11. Packages • RESTFul CRUD • Grid • DBQuery Builder •

    Mailer ~~ PHPMailer • Translate ~~ gettext
  12. Declarative Front End Dev <a class="ajax" href="/get">...</a> <a class="confirm" href="/delete"

    data-id="42" data-confirm="Are you sure?">...</a> <a class="ajax confirm" href="/delete" data- id="42">...</a>
  13. Performance (rps)

  14. Performance (bytes)

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

    к использованию • Skeleton готовый к использованию
  16. Source https://github.com/bluzphp

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