【PHP】フレームワークについて語るスレ10【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/08/24(日) 21:43:37ID:???http://pc11.2ch.net/test/read.cgi/php/1202521438/
0153nobodyさん
2008/09/23(火) 00:47:41ID:???$this->Modelとか$this->Componentの__get()で、
与えられたクラス名のオブジェクトを生成・取得するって仕組み?
特に悪いとも思わないけど、必要とか便利とかもあんまり思わないw
例えば設計思想とか、利用時の利便性とかもあるんだろうけど、
同じ事をするのに、Model::factory()とかModel::singleton()でも
いい場合もあるかもだし
ピントはずれだったらスマソ
0154nobodyさん
2008/09/23(火) 00:51:04ID:???> 同じ事をするのに、Model::factory()とかModel::singleton()でも
→ 同じ事をするのに、Model::factory(classname) とか new classname() とか classname::singleton() とかでも
0155nobodyさん
2008/09/23(火) 02:07:19ID:???0156152
2008/09/23(火) 15:14:04ID:???使うコンポーネント設定するのいちいち面倒だな〜と思ってたんで。
そういうやり方もあるんですね、勉強になります。有り難うございました。
0157nobodyさん
2008/09/23(火) 17:34:13ID:???( ´∀`)< ぬるぽプロジェクト
みんなで面白いサイト作って有名にしようぜ!
http://yutori.2ch.net/test/read.cgi/news4vip/1222156869/
★まとめwiki
http://www39.atwiki.jp/vipproject/
PHPのフレームワークとして symfonyを採用予定です。
0160nobodyさん
2008/09/26(金) 16:21:57ID:???すると実際にautoloadされるときにbus erorrで落ちるね。
spl_autoload_register($f=function($name){...}); なら$fが生きている間だけは落ちない。
0161nobodyさん
2008/09/26(金) 16:42:24ID:???6も使えるようになるまでは長いだろうなぁ
0162nobodyさん
2008/09/27(土) 08:37:12ID:???railsとcakephpと、どっちが向いてる?
0163nobodyさん
2008/09/28(日) 11:02:03ID:???Ruby(少なくともRails)とPHPが同等にできる人にとってしか答えようがないし、
回答もしかりw
0164nobodyさん
2008/09/28(日) 11:49:26ID:???0165nobodyさん
2008/09/28(日) 15:59:10ID:???0166nobodyさん
2008/09/28(日) 18:15:32ID:???0167nobodyさん
2008/09/28(日) 22:06:23ID:???無いわー
0168nobodyさん
2008/09/28(日) 23:15:36ID:???何が不満なのかわからない
0169nobodyさん
2008/09/29(月) 06:03:55ID:???0170nobodyさん
2008/09/30(火) 00:08:37ID:???0171nobodyさん
2008/09/30(火) 00:17:33ID:???ヘッダフッタ辺りのレイアウトとかで楽したいなら、
手慣れたテンプレートエンジンがあればいいかもだけど
フレームワークってのとはちょっと違うような
多分必要なのはView側の省力化・柔軟性かなあ
0172nobodyさん
2008/09/30(火) 00:41:51ID:???0173nobodyさん
2008/09/30(火) 01:56:27ID:???個人情報を漏らしまくって最終的にPHP脂肪www
0174nobodyさん
2008/09/30(火) 03:55:27ID:CLW/UbJj0175nobodyさん
2008/09/30(火) 06:24:36ID:???フレームワーク作者で一番センスあるコード書くのがフランチョス。
0176nobodyさん
2008/09/30(火) 07:01:23ID:???_区切りとかKENTかよw
0177nobodyさん
2008/09/30(火) 07:07:59ID:???何かと間違えてないか?
0178nobodyさん
2008/09/30(火) 07:12:10ID:???0179nobodyさん
2008/09/30(火) 07:26:27ID:???0180nobodyさん
2008/09/30(火) 19:28:17ID:???0181nobodyさん
2008/10/01(水) 01:38:54ID:???クラス名とか関数名とか考えるとき、どっちにしようかいつも迷ってしまう
0182nobodyさん
2008/10/01(水) 01:50:42ID:???0183nobodyさん
2008/10/01(水) 07:31:56ID:???関数は地下に潜った存在になるだろうな
0184nobodyさん
2008/10/02(木) 19:06:50ID:???アンダースコア派だったからどうもなじめない
0185nobodyさん
2008/10/02(木) 19:46:59ID:???アンダースコアが普及しているような言語あるの?
0186nobodyさん
2008/10/02(木) 19:54:09ID:???0187nobodyさん
2008/10/02(木) 19:55:23ID:???0188nobodyさん
2008/10/02(木) 19:59:51ID:???0189nobodyさん
2008/10/02(木) 20:29:01ID:???0190nobodyさん
2008/10/02(木) 20:58:24ID:???それはクラス名だけでいいと思う
0191nobodyさん
2008/10/02(木) 21:19:41ID:???そんなコード見たことない
0192nobodyさん
2008/10/02(木) 21:28:23ID:???携帯ミドルウェアとかやっててC/C++は触るがJavaは触らない、って人もやる。
まあぶっちゃけ Java vs. C# なんだけど、PHPは中途半端なので混在してる。
その点Rubyは、作ってる・使ってる人間がC・Perl on *nix の人メインなので、
アンダースコア派が主流なのかな
また、RubyではUpperCamelCaseは文法的に定数扱いされるので、メソッド名や
通常の変数名には使えない。・・・MS流が嫌いなのか?w
0193nobodyさん
2008/10/03(金) 00:28:34ID:???0194nobodyさん
2008/10/03(金) 02:07:48ID:???PHPはJava風なんだけど、初期に出来た関数の命名が超適当だからな。引数の取り方とかも。
C#とかJavaはどうせIDE使うんで、まあ、どうでもいいような気がする。
0195nobodyさん
2008/10/03(金) 11:11:04ID:???0196nobodyさん
2008/10/03(金) 14:57:50ID:???アッパーキャメルケース (UCC)、またはパスカルケース(PascalCase)
複合語の先頭を、大文字で書き始める。
つづり例:CamelCase
ローワーキャメルケース (LCC)、または単にキャメルケース
複合語の先頭を、小文字で書き始める。
つづり例:camelCase
0197nobodyさん
2008/10/03(金) 15:09:46ID:???自分用メモか?
0198nobodyさん
2008/10/03(金) 15:43:33ID:???0199nobodyさん
2008/10/03(金) 16:36:40ID:???0200nobodyさん
2008/10/03(金) 17:18:11ID:???0202nobodyさん
2008/10/03(金) 18:04:06ID:???0203nobodyさん
2008/10/03(金) 19:59:32ID:???0205nobodyさん
2008/10/03(金) 20:55:12ID:???geThogEとか
0207nobodyさん
2008/10/03(金) 23:48:08ID:???0209nobodyさん
2008/10/04(土) 00:31:58ID:???0210nobodyさん
2008/10/04(土) 04:52:10ID:???class Class_Name
{
public function methodName( )
{
functionName($valOne, $valTwo);
if ($a == 1){
$b = 2;
}
}
命名規則、俺の結論はこのあたり。
http://framework.zend.com/manual/en/coding-standard.naming-conventions.html
http://solarphp.org/manual:project_standards:naming_conventions
Zend, Solarあたり守っとけばPEARの規約でも問題ない。あとクラス名は_で区切っとかないとauto loaderがめんどい。
0211nobodyさん
2008/10/04(土) 07:46:06ID:???0213nobodyさん
2008/10/04(土) 15:19:20ID:???>>210じゃ無いけど、ディレクトリ構造を反映ってことじゃない?
Perlのモジュール風?
Zend_Db_Table_Rowクラス => Zend/Db/Table/Row.php
ってな感じじゃないかと想像
0214nobodyさん
2008/10/04(土) 15:29:32ID:???たしかに_区切りはよさげだな
0215nobodyさん
2008/10/04(土) 20:31:20ID:???0216nobodyさん
2008/10/05(日) 02:47:20ID:???その通り。フォローthx
PEARでもその命名でディレクトリきってるし、PEAR2ではそのルールでauto loader標準だと思ったよ。
0217nobodyさん
2008/10/05(日) 04:57:56ID:???DBなのかDbなのか、PDFなのかPdfなのか、っていう違いも
あるねw
これがまた人によってまちまちだし、同じ人でも場合によって
違う場合がある
0218nobodyさん
2008/10/05(日) 05:28:14ID:???あとプロパティはどうせ全部 private なので _ が面倒
0219nobodyさん
2008/10/05(日) 11:01:14ID:???例えばSolar_Auth_Adapter_Sql はパッケージ名はSolarで認証クラスをアダプターでSQLクラスで実装してるクラス。
Solar/Auth.php
Solar/Auth/Adapter.php Solar_Auth_Adapterクラスで抽象クラスを定義
Solar/Auth/Adapter/Sql.php Solar_Auth_Adapter_Sql クラスでSolar_Auth_Adapterクラスを実装
0220nobodyさん
2008/10/06(月) 14:16:23ID:H0RcPBpG参考になります^^
0221nobodyさん
2008/10/07(火) 00:37:43ID:h510jQqa意味不明で面白い。ウケる。
0222nobodyさん
2008/10/07(火) 14:11:17ID:???> デザインパターン使うときはデザインパターンも名前に入れてる
それ、使うときもあったり使わないときもあったり、
クラスに単一のパターンしか適用されない場合、
そのパターンの為のクラスの場合には、そういう名前付けられるけど
一つのクラスに複数のパターンが適用される場合困るんだよな。
0223nobodyさん
2008/10/07(火) 14:44:16ID:???結局どれがいいんだ…
0224nobodyさん
2008/10/07(火) 14:53:14ID:???スタンダードにしてやれ
0225nobodyさん
2008/10/07(火) 14:58:34ID:???0226nobodyさん
2008/10/07(火) 20:28:02ID:???0229nobodyさん
2008/10/10(金) 00:45:42ID:???機能追加しすぎで扱いにくいWEBサービスのようだ
0231nobodyさん
2008/10/16(木) 15:31:37ID:???0232nobodyさん
2008/10/17(金) 00:38:24ID:???http://q.hatena.ne.jp/1210442237
Pradoが圧倒的ですねw
http://www.pradosoft.com/
0233nobodyさん
2008/10/17(金) 01:45:17ID:???0234nobodyさん
2008/10/17(金) 03:15:57ID:7gkZ0lccPRADOの解説本が出てないじゃん!?
Zend、Symfony、CakePHP、CodeIgniterの本は出てるぞwww
出版社は売れるであろう本を出すはず
0235nobodyさん
2008/10/20(月) 02:51:25ID:ya5easnJネットで検索しても「ajaxでページネーション」はあるんだけど・・・
0236nobodyさん
2008/10/20(月) 17:37:11ID:???http://www.google.co.jp/search?hl=ja&q=site%3Asymfony-project.org+paginate
0237nobodyさん
2008/10/20(月) 21:10:52ID:Kq4igHV+でもそれも機能たいしてなくないか?
CakePHPみたいに同一ページの複数モデルに対応してないでしょ?
っていうか、ページネーションって掲示板ですら絶対に必要になる機能なのに
なんで標準で付けないんだろ
0238nobodyさん
2008/10/20(月) 21:57:19ID:???最適化が難しいから。
一度でもページネイションの機能を作ったことがあればわかると思うが、
DBから全データ読み込んでから絞り込むのか、検索条件を考慮したデータを
取得しておいてからそれを絞り込むのか、なんだかんだ。
基本的に、データの「件数」がわからないとページング出来ない。
(それを無視してやるページングもあるが。)
どうせライトユーザ向けには、DBやらと連携したページングを求め
られるんだから、「始めからつけてない」は、ある意味賢明な選択だよ。
・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
0239nobodyさん
2008/10/20(月) 22:10:00ID:Kq4igHV+いや俺もたいしたやつじゃないけど作ったことあるし、
CakePHPのソースを解析したりしてみたけど、
そんなに難しくはないと思うけどな(だったらそれ使えばいいじゃんと言われるかもしれないが・・・)
>基本的に、データの「件数」がわからないとページング出来ない。
これは渡せばいいだけ
0240nobodyさん
2008/10/20(月) 22:21:43ID:???うん。だから、>>238の二行目
>最適化が難しいから
と、最終行
>・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
が、結論なんだけどなw
「フレームワークに標準で付いていない」ってのが問題じゃ無かったのか?
0241nobodyさん
2008/10/20(月) 22:31:39ID:Kq4igHV+PEARは使いたくない
まあ、付いてないことがはっきり分かったからもういいです
0242nobodyさん
2008/10/20(月) 23:11:01ID:???しかも色んな状況に対応できる
さあ、ZFを使おう!
0243nobodyさん
2008/10/20(月) 23:27:07ID:Kq4igHV+0244nobodyさん
2008/10/20(月) 23:34:15ID:???CakePHPはよくできてる。
データの件数ってのは、データ用のSQL文のうち条件は同じでselectするものが、
フィールド名の変わりにcount(*)になっただけ。
そこの部分(フィールド名の変わりにcount(*))への変換を
自動でやってくれるから、データ用のSQLに相当する部分のみを書けばいい。
また、データ用のSQLにlimitを主導で追加する必要もない。これも自動で追加される。
つまり、「データを取ってくるSQL」を書いて「ペジネーション」処理を使うだけで内部的に、
「データを取ってくるSQL」には、自動的にlimitが追加されて発行され
「データを取ってくるSQL」には、自動的に件数を取得するcountに変更される。(当たり前だがこっちにはlimitはつかない)
(もちろんSQL直書きではなくモデルの操作だが)
最適化って話なら、データ件数を取得する関数をオーバーライドできる。(上のやつはデフォルト動作)
こういう目的でオーバーライドされるために存在するメソッドが用意されている。
0245nobodyさん
2008/10/20(月) 23:41:59ID:???うーん。それは、例えばファイルベースのデータとかには適用できないよね。
メールボックスを漁るとか、さw
無理矢理使おうと思えば、いっぺんDBに放り込む必要がある。
そんな(SQLで全部済む)フレームワークばかりではない、っていう前提に
立てば、ページネイションの機能は汎用的なものにならざるを得ない。
データの件数と一ページ辺りの取得件数から、データ開始位置(番号)と
データ終了位置を取得する、みたいな。
SQLで言えば、OFFSET とそこからの LIMIT を取得するだけ、っていう。
んで、そんなクラスが乱立しても仕方ないので、PEARなりZendなり使えって
結論で多分無問題。
と思うんだけどなぁ
もちろん、>>244みたいな全自動?ページネイションを否定するわけではないけど。
0246nobodyさん
2008/10/20(月) 23:53:02ID:???0247nobodyさん
2008/10/21(火) 00:20:07ID:???0248nobodyさん
2008/10/21(火) 00:32:46ID:???またそんな無茶ぶりをw
フレームワークなりライブラリなり作る身になれw
まあ、そんなこと言う人は自分で作るんだろうけど
0249nobodyさん
2008/10/21(火) 01:06:35ID:???>CakePHPはよくできてる。
別にCakeだけがよくできてるわけじゃなくて、Cake以外もできてますよね?
0250nobodyさん
2008/10/21(火) 03:24:50ID:???ページネイションとSQLをごっちゃにしてね?
SQL_CALC_FOUND_ROWSを使った独自SQL文からのデータを、
ページネイションに渡せばいいんですよ。
0252nobodyさん
2008/10/21(火) 03:31:10ID:???■ このスレッドは過去ログ倉庫に格納されています