SlideShare a Scribd company logo
Yiiフレームワークを使ってみた
たなかひさてる
@tanakahisateru
自己紹介
なまえ:たなかひさてる
プログラマー
株式会社ループという会社にいます
Firebugなんかのローカライズをしています
PinocoというOSSを提供しています
Twitter: @tanakahisateru
Yiiってなに?
イー
Yiiってなに?
コレジャナイ
Yiiってなに?
http://www.yiiframework.com/
なにやらPHPのフレームワークらしい
日本では流行ってないみたい
マイナー技術大好物→ 調べてみた
すごい性能だという噂
マジかこれ!!
というわけで
ずいぶん大きく出たぞこいつ
どれ、その実力を見てやろうじゃないか
というわけで、やってみました
実演しながらいきます
パーミッションの調整が面倒なのでMAMPを使い
ます
実演
まずはプロジェクト作成
ざっと眺めたところ
初期状態でデザインが綺麗
最初からお問い合わせフォームつき
最初から(仮の)ログインフォームつき
JSライブラリ:jQuery
CSSフレームワーク:Blueprint
バッテリーインクルード(電池つき)な感じ
パフォーマンス確認
静的ページのレンダリング性能
CakePHP 58.14 trans/sec
Yii 208.33 trans/sec
さっきのグラフほどではないけど約4倍差
実演
giiの設定とかデータベースの読み書きとか
ここまでで
まだプログラム書いていません
考え方はCakePHPに似てそう
要るものがぜんぶ入ってる
XMLやYAMLを使わずarrayを多用
でもPHP5:これ重要
PHP4を捨てたCakePHP 2.0は、やっと開発ブランチが出
たところ
実演
ちょっとカスタマイズしてみる
ナビゲーション
ラベル
データ表示
アクセス制御
コードを見た感じ
アクセス制御の実装
Controller::accessRules だけ→ 簡単
ほか、いろいろカスタマイズポイントがわかりや
すい気がした
Model::rules とか Model::attributeLabels とか
実演
カスタマイズしてる途中で
データベースのフィールドを増やしてみる
い、いまの見た!?
giiのdiffがすごかった
CakePHPとかのbakeでやっちゃったことある人
はここ泣くとこですね
一人で完全なプログラムを設計できなくても、部
分カスタマイズでプロトタイピングできそう
もうちょっと面白いところ
クラスに
getHoge()
メソッドがあるとき、
$object->hoge
ってやったら、その値にアクセスできた。
勢いで作ったもの
ファイルアップロードが標準APIにあったので、
部分理解でアプリケーションが作れるか挑戦
My Photobook
感想
オブジェクト指向設計だしAPIマニュアルがすご
く広大
特にHTML出力のビュー系APIが激しく高度
日付や時刻の扱いがよくわからなかった
結局まだモジュールやコンポーネントの概念がつ
かめてない
すぐに動くせに案外奥深いじゃないか
本は出てないのか本は!
Amazonでyiiの和書を検索してみました。
本
<相原式>
最大効果の中国語勉強法
[単行本(ソフトカ
バー)]
出版社: PHP研究所
(2010/3/13)
本
またそっちのPHPかよ
本はないけど
ついでに
これがCMSのバックエンドだと想定して
閲覧専用サイトも作ってみた
PinocoとPHPTALを使いました
PHPTAL=XHTML互換なテンプレート
Dreamweaverで崩れない:デザイナーフレンドリー
マクロが高度:バージョン管理と相性いい
Pinoco
プレーンPHPを使うサイト作成フレームワーク
静的ページの表示が速い
変数がないページは静的サイトのように更新可能
Pinoco
詳しく知りたい方へ
http://code.google.com/p/pinoco/
@tanakahisateru
まとめ
管理アプリ:Yii
公開サイト:Pinoco + PHPTAL
最強...になったらいいなあ。
もうちょっと勉強します。
ありがとうございました。

