Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ThinkPHP #7: Bluz - наш код как музыка
Search
thinkphp_com_ua
July 25, 2013
Programming
0
2.1k
ThinkPHP #7: Bluz - наш код как музыка
thinkphp_com_ua
July 25, 2013
Tweet
Share
More Decks by thinkphp_com_ua
See All by thinkphp_com_ua
ThinkPHP #7: Оптимизация верстки для High-Density дисплеев
thinkphp_com_ua
0
2.2k
ThinkPHP #7: Адаптация веб-сайта под различные дисплеи
thinkphp_com_ua
0
2.2k
ThinkPHP #6: Usability кода
thinkphp_com_ua
0
1.4k
ThinkPHP #6: Нелёгкий труд интервьюера
thinkphp_com_ua
2
1.4k
ThinkPHP #6: Адаптивный дизайн - время пришло!
thinkphp_com_ua
0
1.4k
ThinkPHP #3: Highload не кусается
thinkphp_com_ua
1
1.9k
ThinkPHP #3: Оптимизация быстродействия Веб-сайта
thinkphp_com_ua
1
1.8k
ThinkPHP #3: Дизайн пользовательских интерфейсов для разработчиков
thinkphp_com_ua
1
1.9k
ThinkPHP #2: Безопасность веб приложений
thinkphp_com_ua
1
3.4k
Other Decks in Programming
See All in Programming
MIERUNE BBQにおけるユーザー中心設計()
mierune
PRO
1
110
英語
s_shimotori
1
220
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
370
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
ドメイン駆動設計の実践
masuda220
PRO
17
5.1k
20240706_CDKConf
takuyay0ne
0
1.2k
Rust.Nagoya #1
codemountains
0
170
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
Jetpack for KMP
fornewid
1
290
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Rails Girls Zürich Keynote
gr2m
93
13k
Ruby is Unlike a Banana
tanoku
96
10k
Infographics Made Easy
chrislema
238
18k
Become a Pro
speakerdeck
PRO
15
4.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Designing for humans not robots
tammielis
247
25k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
Transcript
BLUZ Наш код как музыка http://j.mp/bluzphp
Music? O RLY?
Why? • Почему не "as is"? • Почему не ZF2/Symfony2?
• Почему не Yii? • Почему не Kohana/CodeIgniter? • Почему не Silex/Slim? • Почему не Falcon?
Usability кода • Стандарты кодирования • Отсутствие избыточности • Читаемость
кода • Предсказуемость кода
Usability кода. Profit! • Изучаю проект за час • Нахожу
баги по скриншоту • Копирую и работает
PHP 5.4+ • PSR-0 • PSR-1 • PSR-2 • PSR-3
• namespaces • closures • traits • goto
sth • composer • jQuery • RequireJS (for AMD) •
Twitter Bootstrap • GitHub - https://github.com/bluzphp • Travis CI
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
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
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
Packages • RESTFul CRUD • Grid • DBQuery Builder •
Mailer ~~ PHPMailer • Translate ~~ gettext
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>
Performance (rps)
Performance (bytes)
Generation P • Модули готовые к изменениям • Модули готовые
к использованию • Skeleton готовый к использованию
Source https://github.com/bluzphp
Спасибо за внимание