Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PHP beginnerが
beginner +
になるための話
PHPBLT #8
@kyuichi2220s
自己紹介
- Yuichi Kishimoto (tw @kyuichi2220s)
- 株式会社viviane 執行役員 / 開発部マネージャー
- ciatr [シアター] という映画サービスを運営しています
- デザイナー→フロント→サー...
PHP beginnerがbeginner +になるための話
新米PHPerが、FWで開発している時、ぶち当たる壁を破って欲しいための発表になりま
す。(割と自分が苦労した経験もとに書いてます。)
上級者のみなさまには「ったりめーだろッ!」みた...
Fat Controller
dot installでphpやったで..
FW使ってみるか..
なんやMVCって便利やな..
とりあえずDBと対応したモデルはできたで..
あとはControllerに書きまくるだけや!
phper beginner
1年後修正できる?
テスト書ける?
じゃあModelにロジック寄せる?
じゃあModelにロジック寄せる?
ok, でもそのうちFat な Modelになるよ
MVCのCもMもダメならどこに書けばええねん!
まさかV?
phper beginner
クラス分割を適切にしよう。1
- validateはRequestに移す、ビジネスロジック
はモデルに、機能は Serviceに移すなど工夫し
てみよう。
- そのうちモデルは太りだすので、 Repository
層を入れるなどサービスの規模に...
クラス分割を適切にしよう。2
- OOP、DDDなどプログラミングやデザインパ
ターンに関する概念や知識を身につける。 (社
内で積極的に勉強会など行うのも良いかも )
- 適切にクラス分割をしておくと、プロダクト間を
跨いで利用できる = サ...
MVCにこだわるな..
恐れずにクラス分割していくのだ ..
NO TEST NO LIFE
- テストってなんか難しそうだし楽しくなさそう..
- 今難しい実装やってるから後でいいや..
- 実装とテスト書いたら2倍時間かかりそう..
- 今のプロジェクトテストないし..
phper beginner
- テストってなんか難しそうだし楽しくなさそう..
- FW使ってる場合は大抵PHPUnit入ってるので、そん
なに難しくないし、やってみると以外楽しいよ!(感覚
値)
- Laravelの場合、とりあえず ./vendor/bin/phpun...
- 今難しい実装やってるから後でいいや..
- 今書こう! 一回忘れるとずるずると書かなくなりま
す。(経験談)phper beginner +
- 実装とテスト書いたら2倍時間かかりそう..
- その分、品質は1/4になります。(感覚値)
- 他のエンジニアさんに任せづらくなります。
- なんだかんだ書いておいたほうがコスパ高いです。
phper beginner +
- 今のプロジェクトテストないし..
- 今書いているクラス・メソッドからはじめよう。
- いきなりカバレッジ率100%は無茶な話です。phper beginner +
とりあえず書くのだ..
まとめ
他にも
- DI 依存性の注入
- Interfaceの使い所
- モック
- 型
などbeginnerからbeginner + へなるためのつまづきポイントは色々あると思います。な
かなか独学では理解しにくいところもありますが、wiz...
Php beginnerが beginner + になるための話
Upcoming SlideShare
Loading in …5
×

Php beginnerが beginner + になるための話

327 views

Published on

Php beginnerが beginner + になるための話

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Php beginnerが beginner + になるための話

  1. 1. PHP beginnerが beginner + になるための話 PHPBLT #8 @kyuichi2220s
  2. 2. 自己紹介 - Yuichi Kishimoto (tw @kyuichi2220s) - 株式会社viviane 執行役員 / 開発部マネージャー - ciatr [シアター] という映画サービスを運営しています - デザイナー→フロント→サーバー→AWS - LT初心者 - 好きな映画 こういうやつ→
  3. 3. PHP beginnerがbeginner +になるための話 新米PHPerが、FWで開発している時、ぶち当たる壁を破って欲しいための発表になりま す。(割と自分が苦労した経験もとに書いてます。) 上級者のみなさまには「ったりめーだろッ!」みたいな内容中心ですが、初心者はこう考 えているのかという気持ちで聞いてもらえればm(_ _)m ※説明はLaravelを想定してのものになります。
  4. 4. Fat Controller
  5. 5. dot installでphpやったで.. FW使ってみるか.. なんやMVCって便利やな.. とりあえずDBと対応したモデルはできたで.. あとはControllerに書きまくるだけや! phper beginner
  6. 6. 1年後修正できる? テスト書ける?
  7. 7. じゃあModelにロジック寄せる?
  8. 8. じゃあModelにロジック寄せる? ok, でもそのうちFat な Modelになるよ
  9. 9. MVCのCもMもダメならどこに書けばええねん! まさかV? phper beginner
  10. 10. クラス分割を適切にしよう。1 - validateはRequestに移す、ビジネスロジック はモデルに、機能は Serviceに移すなど工夫し てみよう。 - そのうちモデルは太りだすので、 Repository 層を入れるなどサービスの規模に見合ったレ イヤーを恐れず導入しよう。 - あとViewにロジック書くのをやめましょう。必 要なデータは事前に Controllerまでのどこかの 層で取得・整形しましょう。
  11. 11. クラス分割を適切にしよう。2 - OOP、DDDなどプログラミングやデザインパ ターンに関する概念や知識を身につける。 (社 内で積極的に勉強会など行うのも良いかも ) - 適切にクラス分割をしておくと、プロダクト間を 跨いで利用できる = サブモジュール化も楽にな りますよ (composerなど)
  12. 12. MVCにこだわるな.. 恐れずにクラス分割していくのだ ..
  13. 13. NO TEST NO LIFE
  14. 14. - テストってなんか難しそうだし楽しくなさそう.. - 今難しい実装やってるから後でいいや.. - 実装とテスト書いたら2倍時間かかりそう.. - 今のプロジェクトテストないし.. phper beginner
  15. 15. - テストってなんか難しそうだし楽しくなさそう.. - FW使ってる場合は大抵PHPUnit入ってるので、そん なに難しくないし、やってみると以外楽しいよ!(感覚 値) - Laravelの場合、とりあえず ./vendor/bin/phpunit 実 行してみるところからはじめよう phper beginner +
  16. 16. - 今難しい実装やってるから後でいいや.. - 今書こう! 一回忘れるとずるずると書かなくなりま す。(経験談)phper beginner +
  17. 17. - 実装とテスト書いたら2倍時間かかりそう.. - その分、品質は1/4になります。(感覚値) - 他のエンジニアさんに任せづらくなります。 - なんだかんだ書いておいたほうがコスパ高いです。 phper beginner +
  18. 18. - 今のプロジェクトテストないし.. - 今書いているクラス・メソッドからはじめよう。 - いきなりカバレッジ率100%は無茶な話です。phper beginner +
  19. 19. とりあえず書くのだ..
  20. 20. まとめ 他にも - DI 依存性の注入 - Interfaceの使い所 - モック - 型 などbeginnerからbeginner + へなるためのつまづきポイントは色々あると思います。な かなか独学では理解しにくいところもありますが、wizard目指してがんばりましょう

×