More Related Content

What's hot

The Lego Scrum Awakens
The Lego Scrum AwakensThe Lego Scrum Awakens
The Lego Scrum Awakens
Masanori Kado
 

What's hot (20)

The Lego Scrum Awakens
The Lego Scrum AwakensThe Lego Scrum Awakens
The Lego Scrum Awakens
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebmining
 
カヤックコピー部のコピー講座
カヤックコピー部のコピー講座カヤックコピー部のコピー講座
カヤックコピー部のコピー講座
 
Let's design MVP #devlove #leanstartup
Let's design MVP #devlove #leanstartupLet's design MVP #devlove #leanstartup
Let's design MVP #devlove #leanstartup
 
良いプレゼン 良いスライド
良いプレゼン 良いスライド良いプレゼン 良いスライド
良いプレゼン 良いスライド
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
 
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法登録数2倍にしてと言われた時の正しい対処法
登録数2倍にしてと言われた時の正しい対処法
 
スマホと簡易ヘッドセットAryzonで光学シースルーAR
スマホと簡易ヘッドセットAryzonで光学シースルーARスマホと簡易ヘッドセットAryzonで光学シースルーAR
スマホと簡易ヘッドセットAryzonで光学シースルーAR
 
UE4セミナー 資料
UE4セミナー 資料UE4セミナー 資料
UE4セミナー 資料
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
スマホマーケットの概要と、 マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、 マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
 
小さく始める大規模スクラム
小さく始める大規模スクラム小さく始める大規模スクラム
小さく始める大規模スクラム
 
プレゼン初心者にありがちなアンチパターン
プレゼン初心者にありがちなアンチパターンプレゼン初心者にありがちなアンチパターン
プレゼン初心者にありがちなアンチパターン
 
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
 
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingはじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
 
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
 
カネとAgile(大企業新規事業編) #rsgt2021
カネとAgile(大企業新規事業編) #rsgt2021カネとAgile(大企業新規事業編) #rsgt2021
カネとAgile(大企業新規事業編) #rsgt2021
 

Viewers also liked (6)

いまどきのYiiフレームワーク
いまどきのYiiフレームワークいまどきのYiiフレームワーク
いまどきのYiiフレームワーク
 
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワークPHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
PHPカンファレンス関西2014 Yii Framework 2.0 遅れてきた5番目のフレームワーク
 
HTMLに学ぶ夫婦円満のコツ
HTMLに学ぶ夫婦円満のコツHTMLに学ぶ夫婦円満のコツ
HTMLに学ぶ夫婦円満のコツ
 
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansaiYii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
 
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
 
プレゼンの技術
プレゼンの技術プレゼンの技術
プレゼンの技術
 

Similar to Yiiフレームワークを使ってみた

アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたこと
Arata Fujimura
 
テレニコツイ
テレニコツイテレニコツイ
テレニコツイ
jz5 MATSUE
 

Similar to Yiiフレームワークを使ってみた (20)

The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなし
 
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
 
プログラミングのお勉強としてscratchをさわってみた
プログラミングのお勉強としてscratchをさわってみたプログラミングのお勉強としてscratchをさわってみた
プログラミングのお勉強としてscratchをさわってみた
 
Firefox os simulatorについて
Firefox os simulatorについてFirefox os simulatorについて
Firefox os simulatorについて
 
S07 t2 midorikawa
S07 t2 midorikawaS07 t2 midorikawa
S07 t2 midorikawa
 
Appmethodで何か作ってみる
Appmethodで何か作ってみるAppmethodで何か作ってみる
Appmethodで何か作ってみる
 
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
未踏カンファレンス2012「メルコグループと未踏ソフト」(スポンサーPR枠)<字幕付き>
 
Java素人がeclipseプラグインを作るためにやったこと
Java素人がeclipseプラグインを作るためにやったことJava素人がeclipseプラグインを作るためにやったこと
Java素人がeclipseプラグインを作るためにやったこと
 
