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
Bluz - наш код как музыка.
Search
fwdays
October 21, 2013
Programming
69
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Bluz - наш код как музыка.
fwdays
October 21, 2013
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
2.2k
Beyond Testing Михаил Боднарчук
fwdays
0
910
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
2k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
1.1k
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.9k
Phalcon. Что нового? Александр Торош
fwdays
0
1.3k
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.6k
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
0
960
Функциональный тулчейн Nix
fwdays
1
580
Other Decks in Programming
See All in Programming
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
210
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
620
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
33k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
R8 の設定見直しでアプリサイズ削減
andpad
0
220
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
Featured
See All Featured
Between Models and Reality
mayunak
4
500
My Coaching Mixtape
mlcsv
0
360
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
The Pragmatic Product Professional
lauravandoore
37
7.5k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
Large-scale JavaScript Application Architecture
addyosmani
516
110k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
WENDY [Excerpt]
tessaabrams
14
40k
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
Спасибо за внимание