Suche senden
Hochladen
Phpcon kansani-2013-pinoco
•
1 gefällt mir
•
3,251 views
Hisateru Tanaka
Folgen
Melden
Teilen
Melden
Teilen
1 von 26
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
sum
sum
rajasekhar tripuraneni
Carta claustre +pla_millora
Carta claustre +pla_millora
Chico Marx
Montel 24112014
Montel 24112014
Therese Gjerde
Triptico ciclo grado_superior_turismo
Triptico ciclo grado_superior_turismo
iesturgalium
برمج سفرتك
برمج سفرتك
عبدالله عصام الفليج
Towards a pan-european information space
Towards a pan-european information space
ISCRAM 2015
&& || and or まぜるな危険
&& || and or まぜるな危険
Hisateru Tanaka
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
Empfohlen
sum
sum
rajasekhar tripuraneni
Carta claustre +pla_millora
Carta claustre +pla_millora
Chico Marx
Montel 24112014
Montel 24112014
Therese Gjerde
Triptico ciclo grado_superior_turismo
Triptico ciclo grado_superior_turismo
iesturgalium
برمج سفرتك
برمج سفرتك
عبدالله عصام الفليج
Towards a pan-european information space
Towards a pan-european information space
ISCRAM 2015
&& || and or まぜるな危険
&& || and or まぜるな危険
Hisateru Tanaka
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
HTMLに学ぶ夫婦円満のコツ
HTMLに学ぶ夫婦円満のコツ
Hisateru Tanaka
とある事業の脱レガシー
とある事業の脱レガシー
Hisateru Tanaka
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
Hisateru Tanaka
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
Hisateru Tanaka
Grunt front-osaka-1-lt-tanaka
Grunt front-osaka-1-lt-tanaka
Hisateru Tanaka
Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
Hisateru Tanaka
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
Hisateru Tanaka
いまどきのYiiフレームワーク
いまどきのYiiフレームワーク
Hisateru Tanaka
Kphpug beginners-2
Kphpug beginners-2
Hisateru Tanaka
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
Hisateru Tanaka
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
Hisateru Tanaka
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
Hisateru Tanaka
Yiiフレームワークを使ってみた
Yiiフレームワークを使ってみた
Hisateru Tanaka
Weitere ähnliche Inhalte
Mehr von Hisateru Tanaka
HTMLに学ぶ夫婦円満のコツ
HTMLに学ぶ夫婦円満のコツ
Hisateru Tanaka
とある事業の脱レガシー
とある事業の脱レガシー
Hisateru Tanaka
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
Hisateru Tanaka
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
Hisateru Tanaka
Grunt front-osaka-1-lt-tanaka
Grunt front-osaka-1-lt-tanaka
Hisateru Tanaka
Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
Hisateru Tanaka
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
Hisateru Tanaka
いまどきのYiiフレームワーク
いまどきのYiiフレームワーク
Hisateru Tanaka
Kphpug beginners-2
Kphpug beginners-2
Hisateru Tanaka
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
Hisateru Tanaka
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
Hisateru Tanaka
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
Hisateru Tanaka
Yiiフレームワークを使ってみた
Yiiフレームワークを使ってみた
Hisateru Tanaka
Mehr von Hisateru Tanaka
(17)
HTMLに学ぶ夫婦円満のコツ
HTMLに学ぶ夫婦円満のコツ
とある事業の脱レガシー
とある事業の脱レガシー
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
Grunt front-osaka-1-lt-tanaka
Grunt front-osaka-1-lt-tanaka
Phpstormちょっといい話
Phpstormちょっといい話
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
はじめてのGit #gitkyoto
はじめてのGit #gitkyoto
いまどきのYiiフレームワーク
いまどきのYiiフレームワーク
Kphpug beginners-2
Kphpug beginners-2
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
Yiiフレームワークを使ってみた
Yiiフレームワークを使ってみた
Phpcon kansani-2013-pinoco
1.
恒例となりましたPinocoのお時間 まじめに紹介してみる
2.
たなかひさてる @tanakahisateru Pinoco developer PHPTAL contributor Firebug
translation contributor Yii framework user
3.
テンプレートエンジン 何使ってますか
4.
デザイナーが書いたHTML <ul> <li> <a href="#">menu1</a> </li> <li> <a href="#">menu2</a> </li> <li> <a
href="#">menu3</a> </li> </ul>
5.
PHPerが触るとこうなっちゃう <ul> <?php foreach ($menuItems
as $item): ?> <li> <a href="<?= $item['link'] ?>" ><?= htmlspecialchars($item['label']) ?></a> </li> <?php /* <li> <a href="#">menu2</a> </li> <li> <a href="#">menu3</a> </li> */ ?> <?php endforeach; ?> </ul>
6.
インデント変わってね? <ul> <?php foreach ($menuItems
as $item): ?> <li> <a href="<?= $item['link'] ?>" ><?= htmlspecialchars($item['label']) ?></a> </li> <?php /* <li> <a href="#">menu2</a> </li> <li> <a href="#">menu3</a> </li> */ ?> <?php endforeach; ?> </ul>
7.
でもこれ読みにくい <ul> <?php foreach ($menuItems
as $item): ?> <li> <a href="<?= $item['link'] ?>" ><?= htmlspecialchars($item['label']) ?></a> </li> <?php /* <li> <a href="#">menu2</a> </li> <li> <a href="#">menu3</a> </li> */ ?> <?php endforeach; ?> </ul>
8.
問題点 HTMLのインデント方針→DOM構造 テンプレートエンジン→分岐と繰り返し 意味構造の違う言語が混ざっている SmartyやTwigでもこれは同じ
9.
TAL = Template
Attribute Language (Python文化)
10.
TALの文法で書くと <ul> <li tal:repeat="item menuItems"> <a
href="#" tal:attributes="href item/link" tal:content="item/label" >menu1</a> </li> <li tal:replace=""> <a href="#">menu2</a> </li> <li tal:replace=""> <a href="#">menu3</a> </li> </ul>
11.
HTML - TAL <ul> <li
tal:repeat="item menuItems"> <a href="#" tal:attributes="href item/link" tal:content="item/label" >menu1</a> </li> <li tal:replace=""> <a href="#">menu2</a> </li> <li tal:replace=""> <a href="#">menu3</a> </li> </ul> 最初の<a>でちょっとズルしてるけど許して <ul> <li> <a href="#" >menu1</a> </li> <li> <a href="#">menu2</a> </li> <li> <a href="#">menu3</a> </li> </ul>
12.
TAL TALはXHTMLの名前空間で実現される つまりHTMLと構文システムを共有 HTMLバリデータを通る ということは...
13.
単体でブラウザに出せる
14.
TAL導入の動機 ブラウザ側技術の高度化 ユーザビリティ最優先でデザインされたUIへのニーズ フロントエンド側のコードにも品質が求められる
15.
http://phptal.org/
16.
なぜか保守メンバーになりました。 よろしくお願いします。
17.
これ、すぐに使いたい人は
18.
Pinoco もっとも静的サイトに近いフレームワーク
19.
http://tanakahisateru.github.io/pinoco/
20.
$ cd _app $
./server PHP 5.4.13 Development Server started at Thu May 30 18:08:04 2013 Listening on http://localhost:8801 Document root is /Users/tanakahisateru/Sites/pinoco-test Press Ctrl-C to quit. 「すぐに」は本当にすぐに ビルトインサーバ対応
21.
最近のPinoco PhpStormのOSライセンスもらってコード品質超改善。 難しいプログラミングの開発案件でも、 中のライブラリを取り出して使うと大活躍。 0.8をリリース → ベータ期間終了予定。 APIドキュメントをオンラインに。 そろそろワークショップをやりたいと思っています。
22.
とか面白くないので 最新機能
23.
静的サイト構造を維持した ビューとロジックの分離はそのままに ロジック HTML (+TALの属性)
24.
ナウいルーターを挿入可能にました $router = $this->route(); $router->pass(array(
// 無視するパス(後続のスクリプトに委譲される) '', 'index.html', )) ->on('list', function() { // 一覧表を出力 }) ->on('show/{id}', function($id) { // IDで取得して詳細を出力 }) ->on('POST:upload', function() { // POSTでデータ更新 }) ->on('GET:upload', array($this, 'forbidden')) // 403 ->on('*', array($this, 'notfound')); // 404
25.
やりやすくなったこと: ビューを持たないアクションとか JSON返すRESTなAPIとか
26.
プレーンPHPからの移行を お待ちしております。
Jetzt herunterladen