もっとドキュメントが日本語になりますように
もっとドキュメントが日本語になりますようにもっとドキュメントが日本語になりますように
もっとドキュメントが日本語になりますように
 
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたこと
 
実務でGo使い始めました
実務でGo使い始めました実務でGo使い始めました
実務でGo使い始めました
 
Ruby on vim yokohama.vim発表資料
Ruby on vim yokohama.vim発表資料Ruby on vim yokohama.vim発表資料
Ruby on vim yokohama.vim発表資料
 
Zapier ppap-share
Zapier ppap-shareZapier ppap-share
Zapier ppap-share
 
Pythonでpdfをいじってみる
PythonでpdfをいじってみるPythonでpdfをいじってみる
Pythonでpdfをいじってみる
 
SpringMVCとthymeleafがよくわからん
SpringMVCとthymeleafがよくわからんSpringMVCとthymeleafがよくわからん
SpringMVCとthymeleafがよくわからん
 
Rnyoutube
RnyoutubeRnyoutube
Rnyoutube
 
リファクタリング勉強会 第2回
リファクタリング勉強会 第2回リファクタリング勉強会 第2回
リファクタリング勉強会 第2回
 
Pepperモーション制作ハッカソン 〜チームラボ流モーション制作術〜 【前編】
Pepperモーション制作ハッカソン 〜チームラボ流モーション制作術〜 【前編】Pepperモーション制作ハッカソン 〜チームラボ流モーション制作術〜 【前編】
Pepperモーション制作ハッカソン 〜チームラボ流モーション制作術〜 【前編】
 
OpenCVを用いたロボコンにおける画像処理(2013年ロボコン交流会)
OpenCVを用いたロボコンにおける画像処理(2013年ロボコン交流会)OpenCVを用いたロボコンにおける画像処理(2013年ロボコン交流会)
OpenCVを用いたロボコンにおける画像処理(2013年ロボコン交流会)
 
テレニコツイ
テレニコツイテレニコツイ
テレニコツイ
 

More from Hisateru Tanaka

とある事業の脱レガシー
とある事業の脱レガシーとある事業の脱レガシー
とある事業の脱レガシー
Hisateru Tanaka
 
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
Hisateru Tanaka
 
Phpstormちょっといい話
Phpstormちょっといい話Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
 
&& || and or まぜるな危険
&& || and or まぜるな危険&& || and or まぜるな危険
&& || and or まぜるな危険
Hisateru Tanaka
 
Phpcon kansani-2013-pinoco
Phpcon kansani-2013-pinocoPhpcon kansani-2013-pinoco
Phpcon kansani-2013-pinoco
Hisateru Tanaka
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
 
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
Hisateru Tanaka
 

More from Hisateru Tanaka (14)

とある事業の脱レガシー
とある事業の脱レガシーとある事業の脱レガシー
とある事業の脱レガシー
 
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
 
Grunt front-osaka-1-lt-tanaka
Grunt front-osaka-1-lt-tanakaGrunt front-osaka-1-lt-tanaka
Grunt front-osaka-1-lt-tanaka
 
Phpstormちょっといい話
Phpstormちょっといい話Phpstormちょっといい話
Phpstormちょっといい話
 
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
 
&& || and or まぜるな危険
&& || and or まぜるな危険&& || and or まぜるな危険
&& || and or まぜるな危険
 
Phpcon kansani-2013-pinoco
Phpcon kansani-2013-pinocoPhpcon kansani-2013-pinoco
Phpcon kansani-2013-pinoco
 
はじめてのGit #gitkyoto
はじめてのGit #gitkyotoはじめてのGit #gitkyoto
はじめてのGit #gitkyoto
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
Kphpug beginners-2
Kphpug beginners-2Kphpug beginners-2
Kphpug beginners-2
 
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
 
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (10)

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 

Yiiフレームワークを使ってみた