【PHP】PHPフレームワーク総合スレ15
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2010/12/12(日) 10:47:08ID:???●国外産●
symfony
ttp://www.symfony-project.com/
code igniter
ttp://codeigniter.com/
Zend Framework
ttp://framework.zend.com/manual/ja/index.html
CakePHP
ttp://www.cakephp.org/
Yii Framework
ttp://www.yiiframework.com/
●国産
ちいたん
ttp://php.cheetan.net/
Ethna
ttp://ethna.jp/
guesswork
ttp://classic.guesswork.jp/
maple
ttp://kunit.jp/maple/
●前スレ
【PHP】PHPフレームワーク総合スレ14
http://hibari.2ch.net/test/read.cgi/php/1253912143/
0869nobodyさん
2013/08/19(月) NY:AN:NY.ANID:???テキストエディタの補完機能なんて、せいぜい言語構造や標準関数の名称を補完するぐらいでしょう?
0870868
2013/08/19(月) NY:AN:NY.ANID:???俺宛のレス?
> せいぜい言語構造や標準関数の名称を補完するぐらいでしょう?
どの程度を想像してるのかわからないけど、いろんな言語でいろんな補完ができる。
https://www.google.co.jp/search?q=sublime+text+2+%E8%A3%9C%E5%AE%8C&oq=sublime+text+2+%E8%A3%9C%E5%AE%8C&sourceid=chrome&ie=UTF-8
でも、例えば「$this->add(」とか打つと引数のプレースホルダを補完したりするエディタあるけど、
それほど便利とは思わないんだよね。いる?これ。
0871nobodyさん
2013/08/19(月) NY:AN:NY.ANID:???「$this->add(」とか打ったときに思っていた候補が出てこないと、「あれっ、なんかミスった?」と見直すことはよくある。
0872nobodyさん
2013/08/19(月) NY:AN:NY.ANID:???0873nobodyさん
2013/08/20(火) NY:AN:NY.ANID:???0874nobodyさん
2013/08/20(火) NY:AN:NY.ANID:???閉じ括弧を補完するやつなら大迷惑
0875nobodyさん
2013/08/20(火) NY:AN:NY.ANID:???『(』を入力した時点で『)』が出てくるんだけど、
そのまま『)』を入力しても上書きされておかしなことにはならない。
NetBeansではそうなってる。
0876nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???HTMLやSQLやJSが混在していても、それぞれの定義元に飛べたりするし。
>>870
Sublimetext は文脈を解析しての補完はしてくれなくね?
$hoge = new Hoge();
$unknown = $hoge->getHogeeeee(); .// 戻り値も定義元も不明
の後に
$unknown->
とタイプすると、どこまで補完してくれるんだろ。
0877nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???0878nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???0879nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???「)」が邪魔になる例としては http://jsdo.it
0881nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???って打ったら俺の仕事が全部補完されてるIDEを教えてください(*´艸`*)
0882nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???ただし有料です。
0883nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???0884nobodyさん
2013/08/21(水) NY:AN:NY.ANID:???だろ?
0886nobodyさん
2013/08/29(木) NY:AN:NY.ANID:???いまどきのフレームワークはComposerを使った外部ライブラリと依存する方向へシフトしてきている
それに加えて、開発元はCodeIgniterを手放そうとしている
CodeIgniterに未来は描けなくなった
もはやCodeIgniterを選択するべきではない
では、何を選択するのがよいか?
中規模 CakePHP|Laravel|FuelPHPのいずれか
大規模 Symfony
0887nobodyさん
2013/08/29(木) NY:AN:NY.ANID:???国内だと1.xがまだ現役ぽいけど
0888nobodyさん
2013/08/29(木) NY:AN:NY.ANID:???個人的にCLIツール群はいらんのだけど、ビジネスロジック部実装するにあたって便利だなぁって思う機能ある?
0889nobodyさん
2013/08/29(木) NY:AN:NY.ANID:???0890nobodyさん
2013/08/30(金) NY:AN:NY.ANID:???興味があったら使えばいいし、嫌になったらやめればいいし、気軽に使えよ
0891nobodyさん
2013/08/30(金) NY:AN:NY.ANID:???0892nobodyさん
2013/09/01(日) 23:27:46.95ID:???http://www.rainframework.com/
テンプレートは使いやすかったけど。
0894nobodyさん
2013/09/05(木) 14:06:33.98ID:???「Fatal error: Call-time pass-by-reference has been removed in 」が
頻出するようになった。修正が面倒くさい。いい方法ない?
0895nobodyさん
2013/09/05(木) 15:17:10.75ID:???種類によっては修正パッチみたいなのもあるようだけど
http://pear.php.net/bugs/bug.php?id=19773&edit=11
0896nobodyさん
2013/09/05(木) 22:44:37.69ID:???なるほど。ありがとうございます。早速アップデートしてみます。
0897nobodyさん
2013/09/08(日) 21:29:25.23ID:???0898nobodyさん
2013/09/10(火) 11:16:37.81ID:???0899nobodyさん
2013/09/10(火) 12:05:31.36ID:???0900nobodyさん
2013/09/10(火) 23:05:24.16ID:???0901nobodyさん
2013/09/11(水) 13:57:49.61ID:???0902nobodyさん
2013/09/11(水) 16:36:08.93ID:???0903nobodyさん
2013/09/15(日) 01:54:00.91ID:???0904nobodyさん
2013/09/15(日) 11:33:28.84ID:???0905nobodyさん
2013/09/15(日) 12:42:17.58ID:???0906nobodyさん
2013/09/15(日) 13:15:59.35ID:???0907nobodyさん
2013/09/15(日) 13:16:39.28ID:???0908nobodyさん
2013/09/17(火) 22:55:26.99ID:???0909nobodyさん
2013/09/18(水) 19:07:57.77ID:???bakeコマンドはそのまま使えますね
0910nobodyさん
2013/09/19(木) 12:29:06.16ID:???秒間4億枚くらい
0911nobodyさん
2013/09/19(木) 12:29:49.29ID:???0912nobodyさん
2013/09/19(木) 21:13:59.55ID:???0913nobodyさん
2013/09/20(金) 01:27:43.21ID:???0914nobodyさん
2013/09/20(金) 05:46:01.40ID:???0915nobodyさん
2013/09/20(金) 11:53:33.64ID:???0916nobodyさん
2013/09/20(金) 17:57:06.17ID:???0917nobodyさん
2013/09/21(土) 00:06:49.29ID:???0918nobodyさん
2013/09/21(土) 16:00:33.76ID:???気に入って使い始め、ある程度作りこんだ矢先に本家ウェブサイトが消えてしまった。
作者様の身に何があったのかは分からないけど、マイナーなフレームワークは
こういうことになると、情報の参照先が完全になくなるから困っちゃうな。
作者様、これ見てたらどうか復活してください。
0919nobodyさん
2013/09/21(土) 20:19:16.11ID:???それはフレームワークに使われてる
段階だからだめなんだよ。お前の技術不足。
まずフレームワークはどれも対して変わらない。
ステートフルなフレームワークみたいに発想そのものが違うものはあるが
同じ発想で作られているものは基本的に同じ。
機能が実装されてるかまだ実装されてないかの違いだけ。
だから長く使われそうなフレームワークを選ぶべき。
もちろん、いろんな事情でマイナーなフレームワークを使うことが
ダメとは言わないが、その場合はフレームワークに依存しないように作るべき。
つまり、今回、お前がやらなければならなかったこと。それが出来ないのはお前の技術不足。
フレームワークが消えそうならば、フレームワーク部分を比較的簡単に取り替えられるように
抽象化しておくするべきだ。そしてコアの部分はフレームワークに依存させないように開発する。
それが出来るように、技術を磨けよ。
0921nobodyさん
2013/09/24(火) 17:43:04.97ID:???> フレームワークが消えそうならば、フレームワーク部分を比較的簡単に取り替えられるように
> 抽象化しておくするべきだ。
ムリムリ
0922nobodyさん
2013/09/24(火) 19:08:13.80ID:???実際にZend Framework/Symfony/CakePHP/FuelPHPに対する具体的なコードを見せてもらいたいな
0923nobodyさん
2013/09/24(火) 21:08:01.67ID:???0925nobodyさん
2013/09/24(火) 21:49:35.35ID:???フレームワークを抽象化させてどうするのさw
誰もフレームワークを抽象化するなんて言ってないし。
ヒント、デザインパターンより
・Adapter パターン
互換性のないインタフェースを持つクラス同士の接続を可能にします。
0926nobodyさん
2013/09/24(火) 22:03:44.04ID:???0928nobodyさん
2013/09/24(火) 23:04:33.77ID:???だからお前は馬鹿なんだ。
Adapterって言ってるだろ、
フレームワークが用意した仕組みを使うからこそ
Adapterなんだってわからんのか?
0929922
2013/09/24(火) 23:10:53.37ID:???s/仕組み/API/
これでいいか?
フレームワークが用意したAPIを無視して
自作のラッパークラスを使えって事?
アホくさい
0930922
2013/09/24(火) 23:15:26.20ID:???自分が知ってるフレームワーク間だけのでいい
こっちはあんたの理想とやらをどう具体化してるのか知りたいんだからさ
0931nobodyさん
2013/09/24(火) 23:16:10.92ID:???だからさAdapterを使う=フレームワークが用意したAPIも使う
という意味であるということを、理解できてないのはなんで?
あんたは話をする最低レベルにすら到達してないんだけど?
0933nobodyさん
2013/09/24(火) 23:19:54.02ID:???お前の作ったアプリは、当然ブラウザなしでも
メインの処理行えるよな?
(ユニットテストでは通常ブラウザは使わない)
あとは、そのメインの処理をフレームワークと
つなげるAdapter作るだけじゃん
最低限度の基礎知識さえ知ってれば、わかることだよ?
0934922
2013/09/24(火) 23:22:06.99ID:???悪いがエスパーじゃないんでね
Adapterで何と何を繋げるんですかね
コード出してくんなきゃ話が進まないんだけど
0935nobodyさん
2013/09/24(火) 23:22:41.55ID:???> つなげるAdapter作るだけじゃん
読めないの?w
0938922
2013/09/24(火) 23:54:23.97ID:???コードはもういいけどよ
言葉遊びは止めろつってんだろ馬鹿野郎
Adapterは実装手段であって目的じゃねぇんだよ馬鹿
APIの差異を吸収するレイヤーを作れとなんで一言で表せねぇんだよ
アプリケーションへのHTTP Requestを表すオブジェクトに対するAPIを例にしたらこうだろ?
+----------------------------------------------
| アプリケーション
+-----------------------------------------------
| オレオレRequest API
+---------------------+---------------------+--
| Symfony 2#Request API | CakePHP#Request API | ..
+-------------------------------------------+----
このオレオレAPIを挟むのがアホくさいってんだよ
ボトムアップで機能を殺していくアホの設計
知識の共有化をスポイルするアホの所業
0939nobodyさん
2013/09/24(火) 23:59:20.52ID:???いつAdapter が目的だといった?
お前本当に馬鹿じゃないのか?
> このオレオレAPIを挟むのがアホくさいってんだよ
その図を考えたのは誰だ?
おまえだよな。
その図は間違いだ。
つまり、お前は間違いを書いたんだ。
アホ? アホはお前だろう?
0940nobodyさん
2013/09/25(水) 00:00:47.86ID:???「APIの差異を吸収するレイヤーを作れ」と言うわけがないだろ。
そんなもん作らないんだから。
本当にアホだなぁw
0941922
2013/09/25(水) 00:09:46.28ID:???じゃAdapterをどこで何に使おうと思ったのかな?
あ、コードを出す気はないし答えも言わないんだったな
もう1人で後出しジャンケンやっててくれや
0943nobodyさん
2013/09/25(水) 02:07:57.17ID:???普通にフレームワーク使ってても、拡張すると俺俺層が出来てくるだろ?
MVCガッチリかみ合ったフルスタックFWを、他のFWに置き換えるのは相当しんどいけど、
一部機能を載せ替えるのは案外楽だよ。
アダプタでもいいし、プラグインでも拡張でも、何でも・・・・・・
ただ意味があるのかどうかは知らん。
0944nobodyさん
2013/09/25(水) 11:03:10.72ID:???> 普通にフレームワーク使ってても、拡張すると俺俺層が出来てくるだろ?
何のフレームワークを使ってて、どの部分にどんな俺俺層ができるの?
0945922
2013/09/25(水) 12:15:05.05ID:???俺俺層自体を否定してませんよ
拡張のために自分も普通に作りますからね
でも「FWの移植に備えるため」には用意しません
アダプターを介して使えと言われた側はそれで済むから別にいいです
で、移植する先のアダプターを用意する人は誰なんですか、結局自分でしょ?
そのアダプターは移植する前の機能を備えていないといけない、移植先でも動くようにしなければいけない
移植する未知のFWがどんな設計なのかも分からないのにできるんです?
モデル/ビュー/コントローラー/データベースへのインターフェイス/マイグレーション/コードジェネレーター/etc...
出来たとしてもキリがないですよ
そしてFWに変更があれば「自分のアダプターも更新しないといけない」、やる気になれないでしょ…
銀の銃弾みたいに抽象化だのアダプターだの言ってるから
どう対応するのか、どう設計するのかを知りたかったんですけどね
口先だけの人みたいだからがっかりですわ
0946nobodyさん
2013/09/25(水) 13:04:36.04ID:???0947nobodyさん
2013/09/25(水) 13:42:24.47ID:???0948nobodyさん
2013/09/26(木) 00:22:22.68ID:???えとさ、お前の書いたアプリのメインロジックって
なんかのフレームワークに依存しちゃってるの?
普通POPO(Plain Old PHP Object)で作るよね?
もしメインのロジックまでフレームワークに依存していたら
やばい。フレームワークを乗り換えることもできないし
フレームワークが死んだら大変なことになるよ。
0949nobodyさん
2013/09/26(木) 00:26:33.55ID:???長期運用考えるならFWのメンテナンスより、DB設計や機能単位の切り分け設計の方が遙かに大事だ
0950nobodyさん
2013/09/26(木) 00:27:57.62ID:???不要な単語が多いので重要な点だけ抜き取りますね。
> 素人より、玄人の方が遙かに保守性が高いし、
当たり前じゃね?
0951nobodyさん
2013/09/26(木) 00:29:13.95ID:???まあ当たり前の話だよ。
0952nobodyさん
2013/09/26(木) 00:51:35.13ID:???でも、PHPのFW使いの大半はプログラマとして素人だ。
だからPHPerは質が低いと馬鹿にされる。
上でアダプタパターンが云々言ってるアホがいるけど、
中途半端に解った風になったPHPerが一番恐い、糞コード生成マシンになる
traitsとか使い始めたら世界は崩壊する
0954nobodyさん
2013/09/26(木) 01:30:14.76ID:???0956nobodyさん
2013/09/26(木) 01:53:27.43ID:???0957nobodyさん
2013/09/26(木) 01:54:49.62ID:???こっちに逃げてきてるな。
こっち来んな。はげ
0958922
2013/09/26(木) 03:24:14.21ID:???俺はフレームワークに躊躇なく依存するよ
普通と言うなら基本的にフレームワークが用意しているベースモデルを継承して
そこにビジネスロジックを書くのが普通なんだけど
RailsでもDjangoでもフルスタックのものは大抵そのスタイルだしね
POJOを持ち出すからそれについても突っ込むけど
Java界隈じゃ継承の代わりにアノテーション使ってるだけでやってる事は変わんないぜ?
結局はそれを解釈するフレームワークに依存してるんだしな
0959nobodyさん
2013/09/26(木) 03:45:35.60ID:???クラス単体で使えない。
アノテーションはベースクラスが不要
この点でぜんぜん違うわけだが?
0960nobodyさん
2013/09/26(木) 03:47:49.12ID:???具体的に、どのフレームワークの
どのクラスに依存するのか書いてみ。
念の為に言っておくが、ロジック、
つまりモデルの話だぞ。
お前のモデルはなんのクラスを継承するのだ?
0961nobodyさん
2013/09/26(木) 05:12:20.88ID:???>>960
ビジネスロジックがFW依存するのは、FWと共に命運を共にするなら有りじゃね?
そもそもベースモデルが存在するFWって何よ?
大抵はモデルという名のORM実装じゃねぇ
0962922
2013/09/26(木) 10:52:21.81ID:???クラス単体で動くアプリですかそうですか良かったですね
>>960
ごめん、FWみんながモデルの継承を強要されてるみたいなおかしな書き方をした俺が間違ってる
継承してるのは逆に一部だ
Symfony 2はDoctrineでアノテーション式、
Zend FrameworkもFuelPHPも自前のマッパーやらアダプターを任意で使える
CakePHP 2 : http://api.cakephp.org/2.3/class-Model.html
Rails: ActiveRecord::Base
Django: django.db.models.Model
そもそも確認するけど、俺はビジネスロジックに
データベースへのアクセスも含まれる認識で話してたんだけどあんたは違うのか?
MVCの、モデルの、更にその一部、そこだけ切り取って「はい移植性高い」なんて喜んでる話だったの?
だとしたらやっぱやるだけ無駄だわ
>>961
ORMでもなんでもいいよ
ビジネスロジックがどうのとかモデルはこうあるべきなんて焦点にしてないから
俺の主張はフレームワークが決めた方法に従え、
移植のために小細工なんてせずに使えって事だ
0963nobodyさん
2013/09/26(木) 10:54:01.11ID:???> 念の為に言っておくが、ロジック、
> つまりモデルの話だぞ。
なんでここまで後退してるんだ?
そもそもの話は>>919
> フレームワークが消えそうならば、フレームワーク部分を比較的簡単に取り替えられるように
> 抽象化しておくするべきだ。
であり、それを実現するために、>>925
> ・Adapter パターン
を使えということだった。
「フレームワーク部分を比較的簡単に取り替えられるように」するためには、Modelのみならず、
当然Controller/View部分も対応しておく必要がある。
0964961
2013/09/26(木) 13:05:02.91ID:???>俺の主張はフレームワークが決めた方法に従え、
>移植のために小細工なんてせずに使えって事だ
そこは同意する。
ただ俺が言いたいのは、
Cake, Rails, Djamgo等、君が挙げているフレームワークはORMやDB操作クラスを「モデル」と定義しており、
闇雲に従ってしまうのはよろしくないと思う。
時々素人が「このロジックはControllerに書くべきでしょうか?Modelに書くべきでしょうか?」と聞いてくるけど、
FWでモデル=DB操作クラスと定義されている為、DBを必要としないロジックを書く場合どうするのか無駄に悩んでしまうんだろうね。
これは、DB操作クラスを内包する本来の意味でのモデルを作るのが正解だと思う。
俺はCakeを使う場合 CakeMdodel(DB) ⇔ 俺俺モデル ⇔ CakeController という方法で実装している
0965nobodyさん
2013/09/26(木) 13:31:41.16ID:???> 俺はCakeを使う場合 CakeMdodel(DB) ⇔ 俺俺モデル ⇔ CakeController という方法で実装している
糞実装の見本
0967nobodyさん
2013/09/26(木) 13:44:01.17ID:???それ、俺俺モデルの内容をCakeModelで実装すればいいだけじゃないの?
分離するとclass loaderとか面倒なことになりそうな気がするが、それを上回るメリットは?
0968nobodyさん
2013/09/26(木) 13:49:37.71ID:???0969nobodyさん
2013/09/26(木) 13:51:24.17ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。