Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@koriym

YOUR.Sunday

PHPFUK15

今年は6/27に行われた記念すべき第一回PHPカンファレンス福岡で基調講演をする機会をいただきました。去年の大阪に引き続いてタイトルは同じ「全てを結ぶ力」でしたが基調講演に続いてYOUR.Sunday というタイトルでもセッションを行いました。

その中で「解法ではなく問題を」という問いかけを行い、一つの仮定をしてみました。PHPのフレームワークは数はたくさんあるが、Webの問題の捉え方は同じで問題解決の構造は本質的にどれも変わらない。解法には方言や方針があるが重要なのは問題をどう見るかではないかというものです。

(どのフレームワークか分かりますか?)

スクリーンショット 2015-12-01 1.18.11.png

構造を

フレームワークの本来の価値は利便性より問題解決の構造にあると考えば、新しいアイデアに基づいた新しいフレームワークの存在価値があります。

BEAR.Sundayは「RESTfulなアプリケーションは内部もRESTfulにすれば良いのでは?」というな考えが設計のベースになっていていますが、他にAuraADRパターンCQRSをベースにしたlitecqrs-phpというフレームワークを紹介しました。これらはWebの問題を従来とは別の捉え方で捉えたものです。PSR7ミドルウエアフレームワークもHTTPメッセージを軸にして問題を捉えています。

YOUR.Sunday

Slimに似たマイクロフレームワークを新たに作成する意味は薄いですが、既存の「コントローラーが"モデル"からデータを受け取ってテンプレートで表示する"MVC"」ではないもの、新しいアイデアに基づいたものや、ドメインに応じたフレームワークを作ることには意味があります。

早く簡単に記述できる利便性は確かに価値の1つですが、自分のドメインの価値は何かを改めて問い、Webの問題をよりよく解決することにも意味があります。

現在のcomposer / Packagistのコンポーネントはそれを後押しします。ルーターやテンプレートエンジン、DIやORMを自作する必要はありません。本来はそれらは独立したコンポーネントとして存在できるもので、密結合したフレームワークの専用品として存在しなくてもいいものです。

BEAR.Sundayのようにフレームワークを作ることもできます。それがセッションのタイトルの"YOUR.Sunday"です。一方、BEAR.Sundayを自らのドメインフレームワークのベースとして使うことができます。使用するコンポーネントをDIで束縛して、アプリケーションのユースケースをAOPで記述します。HTML WebアプリケーションからSPAに移行することがあってもコンテキストだけを変更して、アプリケーションはほぼそのまま使用することができます。

BEAR.Sundayにはその柔軟性と力があります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What are the problem?