【PHP】フレームワークについて語るスレ【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/08/10(水) 02:21:08ID:CBjrwwHdPhrame本家
http://phrame.sourceforge.net/
Mojavi Project
http://www.mojavi.org/
mojavijapan
http://mojavi.p0t.jp/
Agavi本家
http://agavi.org/
Agavi.JP
http://agavi.jp/
[ 日本発 ] Maple Project
http://kunit.jp/maple/
[ 日本発 ] Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/ethna-tutorial-startup-practice1.html
※関連スレ
【PHP】フレームワークMapleに舌鼓
http://pc8.2ch.net/test/read.cgi/php/1122105465/
【PHPフレームワーク】Ethna【スケルトン自動作成】
http://pc8.2ch.net/test/read.cgi/php/1123070439/
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
その他>>2-5参照汁
0369nobodyさん
2005/10/07(金) 23:26:18ID:???フレームワークとオブジェクト指向とは関連性があるわけじゃないとも思う
って関連ありまくりじゃん。
OOのエッセンスが分かちがたい程たっぷり入ってると思うよ。
OOを使わずともライブラリ集は作れるだろうが、
フレームワークは作りにくいだろう。
0371367
2005/10/08(土) 01:39:24ID:???0372nobodyさん
2005/10/08(土) 01:55:47ID:???0373nobodyさん
2005/10/08(土) 02:24:56ID:???0374nobodyさん
2005/10/08(土) 02:26:59ID:???という思考回路が判らない。言語仕様に捉われすぎてる悪寒。
0375nobodyさん
2005/10/08(土) 02:28:24ID:???Cでもオブジェクト指向でまとめられたライブラリやツールキットは山ほどあるし。
オブジェクト指向プログラミング自体はべつに大抵の言語で可能だとおもう。
たしかにPHPはオブジェクト指向言語として設計されたわけじゃないが、
これとPHPでオブジェクト指向プログラミングをする事は矛盾しないだろう。
0376nobodyさん
2005/10/08(土) 02:45:50ID:???でもウェブアプリでデストラクタを使う機会はあんまりないだろ。
0379nobodyさん
2005/10/08(土) 05:32:22ID:???連中は、オブジェクト指向じゃなくてC++ or Java指向になってるんじゃないか?
rubyもデストラクタは持ってないしな(GCがあるからだけど)。
0380nobodyさん
2005/10/08(土) 06:07:15ID:???そうすると、こったオブジェクト作ってもしょうがないじゃん。シングルトンとか、ウェブアプリでどれくらい意味あるのか。
0381nobodyさん
2005/10/08(土) 07:48:43ID:???SingletonはDB接続に関するクラスで使ってるな俺は。
スゲー便利だしすっきりするなぁって思ったね。
要は使い方によるかなと。
0382nobodyさん
2005/10/08(土) 07:56:41ID:???0383nobodyさん
2005/10/08(土) 08:43:12ID:???1回のアクセスでオブジェクトが全部ご破算になるWebアプリでシングルトンの意味はある?
$_db_ = new MyDB();
function getDB() {
global $_db_;
return $_db_;
}
:
:
//実際使う場所
$db = getDB();
これでいいんじゃない?
0384nobodyさん
2005/10/08(土) 09:07:34ID:???グローバルオブジェクトを利用したSingletonの実装の一形態だろそれ
いいんじゃない? と言われりゃそうですねと言うしかないな
Java厨って実装から何から全部Javaと一緒じゃないと否定したがるのがうざいな
0386nobodyさん
2005/10/08(土) 09:45:38ID:???0387nobodyさん
2005/10/08(土) 10:47:02ID:???0388nobodyさん
2005/10/08(土) 10:56:20ID:???_を使うのはやっぱり苦肉の策だし、クラシックな作法だろう。
0389nobodyさん
2005/10/08(土) 11:00:17ID:???0390nobodyさん
2005/10/08(土) 14:36:34ID:???Java厨というよりJavaを意識しすぎたPHPユーザー、みたいな印象を受ける
Javaを意識するあまり、「PHPじゃないと出来ないことをしないといけない」みたいな傾向ってあったと思う
最近はその対象がRubyに移ってきたみたいだけど
0391nobodyさん
2005/10/08(土) 16:18:59ID:???がgetInstanceするって感じに使ってるけど、おかしいのかな?
各テーブルというと語弊があるかな。ある程度のテーブルを纏めたクラス。
JOINする場合(というかJOINしない場合が珍しいけど)は基となるテーブルのクラスに入れる。
$a = Atables();
$b = Btables();
print_r($a->getSelect());
print_r($b->getSelect());
って感じで。
全然スマートじゃないなぁとは思うけど、
DB周りはどうやったらスマートになるのか
全然わからん。解説サイトではロジック部(?)とSQL発行部
が混じっているが、個人的にそれはすごい抵抗があるし。
誰かご教授下さい・・・。
あ、今月のPHPプログラマーズマガジン無料だって!
JPSPAN扱ってるね。あれ@ITかなんかで廣川さんが
解説してて、それ以来使ってるけど、あれ使ってる人って
聞いたことないから不安になってた。
スレ違い&長文すまん。
0392nobodyさん
2005/10/08(土) 16:42:29ID:???前時代の遺物的存在じゃん
後片付けは言語側で勝手にやってくれる方が今風だし、キレイだ
0393nobodyさん
2005/10/08(土) 17:14:13ID:???オレも昔はそうだった。ruby, PHP, C#で、すっかり骨抜き?にされたけど。
なんつーか最初の頃は堕落した感じがしたもんだ。
(良い悪いとかじゃんくて、楽チン→堕落、みたいな妙な感覚)
0394nobodyさん
2005/10/08(土) 17:52:40ID:???お前らの会話の内容がサッパリ分からんぞ、DQNな漏れは。
もうね、難しいとか難しくないとかいうレベルじゃない。
何の予備知識もないスワヒリ語を聞いてる感じ。
0395nobodyさん
2005/10/08(土) 18:06:12ID:???それはDQNだからじゃなくて単にオブジェクト指向開発用語を知らないだけだと思う
つまりそれを勉強すればこの会話の意味はすっかり解るだろうし
勉強して損ないものなのでぜひ習得してみるべし
0398nobodyさん
2005/10/08(土) 21:14:56ID:???finalならPHP5にあるが。
0399nobodyさん
2005/10/08(土) 21:17:47ID:???例外処理のfinallyでしょ。
Javaなら以下のように書けるけど、PHPではfinallyが書けないので
リソースの破棄を行いたい場合などに二度手間になることがある。
try {
例外の起こりそうな処理
} catch (Exception e) {
例外発生時の処理
} finally {
例外が起きても起きなくても実行したい処理
}
0400383
2005/10/08(土) 22:26:28ID:???> Java厨というよりJavaを意識しすぎたPHPユーザー、みたいな印象を受ける
JavaはHelloWorldくらいしか書いたことないな。
俺のよくいじる言語はSmalltalk, Ruby, PHP, JavaScriptだよ。
あとSchemeも好きだな。
わざわざclass定義してstatic変数用意して2つもメソッド書いて、
結局>>383のたった6行でできることをかえって複雑にするのはアホらしい
ってことだ。
0401nobodyさん
2005/10/08(土) 22:41:27ID:???という気はする。
0402nobodyさん
2005/10/08(土) 22:43:38ID:???>>他にもデメリットとして、smartyのようなテンプレートエンジンを使うと実行速度がぐっと下がるし、
これはウソでしょ。
0403nobodyさん
2005/10/08(土) 22:45:32ID:???確かに無理して本に乗ってる書き方通りにしなくても良いとは思う。
Javaみたいにマルチスレッド環境になることもないし。
0404nobodyさん
2005/10/08(土) 23:03:48ID:???それがSingletonなのかどうかは判別できないじゃん。
確かに伝統的な書き方は記述が面倒だけど、
一人の思考ではなかなか太刀打ちできない強度があるもんだよ。
たくさんの頭脳を経た思考の蓄積や時間による淘汰は馬鹿に出来ない。
0405nobodyさん
2005/10/09(日) 00:09:28ID:???わざわざ冗長に見える記述をするのはそれなりの理由があるからで、
それが感じられないならオブジェクト指向自体が冗長だろう
ていうかSmalltalkとかRubyのほうがよりオブジェクト指向が強いと思うのだが
0406nobodyさん
2005/10/09(日) 00:13:58ID:???0408nobodyさん
2005/10/09(日) 01:17:58ID:???class aClass {
function &singlton(){
static $me;
if(!is_object($me)) $me =& new aClass;
return $me;
}
}
$instance =& aClass::singlton();
これがそんなに複雑かな?
わざわざgetDB()とか$_db_とかというのをグローバルな名前空間に
つくる方が複雑化を招く気がする。
実際に作る時はこのままではなんとなく気持ち悪くてスタティックな
コールであることを保証したりしちゃうから、そういうときはたしかにphp4で
ちょっと損した気分になるね。
0409nobodyさん
2005/10/09(日) 03:49:12ID:???「意図を表すコーディング」としての効果を期待しろ、ということで。
0411nobodyさん
2005/10/09(日) 07:19:12ID:???実際に使っちゃうリスクへのヘッジというよりも
意図を埋め込む意味合いの方が強いよね。
0412nobodyさん
2005/10/09(日) 11:23:06ID:???0413nobodyさん
2005/10/09(日) 12:57:50ID:???そもそもシングルトンで重要なのは、コンストラクタを private とかにして、
オブジェクトの生成が出来る箇所を限定することの方だろ。
0414nobodyさん
2005/10/09(日) 14:48:09ID:???/**
* シングルトンとして使ってください(オブジェクトは1度だけしか生成しないでください)。
*/
class Example
{
:
}
0415nobodyさん
2005/10/09(日) 14:58:42ID:???コメントがいつの間にか嘘の説明にならないよう、
むしろ少なめ推奨がモダンな作法。
独善的持論をぶってる奴はもう少し勉強しれ。
0416nobodyさん
2005/10/09(日) 15:04:08ID:???DBオブジェクト複数接続先で使いたい時とかって割と無い?
0417nobodyさん
2005/10/09(日) 15:06:04ID:???0418nobodyさん
2005/10/09(日) 15:18:56ID:???0420nobodyさん
2005/10/09(日) 16:53:47ID:???0421nobodyさん
2005/10/09(日) 18:16:42ID:???0422nobodyさん
2005/10/09(日) 18:49:57ID:???0423nobodyさん
2005/10/09(日) 18:52:26ID:j3jR0Qvz0424nobodyさん
2005/10/09(日) 18:56:57ID:???>プログラムは改変されていくものだから、
まあ、その通り。
>コメントがいつの間にか嘘の説明にならないよう、
確かに気をつけないと。
>むしろ少なめ推奨がモダンな作法。
いきなり妄想が入ってきました。
>独善的持論をぶってる奴はもう少し勉強しれ。
独善的持論乙
0426nobodyさん
2005/10/09(日) 19:38:21ID:QrQMlw6M0427nobodyさん
2005/10/09(日) 19:38:25ID:???XP(エクストリーム・プログラミング)についてなど
調べてみようね。
最近よく出版されてる軽めのプログラミング読本も
結構参考になるよ。
0428nobodyさん
2005/10/09(日) 19:39:39ID:???一瞬俺の知らない技術体系が発生してるのかとおもた
0429nobodyさん
2005/10/09(日) 19:45:20ID:???0430nobodyさん
2005/10/09(日) 19:50:40ID:???量が少ないほうがいいとかモダンとか言うのはオカルトつーか誤認
0431nobodyさん
2005/10/09(日) 19:56:38ID:???同じことを簡単に言ってるだけだろ。
まあケチつけたいだけの奴は
Singletonをコメントで実現しとけばいいんじゃねーの?
0432nobodyさん
2005/10/09(日) 20:03:13ID:???コードとの差異が出ないようにコメントを最小化する、なんてのは
アジャイルでもなんでもないし、リファクタリングしないことが前提の
固定的な開発思想でしょ。
0433nobodyさん
2005/10/09(日) 20:07:19ID:???PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
0434nobodyさん
2005/10/09(日) 20:18:50ID:???0435nobodyさん
2005/10/09(日) 20:29:41ID:???あー、お前の言うことにも一理あるね。
というか、お前が俺の言葉をどのように捉えたのかは理解したよ。
言葉のツラだけ捉えればまさにオカルトという言葉が相応しいかもしれない。
世の中には言葉をそういう風に使って金儲けや愚かな事をする輩が溢れているから
ダイレクトにそう捉えられたのも無理はないと思う。
だけど俺が言いたいのはそういうことじゃないんだよ。
なんか議論がつまらない方向に発展していきそうなのでこのへんで切り上げますが。
0437nobodyさん
2005/10/09(日) 22:21:08ID:???PHPでリフレクションを利用したコメントアノテーションはちょっと興味ある
言語仕様になくても無理矢理実現できるのがPHPらしいというかなんと言うか
0438nobodyさん
2005/10/09(日) 22:33:52ID:???0439nobodyさん
2005/10/09(日) 23:00:25ID:???XPはコメントとかコード外のメタデータや宣言を否定するわけじゃないっつの
それがリファクタを困難にするとも言ってない
読めるコードを書けっていう当たり前のことが言いたいだけなんです
0441nobodyさん
2005/10/09(日) 23:24:45ID:???0442nobodyさん
2005/10/09(日) 23:40:49ID:???やっぱりコンパイラが対応してくれないと…フレームワークレベルでは実効力に欠ける。
Maple以外でDI+AOPなフレームワークってないのかな?
0444nobodyさん
2005/10/10(月) 02:00:10ID:???どれもこれもシンプル過ぎていまいち参考にならないなぁ
もっと踏み込んだサンプルをチボンヌ
0445nobodyさん
2005/10/10(月) 07:29:44ID:???つーかガチガチのクラス使いたいならJavaでやれ。
PHPでやらなきゃならん制約があるなら新スレでも立てるろや。
0446nobodyさん
2005/10/10(月) 07:35:31ID:???フレームワークの開発がどれも停滞し過ぎということだ。
0447nobodyさん
2005/10/10(月) 09:25:29ID:???0448nobodyさん
2005/10/10(月) 09:35:59ID:???上にも出てたけどpok。
実務レベルでどうか知らんけど、勉強用にはとても良かった。
>>446
最近はMapleが活発になってきたんじゃないかな?
0449nobodyさん
2005/10/10(月) 10:57:46ID:???CompositeViewを実現する機構がなくない?
そこが俺的には痛いッス
0452nobodyさん
2005/10/10(月) 11:45:47ID:???JSON と XML が同じようなものである程度には,
JSON と YAML は同じようなものだとは思うが,
一般的には「違うもの」として捉えられていると思う.
てゆーかJSONって形式としちゃ汎用とはいえ
例えばPHP→Javaのデータ転送にJSON形式使う奴なんていないんじゃないかと……
0453nobodyさん
2005/10/10(月) 11:50:50ID:???0455nobodyさん
2005/10/10(月) 12:03:23ID:???意味っていうかプロトコルの一種だろ
やりとりのための約束ごととして決めておく。
絶対的な必然性はなかなかありえないから
「どっちでもいい」に落ち着きそうな気はする。
0456nobodyさん
2005/10/10(月) 13:49:15ID:???人間に読みやすく設計されてるのがYAML
JavaScriptに読みやすく設計されてるのがJSON
誰もが読みにくい代わりに高機能なのがXML
って感じかねぇ?
0457nobodyさん
2005/10/10(月) 13:54:12ID:???中庸っぽさがPHPと似てるかも
JSONも嫌いじゃないけど
0458nobodyさん
2005/10/10(月) 14:37:54ID:???ところでMapleはPHP5には対応しないのかな?
Mapleの目指す方向からしてPHP5で書いた方がずっと楽&適してるように思うんだけど。
0459nobodyさん
2005/10/10(月) 14:44:41ID:???やったことないけど、5じゃ動かんの?
0460nobodyさん
2005/10/10(月) 17:11:33ID:???別に無くてもあまり生活に困らないぞ。
0462nobodyさん
2005/10/10(月) 19:13:07ID:???プレゼンテーション層をActionだけにしたところは共感してるんだけど
機能的にはまだMojavi系の方が厚いっぽい。
0463nobodyさん
2005/10/10(月) 19:28:10ID:???器だけおいておくとフレームワークが勝手にオブジェクトを
放り込んでくれるウンコホウリナゲ!( ゚∀゚)つ=====o
みたいなことを言ってるのかな?
0464nobodyさん
2005/10/10(月) 19:38:53ID:+MnfvWOkそんな感じかな。
0465nobodyさん
2005/10/10(月) 21:11:32ID:???Mapleは設定ファイルを用意、
guessworkはプロパティーを用意すると。
Actionだけを見てざっと把握できるから
その点ではguessworkがいいかな…。
0466nobodyさん
2005/10/11(火) 12:40:17ID:???0467nobodyさん
2005/10/11(火) 18:13:27ID:???属性をメソッドから返す作法が面倒くせーと思ってたけど(プロパティー用意で良くね?と)
内部条件によって属性を変えられるメリットがあるんだな。
Mojaviは知るほどに、「よく考えられているなー」という部分がある。
0468nobodyさん
2005/10/11(火) 19:47:53ID:G45STU1QMojaviだからではなくて、ただの情報隠蔽だろ。
■ このスレッドは過去ログ倉庫に格納されています