$30 off During Our Annual Pro Sale. View Details »

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

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

thinkphp_com_ua

July 25, 2013
Tweet

More Decks by thinkphp_com_ua

Other Decks in Programming

Transcript

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

    View Slide

  2. Music? O RLY?

    View Slide

  3. Why?
    ● Почему не "as is"?
    ● Почему не ZF2/Symfony2?
    ● Почему не Yii?
    ● Почему не Kohana/CodeIgniter?
    ● Почему не Silex/Slim?
    ● Почему не Falcon?

    View Slide

  4. Usability кода
    ● Стандарты кодирования
    ● Отсутствие избыточности
    ● Читаемость кода
    ● Предсказуемость кода

    View Slide

  5. Usability кода. Profit!
    ● Изучаю проект за час
    ● Нахожу баги по скриншоту
    ● Копирую и работает

    View Slide

  6. PHP 5.4+
    ● PSR-0
    ● PSR-1
    ● PSR-2
    ● PSR-3
    ● namespaces
    ● closures
    ● traits
    ● goto

    View Slide

  7. sth
    ● composer
    ● jQuery
    ● RequireJS (for AMD)
    ● Twitter Bootstrap
    ● GitHub - https://github.com/bluzphp
    ● Travis CI

    View Slide

  8. Model V C
    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

    View Slide

  9. M V Controller
    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

    View Slide

  10. M View C
    =$user->login?>
    ["id"=>$user->id])?>" class="ajax">view
    admin
    view
    /modules/users/views/profile.php

    View Slide

  11. Packages
    ● RESTFul CRUD
    ● Grid
    ● DBQuery Builder
    ● Mailer ~~ PHPMailer
    ● Translate ~~ gettext

    View Slide

  12. Declarative Front End Dev
    ...
    data-confirm="Are you sure?">...
    id="42">...

    View Slide

  13. Performance (rps)

    View Slide

  14. Performance (bytes)

    View Slide

  15. Generation P
    ● Модули готовые к изменениям
    ● Модули готовые к использованию
    ● Skeleton готовый к использованию

    View Slide

  16. Source
    https://github.com/bluzphp

    View Slide

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

    View Slide