Enviar pesquisa
Carregar
ここがすごい! なぞとPHP5.3
•
Transferir como PPTX, PDF
•
1 gostou
•
1,710 visualizações
Takuya Sato
Seguir
LOCAL PHP勉強会09
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 34
Baixar agora
Recomendados
Hachiojipm41
Hachiojipm41
Hiroaki KOBAYASHI
Whyfields
Whyfields
Hiroaki KOBAYASHI
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
エイシュン コンドウ
がんばれ PHP Fiber
がんばれ PHP Fiber
infinite_loop
WCO2012「PHP教室」
WCO2012「PHP教室」
Takuma Morikawa
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
Recomendados
Hachiojipm41
Hachiojipm41
Hiroaki KOBAYASHI
Whyfields
Whyfields
Hiroaki KOBAYASHI
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
Trema day#4 Pio盛り ~Tremaのパケットパーサ~
エイシュン コンドウ
がんばれ PHP Fiber
がんばれ PHP Fiber
infinite_loop
WCO2012「PHP教室」
WCO2012「PHP教室」
Takuma Morikawa
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
20190809
20190809
iPride Co., Ltd.
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
Yasuhito Takamiya
Better C#の脱却を目指して
Better C#の脱却を目指して
bleis tift
F#によるFunctional Programming入門
F#によるFunctional Programming入門
bleis tift
.NET系開発者から見たJava
.NET系開発者から見たJava
bleis tift
今すぐ使えるPHP開発のあれこれ
今すぐ使えるPHP開発のあれこれ
Yuya Kikukawa
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
From Java To Clojure
From Java To Clojure
Kent Ohashi
From JS To CLJS
From JS To CLJS
Kent Ohashi
Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
Phpmatsuri2011 LT j_nakada
Phpmatsuri2011 LT j_nakada
Junpei Nakada
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
晃 遠山
Thrift
Thrift
guestf259ae
最近僕が使うようになったPerl 5.10以降の新しいやつ
最近僕が使うようになったPerl 5.10以降の新しいやつ
azumakuniyuki 🐈
ドキッ!記号だらけの無名関数
ドキッ!記号だらけの無名関数
Shinya Hayakawa
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
CHY72
Lithium Labo #1
Lithium Labo #1
Yusuke Ando
PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話
Rui Hirokawa
フレームワーク使おうぜ!
フレームワーク使おうぜ!
Takuya Sato
本番環境で使いたいPHP
本番環境で使いたいPHP
Takuya Sato
Mais conteúdo relacionado
Mais procurados
20190809
20190809
iPride Co., Ltd.
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
Yasuhito Takamiya
Better C#の脱却を目指して
Better C#の脱却を目指して
bleis tift
F#によるFunctional Programming入門
F#によるFunctional Programming入門
bleis tift
.NET系開発者から見たJava
.NET系開発者から見たJava
bleis tift
今すぐ使えるPHP開発のあれこれ
今すぐ使えるPHP開発のあれこれ
Yuya Kikukawa
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
From Java To Clojure
From Java To Clojure
Kent Ohashi
From JS To CLJS
From JS To CLJS
Kent Ohashi
Phpstormちょっといい話
Phpstormちょっといい話
Hisateru Tanaka
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
Phpmatsuri2011 LT j_nakada
Phpmatsuri2011 LT j_nakada
Junpei Nakada
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
晃 遠山
Thrift
Thrift
guestf259ae
最近僕が使うようになったPerl 5.10以降の新しいやつ
最近僕が使うようになったPerl 5.10以降の新しいやつ
azumakuniyuki 🐈
ドキッ!記号だらけの無名関数
ドキッ!記号だらけの無名関数
Shinya Hayakawa
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
CHY72
Lithium Labo #1
Lithium Labo #1
Yusuke Ando
PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話
Rui Hirokawa
Mais procurados
(20)
20190809
20190809
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
Better C#の脱却を目指して
Better C#の脱却を目指して
F#によるFunctional Programming入門
F#によるFunctional Programming入門
.NET系開発者から見たJava
.NET系開発者から見たJava
今すぐ使えるPHP開発のあれこれ
今すぐ使えるPHP開発のあれこれ
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
From Java To Clojure
From Java To Clojure
From JS To CLJS
From JS To CLJS
Phpstormちょっといい話
Phpstormちょっといい話
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
Phpmatsuri2011 LT j_nakada
Phpmatsuri2011 LT j_nakada
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
Thrift
Thrift
最近僕が使うようになったPerl 5.10以降の新しいやつ
最近僕が使うようになったPerl 5.10以降の新しいやつ
ドキッ!記号だらけの無名関数
ドキッ!記号だらけの無名関数
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
Lithium Labo #1
Lithium Labo #1
PHP 5.5ネーティブキャッシュの話
PHP 5.5ネーティブキャッシュの話
Destaque
フレームワーク使おうぜ!
フレームワーク使おうぜ!
Takuya Sato
本番環境で使いたいPHP
本番環境で使いたいPHP
Takuya Sato
徹底攻略!PHP5.4
徹底攻略!PHP5.4
Takuya Sato
Silex入門
Silex入門
Takuya Sato
自己実現理論と煩悩
自己実現理論と煩悩
Sunao Kumura
Hanon Summary ハノンの1~20をA4 1枚にまとめました
Hanon Summary ハノンの1~20をA4 1枚にまとめました
Taku Aoyama
知っているつもり?正しい「自己実現理論」~心理学・精神医学から~
知っているつもり?正しい「自己実現理論」~心理学・精神医学から~
nemonemo01
3分で読める「論語」超要約
3分で読める「論語」超要約
Taku Aoyama
3分で読める「禅の思想」
3分で読める「禅の思想」
Taku Aoyama
Vue.js入門
Vue.js入門
Takuya Sato
3分で読める「7つの習慣」超要約(スティーブン・R・コヴィー)
3分で読める「7つの習慣」超要約(スティーブン・R・コヴィー)
Taku Aoyama
3分で読める「道は開ける」超要約(デール・カーネギー)
3分で読める「道は開ける」超要約(デール・カーネギー)
Taku Aoyama
価値をみつけ、つくる人になるWs 慶應大学2013
価値をみつけ、つくる人になるWs 慶應大学2013
Okui Hatsune
アドラー心理学が教える幸せに生きるための3つのヒントとは?まとめ資料
アドラー心理学が教える幸せに生きるための3つのヒントとは?まとめ資料
szzk
図解でざっくり学ぶアドラー心理学
図解でざっくり学ぶアドラー心理学
Katsuhito Okada
5W1H (6W2H) の意味をA4 1枚にまとめたシート
5W1H (6W2H) の意味をA4 1枚にまとめたシート
Taku Aoyama
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
Taku Aoyama
3分で読める デール・カーネギー「人を動かす」超要約
3分で読める デール・カーネギー「人を動かす」超要約
Taku Aoyama
Destaque
(18)
フレームワーク使おうぜ!
フレームワーク使おうぜ!
本番環境で使いたいPHP
本番環境で使いたいPHP
徹底攻略!PHP5.4
徹底攻略!PHP5.4
Silex入門
Silex入門
自己実現理論と煩悩
自己実現理論と煩悩
Hanon Summary ハノンの1~20をA4 1枚にまとめました
Hanon Summary ハノンの1~20をA4 1枚にまとめました
知っているつもり?正しい「自己実現理論」~心理学・精神医学から~
知っているつもり?正しい「自己実現理論」~心理学・精神医学から~
3分で読める「論語」超要約
3分で読める「論語」超要約
3分で読める「禅の思想」
3分で読める「禅の思想」
Vue.js入門
Vue.js入門
3分で読める「7つの習慣」超要約(スティーブン・R・コヴィー)
3分で読める「7つの習慣」超要約(スティーブン・R・コヴィー)
3分で読める「道は開ける」超要約(デール・カーネギー)
3分で読める「道は開ける」超要約(デール・カーネギー)
価値をみつけ、つくる人になるWs 慶應大学2013
価値をみつけ、つくる人になるWs 慶應大学2013
アドラー心理学が教える幸せに生きるための3つのヒントとは?まとめ資料
アドラー心理学が教える幸せに生きるための3つのヒントとは?まとめ資料
図解でざっくり学ぶアドラー心理学
図解でざっくり学ぶアドラー心理学
5W1H (6W2H) の意味をA4 1枚にまとめたシート
5W1H (6W2H) の意味をA4 1枚にまとめたシート
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
5S(整理・整頓・清掃・清潔・躾)をA4一枚で理解するシート
3分で読める デール・カーネギー「人を動かす」超要約
3分で読める デール・カーネギー「人を動かす」超要約
Mais de Takuya Sato
レガシープロダクトを改善していくための戦い方
レガシープロダクトを改善していくための戦い方
Takuya Sato
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
Redmineで始めるチケット駆動開発
Redmineで始めるチケット駆動開発
Takuya Sato
本当は怖いPHP
本当は怖いPHP
Takuya Sato
PHPとMongoDBで学ぶ次世代データストア
PHPとMongoDBで学ぶ次世代データストア
Takuya Sato
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
Mais de Takuya Sato
(6)
レガシープロダクトを改善していくための戦い方
レガシープロダクトを改善していくための戦い方
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Redmineで始めるチケット駆動開発
Redmineで始めるチケット駆動開発
本当は怖いPHP
本当は怖いPHP
PHPとMongoDBで学ぶ次世代データストア
PHPとMongoDBで学ぶ次世代データストア
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
ここがすごい! なぞとPHP5.3
1.
ここがすごい!なぞとPHP5.3 佐藤琢哉
LOCAL PHP部
2.
はじめに
3.
なぞはすごくないです!!!
4.
自己紹介 佐藤琢哉 aka
nazo 旭川->東京->札幌 LOCAL PHP部 Hatena : nazone twitter : nazo
5.
アジェンダ PHP5.3おさらい lithiumについて
6.
PHP5.3おさらい
7.
何が変わった5.3? 名前空間 staticメソッドに関する追加機能
goto 無名関数 Phar その他細かい変更
8.
名前空間 ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ 名前空間を解決するための仕組み
namespaceで囲む useで宣言すると省略できる
9.
staticメソッドに関する追加機能 遅延静的束縛(late static
binding) 呼び出し方法によって実行するメソッドを実行時に切り替える 動的静的呼び出し(Dynamic Static Call) $a::foo(); なぜ今までできなかったのかが謎 __callStatic __callのstatic版 O/Rマッパーとかで効果が出てくると思われる?
10.
goto 使うな!!!
11.
無名関数(lambda) JavaScriptやってる人ならおなじみ 無名関数≠クロージャ(よく間違えられる)
lambdaと呼ぶのはLisp方面が元ネタらしい 従来create_functionで一応作れたが、非常に面倒だった クロージャ:無名(に限らないが)関数内の変数を解決するときに、その関数が定義されたスコープでの変数を参照する仕組み
12.
Phar PHPのソースをtarとかzipで固めて、それをそのままPHPからincludeできるようにする仕組み Pythonのeggみたいなやつ(?)
13.
細かい変更 公式のドキュメントを読めば何が非推奨かとか書いてあるから、ある程度はそこをチェックしながら 微妙に互換性のない修正もあるので、なんか変だと思ったらチェックしてみよう
PHP5な書き方をしていればそこまで変にはならない
14.
インストール 基本的にソースから入れるのがいい WindowsならXAMPPを入れれば最初から5.3になる
でも5.3メインで開発することはまだ少ない気がする debian、ubuntu系ならdotdebにパッケージがある(が、入れると当然5.2は消える)
15.
インストール 5.3.2はビルド時にSEGVを出すバグがあるっぽいので、5.3.1を入れたほうがいいかも(詳細不明) http://bugs.php.net/bug.php?id=51216
16.
lithiumについて
17.
lithiumってなに? PHP5.3専用フレームワーク CakePHPを作っていたGarrett
WoodworthとかNate Abeleとかって人がCakePHPプロジェクトから離脱して作り始めた CakePHPっぽさが随所に残っている まだ正式版ではない http://rad-dev.org/
18.
主な特徴 PHP5.3専用 MongoDBなどのDBにも対応(むしろ推奨している印象)
CakePHPっぽく書けるが先進的な機能も豊富 フィルタ機能で好きなところを改造できる
19.
ダウンロードインストール
20.
ダウンロード http://rad-dev.org/lithium/wiki/drafts/blog-tutorialを参考に ここで見るとMongoDBを使っているが、今回はMySQLで行う
http://rad-dev.org/lithium/versionsからダウンロードして解凍
21.
初期設定 フォルダ構成はCakePHPそっくり 若干違う箇所もあるが
URLがルートでない場合はCakePHP同様.htaccessでRewriteBaseを設定 app/resourcesをwritableにする config/bootstrap.phpのconnections.phpをrequireしてるところのコメントアウトを解除 config/connections.phpを編集 DB設定
22.
テーブル create table
posts ( id integer unsigned not null auto_increment, title varchar(255), body text, primary key(id) );
23.
MVC作成
24.
app/models/Post.php <?php namespace
appodels; class Post extends ithiumataodel { }
25.
app/controllers/PostsController.php <?php namespace
appontrollers; class PostsController extends ithiumctionontroller { }
26.
app/views/posts/index.html.php (普通のHTML)
27.
MVC作成 controllerからviewに値を渡すには、controllerでkey=>valueの形式でreturnする compactを使うのがおすすめ
28.
MVC作成 viewの拡張子は.html.php viewではshort_open_tagの設定に限らず、<?=$foo?>書式が使える
なんと自動でHTMLエスケープ機能付き ちなみにエスケープされたくない場合は<?php echo $foo?> なぜかHelperは自動エスケープされない不思議 nl2brは普通にやるしかない(と思う)
29.
CRUDを作ってみる
30.
Model Model周りはそこまで調べてないので省略 namespaceで使うモデルを定義
別にしなくても使えるけど定義したほうが楽
31.
Helper Helperは$thisから参照すること $this->html->link(...)
32.
まとめ
33.
まとめ lithiumは開発がもりもり進んでいるので、そのうち実用的になる その日に向けて勉強しておくのはいいかも
今はまだ実用は厳しいかも(ドキュメントが少なすぎ) lithiumが出てきたらPHP5.3が本番!という感じがする 他に使う理由があまり無い 追加機能は便利ではあるが…
34.
おわり
Baixar agora