Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ThinkPHP #7: Bluz - наш код как музыка
Search
thinkphp_com_ua
July 25, 2013
Programming
2.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ThinkPHP #7: Bluz - наш код как музыка
thinkphp_com_ua
July 25, 2013
More Decks by thinkphp_com_ua
See All by thinkphp_com_ua
ThinkPHP #7: Оптимизация верстки для High-Density дисплеев
thinkphp_com_ua
0
2.3k
ThinkPHP #7: Адаптация веб-сайта под различные дисплеи
thinkphp_com_ua
0
2.4k
ThinkPHP #6: Usability кода
thinkphp_com_ua
0
1.5k
ThinkPHP #6: Нелёгкий труд интервьюера
thinkphp_com_ua
2
1.6k
ThinkPHP #6: Адаптивный дизайн - время пришло!
thinkphp_com_ua
0
1.6k
ThinkPHP #3: Highload не кусается
thinkphp_com_ua
1
2k
ThinkPHP #3: Оптимизация быстродействия Веб-сайта
thinkphp_com_ua
1
1.9k
ThinkPHP #3: Дизайн пользовательских интерфейсов для разработчиков
thinkphp_com_ua
1
2k
ThinkPHP #2: Безопасность веб приложений
thinkphp_com_ua
1
3.5k
Other Decks in Programming
See All in Programming
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
270
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
110
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
250
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
340
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
120
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
350
Event is what happens
moro
2
3k
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
230
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
250
Seven New Principles of Software Engineering
yegor256
0
430
Featured
See All Featured
Bash Introduction
62gerente
615
220k
Darren the Foodie - Storyboard
khoart
PRO
4
4.1k
How GitHub (no longer) Works
holman
316
150k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
340
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Scaling GitHub
holman
464
140k
Claude Code のすすめ
schroneko
67
230k
Paper Plane
katiecoart
PRO
5
54k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Exploring anti-patterns in Rails
aemeredith
4
560
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
Спасибо за внимание