NetBeans、FuelPHP と過ごしたこの 2 ヶ月

7,795 views

Published on

NSEG 第 45 回勉強会での発表「NetBeans、FuelPHP と過ごしたこの 2 ヶ月」のスライド。

Published in: Technology
  • Be the first to comment

NetBeans、FuelPHP と過ごしたこの 2 ヶ月

  1. 1. NetBeans、 NetBeans、FuelPHP と過ごした この 2 ヶ月 suno (すの) / @suno88 2013.11.9(Sat) (株)ケイケンシステム 研修室
  2. 2. 自己紹介 ● 春原 宏保 (すのはら ひろやす) ● 長野市在住プログラマー ● Delphi / C# / C++ / PHP • ● Java? そんな難しい言語、 使えません! SIer 勤務で客先を点々と 盥回しされる日々 すのはら整骨院 (長野市高田)
  3. 3. 今日の発表は 自分語りみたいなものです。 ご了承ください m(_ _)m
  4. 4. 第一部 NetBeans
  5. 5. ことのおこり ● @stealthinu さんが常駐先の前時代的な 開発環境を改善しようと孤軍奮闘する話 2013/7、NSEG 勉強会 #41 (白馬合宿) http://www.slideshare.net/stealthinu/web-24531872
  6. 6. IDE を導入しようとするが…… ● Eclipse PDT (PHP Development Tools) を インストールしたものの── ● ● ● 最新版(4.3)ではコード補完が 効かない コードフォーマットが PSR-2 非準拠 4.2 ではフォーマット規則を カスタマイズできない PHP と PSR と Eclipse ですったもんだ ~Eclipse 嫌いの Eclipse 奮闘記~ 2013/8、NSEG 勉強会 #42
  7. 7. NetBeans ● ● Sun (現 Oracle)が中心となって開発されて いる IDE Eclipse とは違い、最初から PHP 用 IDE が 提供されている ● 2013/8 時点で 7.3.1 ● 2013/10 に 7.4 http://ja.netbeans.org/
  8. 8. 入れてみた ● インストールは簡単 ● ● ● インストーラーを起動して指示に従うだけ プラグインを探して きて入れたり、相性が どうのこうの悩んだり する必要ナシ 動作が軽い! ● Java で書かれていると 知り、二度ビックリ
  9. 9. コードフォーマットを PSR-2 準拠に ● ツール→オプション→エディタ→フォーマット ● 言語を「PHP」、カテゴリを「中括弧」 ● クラス宣言とメソッド宣言を「改行」に変更 【参考】PSR-2 http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html
  10. 10. true/false/null を小文字で補完 ● ● デフォルトでは true、false、null を大文字で 補完する PSR-2 では「小文字にすべし」
  11. 11. true/false/null を小文字で補完 ● <インストールフォルダー>phpphpstubs phpruntimeCore.php を書き換えて再起動 /** * All errors and warnings, as supported, except of level * <b>E_STRICT</b> prior to PHP 5.4.0. * @link http://php.net/manual/en/errorfunc.constants.php */ define ('E_ALL', 32767); define ('DEBUG_BACKTRACE_PROVIDE_OBJECT', 1); エディターは define ('DEBUG_BACKTRACE_IGNORE_ARGS', 2); define ('TRUE TRUE', true); TRUE 管理者権限で define ('FALSE FALSE', false); FALSE 起動してね! NULL', null); define ('NULL NULL 小文字に
  12. 12. 第二部 FuelPHP
  13. 13. ウェブアプリケーションフレームワークと私 ● フレームワークが大嫌い ● ● 2004 年、転職直後にひどいオレオレフレーム ワークで作業させられたトラウマ 2013 年 1 月、常駐先で新規開発案件に Symfony 1.0 (2010 年 1 月にサポート終了)を使った デスマーチに投入される • • ファイルサーバー上のソースを直接編集 オレオレ O/R マッパーをテーブルごとに手作業で 作って使う 【参考】SIer と受託開発、エンジニアの未来 (前編)     http://d.hatena.ne.jp/suno88/20081001/1222862239
  14. 14. 苦悩の日々 ● ひとつくらいフレームワークを使えないと ● フレームワークは流行り廃りが激しすぎ 手が出せない!
  15. 15. http://local.joelonsoftware.com/wiki/(Forum)_ 私はなぜフレームワークが嫌いか
  16. 16. 年貢の納め時 ● 2 人で進めるプロジェクト ● さすがに suno 素の PHP で書くわけには…… ● どうせ学ぶなら、これから伸びそうなものを ● ● PHP 5.3 以降専用? 過去のしがらみがなくて よさそう! じゃあ にするかな
  17. 17. FuelPHP とは ● CodeIgniter から派生したフレームワーク ● ● PHP 5.3 以降専用 ● ● コアを書いている 5 名のプログラマーが 全員 CodeIgniter のコアを書いていた(いる) 過去のしがらみが ない 先月 1.7 が出た ● 1 系列最終版 http://fuelphp.com/
  18. 18. FuelPHP 情報源 ● 公式サイト http://fuelphp.com/ ● 日本語ドキュメント http://fuelphp.jp/ ● FuelPHP まとめ Wiki http://wiki.fuelphp1st.com/wiki/ 開催前の時点で すでに載ってる (^^;
  19. 19. 新しいフレームワークなので ● ウェブの情報がまだまだ少ない ● 入門書を購入 『はじめてのフレームワークと  しての FuelPHP』  http://tatsu-zine.com/books/  fuelphp1st
  20. 20. 『はじめての~FuelPHP』★★★★★ ● 基礎の基礎から丁寧に書かれている ● サポートページが現在も更新されている ● ● https://github.com/kenjis/fuelphp1st ツイッターの公式 アカウントによる サポートも ● その節は助かり ました。感謝 しています。
  21. 21. NetBeans にプラグインを導入 ● ツール→プラグイン→使用可能なプラグイン ● PHP FuelPHP Framework をインストール
  22. 22. こちらを参考に @junichi_11 さん(プラグイン作者)のスライド http://www.slideshare.net/junichiy11/netbeans-plugin-for-fuelphp
  23. 23. 新規プロジェクトの作成 ● 新規プロジェクト作成ウィザードの最後の ページでフレームワークを選択する
  24. 24. FuelPHP の プロジェクトには FuelPHP のアイコンが 表示される
  25. 25. まずは config.php を修正 /** * Localization & internationalization settings */ 'language' => 'ja // Default language ja', ja 'language_fallback' => 'en', // Fallback language when file isn't available for default language 'locale' => 'ja_JP // PHP set_locale() setting, null to not set ja_JP', ja_JP // (snip) /** * DateTime settings * * server_gmt_offset in seconds the server offset from gmt timestamp when time() is used * default_timezone optional, if you want to change the server's default timezone */ // 'server_gmt_offset' => 0, 'default_timezone' => 'Asia/Tokyo Asia/Tokyo', Asia/Tokyo
  26. 26. FuelPHP とロケール fuel language = 'ja' の ├ app 指定で読み込まれる │ └ lang │ └ ja │ └ validation.php └ core └ lang コピー └ en └ validation.php language_fallback = 'en' の指定で、 ja/validation.php にないフィールドは こちらから読み込まれる
  27. 27. FuelPHP のディレクトリ構成 ├ │ │ │ │ │ │ │ │ │ └ fuel/ ├ app/ │ ├ classes/ │ │ ├ controller/ │ │ ├ model/ │ │ └ view/ │ ├ config/ │ ├ lang/ │ └ views/ └ core/ public/ ├ assets/ │ ├ css/ │ ├ img/ │ └ js/ └ index.php アプリケーション クラス コントローラー モデル ビューモデル 設定ファイル 言語ファイル ビュー コア (通常は書き換えない) スタイルシート 画像 JavaScript フロントコントローラー
  28. 28. fuel/public/ にシンボリックリンクを ● fuel/public/ が公開領域にあればよい →ドキュメントルートから fuel/public に  シンボリックリンクを張る
  29. 29. コントローラーの作成 ● fuel/app/classes/controller/test.php <?php class Controller_Test extends Controller { public function action_index($name = 'John Doe') { $data = []; $data['title'] = 'NSEG #45: FuelPHP デモ'; $data['name'] = $name; return View::forge('test', $data); } }
  30. 30. ビューの作成 ● fuel/app/views/test.php <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="utf-8"> <title><?= $title ?></title> </head> <body> <h1><?= $title ?></h1> <p>こんにちは、<?= $name ?>さん。ようこそ NSEG へ。</p> </body> </html>
  31. 31. ブラウザーでの実行結果 ● http://localhost/nseg45/test/index/foo
  32. 32. FuelPHP の URL ● http://localhost/nseg45/test/index/foo クラス名 アクション名 (action_index) 引数 1
  33. 33. この URL を叩くと……? ● http://localhost/nseg45/test/index/ <script>alert('Hi!');</script> FuelPHP が自動的に無害化
  34. 34. FuelPHP その他の機能 ● 時間がないのでまた次回 かった スライド 作成の
  35. 35. FuelPHP 翻訳ウィーク (終了) ● ● ● FuelPHP 1.7 リリースに合わせたオンライン イベント FuelPHP の日本語 ドキュメントを みんなでいっせいに 翻訳しよう! 翻訳自体は今でも ウェルカム http://atnd.org/events/43946
  36. 36. 参加してよかった翻訳ウィーク ● ● ツイッターでいろいろな方に助けて いただいたので、恩返しの意味で参加 普段読まない部分までも詳しく読むので、 FuelPHP の理解が進んだ ● ● 英語ドキュメントだと本気で読むので :-) GitHub 初体験も一緒に済ませられた
  37. 37. 進捗報告 ● FuelPHP を使って、週報自動配信システムの データ登録部を作成中 2010/4 NSEG #2 「山椒は小粒でぴりりと辛い ~小さなプログラム万歳!~」 http://www.slideshare.net/suno88/suno88-2
  38. 38. 今後の予定 ● 社内勉強会用の公式サイトを FuelPHP で 構築し、毎週コンテンツを追加する 2013/9 NSEG #43 「HTML と CSS の社内勉強会を主催した話」 http://www.slideshare.net/suno88/html-css-26425083
  39. 39. そんなことよりちょいと聞いてくれよ ● ● 発表とあんま関係ないけどさ 先月、小 3 の娘の音楽会行ったんです。 音楽会。 ※去年はデスマーチの  ため、午前半休すら  取得できず :-(
  40. 40. で、よく見たらなんか横断幕(ry ● 1 学年違うだけでめちゃくちゃ違う ● 特に 6 年生の合唱は圧巻 ● 1 年間での成長を感じる ● ● さて、自分はこの 1 年間でどれだけ成長 した? これからもたくさん勉強しなくちゃ。 現状維持は退化。
  41. 41. 『PHP 逆引きレシピ 第 2 版』買いました ● 2013/10/21 発売 ● 本物のレシピ本より分厚くてワロタwww

×