Enviar pesquisa
Carregar
第67回PHP勉強会LT(その2)
•
0 gostou
•
2,152 visualizações
Hideyuki Shimooka
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 19
Baixar agora
Baixar para ler offline
Recomendados
第67回PHP勉強会LT
第67回PHP勉強会LT
Hideyuki Shimooka
CUIのツールを1行で Web GUI化する ライブラリを作ってみた
CUIのツールを1行で Web GUI化する ライブラリを作ってみた
xiidec
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
Kenichi Mukai
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
20111029 rubyon php
20111029 rubyon php
do_aki
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
Hisateru Tanaka
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
y-uti
20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravel
Masanori Hayashi
Recomendados
第67回PHP勉強会LT
第67回PHP勉強会LT
Hideyuki Shimooka
CUIのツールを1行で Web GUI化する ライブラリを作ってみた
CUIのツールを1行で Web GUI化する ライブラリを作ってみた
xiidec
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
Kenichi Mukai
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
20111029 rubyon php
20111029 rubyon php
do_aki
#phpmatsuri LT大会システムの中身
#phpmatsuri LT大会システムの中身
Hisateru Tanaka
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
y-uti
20180425 phpstudy-my-first-laravel
20180425 phpstudy-my-first-laravel
Masanori Hayashi
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
Kenichi Mukai
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
Shiroyagi Corporation
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
How Would You Like Component Management System
How Would You Like Component Management System
Hidetaka Okamoto
FukuokaPHP 3
FukuokaPHP 3
ichikaway
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
77web
anything-php-funcref-perl.el
anything-php-funcref-perl.el
Kenichirou Oyama
JIT for PHP を試した
JIT for PHP を試した
y-uti
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見る
shinjiigarashi
第55回PHP勉強会
第55回PHP勉強会
Hideyuki Shimooka
5分でわかるphalcon php
5分でわかるphalcon php
Yusaku Kinoshita
5分でわかるPhalconPHP
5分でわかるPhalconPHP
Shohei Tai
Weeklycms20120218
Weeklycms20120218
Yoshi Sakai
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
Fumito Mizuno
Mais conteúdo relacionado
Semelhante a 第67回PHP勉強会LT(その2)
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
Kenichi Mukai
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
Shiroyagi Corporation
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
How Would You Like Component Management System
How Would You Like Component Management System
Hidetaka Okamoto
FukuokaPHP 3
FukuokaPHP 3
ichikaway
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
77web
anything-php-funcref-perl.el
anything-php-funcref-perl.el
Kenichirou Oyama
JIT for PHP を試した
JIT for PHP を試した
y-uti
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見る
shinjiigarashi
第55回PHP勉強会
第55回PHP勉強会
Hideyuki Shimooka
5分でわかるphalcon php
5分でわかるphalcon php
Yusaku Kinoshita
5分でわかるPhalconPHP
5分でわかるPhalconPHP
Shohei Tai
Weeklycms20120218
Weeklycms20120218
Yoshi Sakai
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
Pyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
Fumito Mizuno
Semelhante a 第67回PHP勉強会LT(その2)
(20)
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
How Would You Like Component Management System
How Would You Like Component Management System
FukuokaPHP 3
FukuokaPHP 3
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
anything-php-funcref-perl.el
anything-php-funcref-perl.el
JIT for PHP を試した
JIT for PHP を試した
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見る
第55回PHP勉強会
第55回PHP勉強会
5分でわかるphalcon php
5分でわかるphalcon php
5分でわかるPhalconPHP
5分でわかるPhalconPHP
Weeklycms20120218
Weeklycms20120218
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Pyconjp2014_implementations
Pyconjp2014_implementations
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
第67回PHP勉強会LT(その2)
1.
PHP Refactoring Browser 2013/04/22 @第67回PHP勉強会LT @shimooka
2.
まずは・・・ • 株式会社Engine Yardさん、会場提供ありが とうございます。 •
@yandoさん、@MugeSoさん、企画ありが とうございます。
3.
自⼰紹介 • id:shimookaです • PHP歴だけは⻑い⽅です •
サイトとかblogとか – http://www.doyouphp.jp/ – hatena shimooka – mixi id=2905457 – twitter @shimooka • 発表(と参加)は2年ぶり
4.
時間がないので いきなり本題
5.
アジェンダ • Refactoringとは • PHP
Refactoring Browserとは • デモ • まとめ
6.
リファクタリングとは?
7.
さっきやったので省略
8.
PHP Refactoring Browser とは?
9.
さっk(ry
10.
内部構造 • Symfony2のConsoleコンポーネント – ApplicationクラスとCommandクラス •
リファクタリングクラス – 名前空間"QafooLabs¥Refactoring¥Application“ – Commandクラスと1対1の関係 • diffの⽣成 – Hunkクラス • PHPコードのparse – PHP Token Reflection • https://github.com/Andrewsville/PHP-Token-Reflection – メソッドやフィールド定義の開始・終了⾏が取得できる
11.
処理シーケンスの概要
12.
HunkクラスとOperationインターフェース • Hunkクラス – 1つのHunk(塊)を表すクラス –
⾏番号と変更内容を管理 • Operationインターフェース – HunkオブジェクトへのAPIを提供 • PatchBuilderクラス – Hunkオブジェクト郡(パッチ全体)を管理
13.
Hunkクラス ※第1引数(int)は対象の⾏番号 ※第2引数はコード⽂字列(の配列)
14.
Operationインターフェース
15.
Operationの拡張は そんなに難しくない
16.
例) Encapsulate Field •
データを外部から隠蔽し、そのデータに対す るアクセサを用意することで、データと振舞 いを分離する – getter/setterメソッド+非publicなフィールド • Commandクラス – EncapsulateFieldCommandクラス • リファクタリングクラス – EncapsulateFieldクラス
17.
デモ
18.
まとめ • 発表資料とコード⼀式 – https://github.com/shimooka/phpstudy-67 –
https://github.com/shimooka/php- refactoring- browser/tree/encapsulateFieldSpike
19.
ありがとうございました
Baixar agora