Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Bluz - наш код как музыка.
fwdays
October 21, 2013
Programming
0
30
Bluz - наш код как музыка.
fwdays
October 21, 2013
Tweet
Share
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
1.7k
Beyond Testing Михаил Боднарчук
fwdays
0
560
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.5k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
760
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.6k
Phalcon. Что нового? Александр Торош
fwdays
0
830
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.1k
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
0
580
Функциональный тулчейн Nix
fwdays
1
310
Other Decks in Programming
See All in Programming
Efficient UI testing in Android
alexzhukovich
1
120
NestJS_meetup_atamaplus
atamaplus
0
210
Cloudflare WorkersでGoのHTTPサーバーを動かすライブラリを作った話
syumai
0
140
Scaling Productivity- How we have improved our dev experience
sockeqwe
1
120
夕食断食にTRY!/for-lt-12th
pachikuriii
0
230
ZOZOTOWNにおけるDatadogの活用と、それを支える全社管理者の取り組み / 2022-07-27
tippy
1
3.1k
Pythonで鉄道指向プログラミング
usabarashi
0
130
ESM移行は無理だけどおれもSindreのライブラリが使いたい!
sosukesuzuki
2
540
ファーストペンギンを志すものに伝えたい - 1人目のアジャイル推進者がたどった成功と失敗
psj59129
0
100
僕が便利だと感じる Snow Monkey の特徴/20220723_Gifu_WordPress_Meetup
oleindesign
0
110
ゴーファーくんと辿るプログラミング言語の歴史/history-of-programming-languages-with-gopher
iwasiman
11
5k
Amazon SageMakerでImagenを動かして猫画像生成してみた
hotoke_neko
0
110
Featured
See All Featured
Designing with Data
zakiwarfel
91
4k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Design by the Numbers
sachag
271
17k
Music & Morning Musume
bryan
35
4.3k
The Cult of Friendly URLs
andyhume
68
4.8k
Why Our Code Smells
bkeepers
PRO
324
55k
Testing 201, or: Great Expectations
jmmastey
21
5.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
940
Pencils Down: Stop Designing & Start Developing
hursman
113
9.8k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Transcript
Bluz – наш код как музыка Антон Шевчук NIX Solutions
Ltd. http://anton.shevchuk.name @AntonShevchuk
Music? O RLY?
Why? • Почему не "as is"? • Почему не ZF2/Symfony2?
• Почему не Yii? • Почему не Kohana/CodeIgniter? • Почему не Silex/Slim/etc? • Почему не Phalcon?
Usability кода • Стандарты кодирования • Отсутствие избыточности • Читаемость
кода • Предсказуемость кода
Usability кода. Profit! • Изучаю проект за час • Нахожу
баги по скриншоту • Копирую и работает
PHP 5.4+ • PSR-0 • PSR-1 • PSR-2 • PSR-3
• namespaces • closures • traits • goto
Ещё… • Composer • RequireJS (for AMD) • jQuery •
Twitter Bootstrap • GitHub - https://github.com/bluzphp • Travis CI • support redactorjs • support backbone
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 { }
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); };
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>
Help! • RESTFul Controller • CRUD Controller • Grid компонент
• DBQuery Builder • Mailer ~~ PHPMailer • Translate ~~ gettext
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>
Perfomance (jmeter)
Perfomance (memory)
Generation P • Модули готовые к изменениям • Модули готовые
к использованию
Source https://github.com/bluzphp
Спасибо за внимание