- 1 名前:nobodyさん mailto:sage [2008/08/24(日) 21:43:37 ID:???]
- 前スレ
pc11.2ch.net/test/read.cgi/php/1202521438/
- 151 名前:nobodyさん mailto:sage [2008/09/22(月) 10:49:18 ID:???]
- じゃない。
- 152 名前:nobodyさん mailto:sage [2008/09/22(月) 16:45:08 ID:???]
- アホな質問かも知れないけど、cakephpライクなフレームワークを作ろうかと
思ってるんですが、マジックメソッドの __get使ってモデルやコンポーネントの 呼び出しを下のようにやってみたいんだけど、何か問題あります? class HogeController extends Controller { function index() { $data = $this->Model->classname->find(); $this->Component->classname->hogehoge(); } }
- 153 名前:nobodyさん mailto:sage [2008/09/23(火) 00:47:41 ID:???]
- >>152
$this->Modelとか$this->Componentの__get()で、 与えられたクラス名のオブジェクトを生成・取得するって仕組み? 特に悪いとも思わないけど、必要とか便利とかもあんまり思わないw 例えば設計思想とか、利用時の利便性とかもあるんだろうけど、 同じ事をするのに、Model::factory()とかModel::singleton()でも いい場合もあるかもだし ピントはずれだったらスマソ
- 154 名前:nobodyさん mailto:sage [2008/09/23(火) 00:51:04 ID:???]
- >>153 微妙に修正
> 同じ事をするのに、Model::factory()とかModel::singleton()でも → 同じ事をするのに、Model::factory(classname) とか new classname() とか classname::singleton() とかでも
- 155 名前:nobodyさん mailto:sage [2008/09/23(火) 02:07:19 ID:???]
- new は method chain できないから却下
- 156 名前:152 mailto:sage [2008/09/23(火) 15:14:04 ID:???]
- cakephpだとコントローラーのプロパティに
使うコンポーネント設定するのいちいち面倒だな〜と思ってたんで。 そういうやり方もあるんですね、勉強になります。有り難うございました。
- 157 名前:nobodyさん mailto:sage [2008/09/23(火) 17:34:13 ID:???]
- ∧_∧
( ´∀`)< ぬるぽプロジェクト みんなで面白いサイト作って有名にしようぜ! yutori.2ch.net/test/read.cgi/news4vip/1222156869/ ★まとめwiki www39.atwiki.jp/vipproject/ PHPのフレームワークとして symfonyを採用予定です。
- 158 名前:nobodyさん mailto:sage [2008/09/23(火) 20:55:42 ID:???]
- >>157
スレ荒れすぎワロタ
- 159 名前:nobodyさん mailto:sage [2008/09/23(火) 21:24:50 ID:???]
- >>158
自動保守おいしいです(^q^)
- 160 名前:nobodyさん mailto:sage [2008/09/26(金) 16:21:57 ID:???]
- フレームワークとは直接関係ないけど5.3でspl_autoload_register(function($name){...});
すると実際にautoloadされるときにbus erorrで落ちるね。 spl_autoload_register($f=function($name){...}); なら$fが生きている間だけは落ちない。
- 161 名前:nobodyさん mailto:sage [2008/09/26(金) 16:42:24 ID:???]
- 5が出ても枯れるまで結構時間かかったし
6も使えるようになるまでは長いだろうなぁ
- 162 名前:nobodyさん mailto:sage [2008/09/27(土) 08:37:12 ID:???]
- 一人で最初期モックアップ作るなら、
railsとcakephpと、どっちが向いてる?
- 163 名前:nobodyさん mailto:sage [2008/09/28(日) 11:02:03 ID:???]
- その比較って意味あるのかな?
Ruby(少なくともRails)とPHPが同等にできる人にとってしか答えようがないし、 回答もしかりw
- 164 名前:nobodyさん mailto:sage [2008/09/28(日) 11:49:26 ID:???]
- cakeみたいな厨フレームワーク使ってる人恥ずかしくないんですかぁ
- 165 名前:nobodyさん mailto:sage [2008/09/28(日) 15:59:10 ID:???]
- んじゃ何使えばいいの?
- 166 名前:nobodyさん mailto:sage [2008/09/28(日) 18:15:32 ID:???]
- ☆Z☆E☆N☆D☆!!
- 167 名前:nobodyさん mailto:sage [2008/09/28(日) 22:06:23 ID:???]
- Zend…
無いわー
- 168 名前:nobodyさん mailto:sage [2008/09/28(日) 23:15:36 ID:???]
- zend使いまくりだけど
何が不満なのかわからない
- 169 名前:nobodyさん mailto:sage [2008/09/29(月) 06:03:55 ID:???]
- モックならちいたんで良いジャマイカ。
- 170 名前:nobodyさん mailto:sage [2008/09/30(火) 00:08:37 ID:???]
- モックなら素のPHPでいいよ
- 171 名前:nobodyさん mailto:sage [2008/09/30(火) 00:17:33 ID:???]
- モックはHTMLで十分なこともおおくない?w
ヘッダフッタ辺りのレイアウトとかで楽したいなら、 手慣れたテンプレートエンジンがあればいいかもだけど フレームワークってのとはちょっと違うような 多分必要なのはView側の省力化・柔軟性かなあ
- 172 名前:nobodyさん mailto:sage [2008/09/30(火) 00:41:51 ID:???]
- マックでいいよ
- 173 名前:nobodyさん mailto:sage [2008/09/30(火) 01:56:27 ID:???]
- 楽天がセッションidごとgoogleにキャッシュされ、
個人情報を漏らしまくって最終的にPHP脂肪www
- 174 名前:nobodyさん [2008/09/30(火) 03:55:27 ID:CLW/UbJj]
- 物区ならPencilでいいんじゃね
- 175 名前:nobodyさん mailto:sage [2008/09/30(火) 06:24:36 ID:???]
- つーかsymfony一択だろ
フレームワーク作者で一番センスあるコード書くのがフランチョス。
- 176 名前:nobodyさん mailto:sage [2008/09/30(火) 07:01:23 ID:???]
- symfonyは関数名がダサい
_区切りとかKENTかよw
- 177 名前:nobodyさん mailto:sage [2008/09/30(火) 07:07:59 ID:???]
- そんな規約ないよ
何かと間違えてないか?
- 178 名前:nobodyさん mailto:sage [2008/09/30(火) 07:12:10 ID:???]
- あれれ〜symfonyじゃなかったっけ?
- 179 名前:nobodyさん mailto:sage [2008/09/30(火) 07:26:27 ID:???]
- symfonyはJavaと同じキャメルケースだよ
- 180 名前:nobodyさん mailto:sage [2008/09/30(火) 19:28:17 ID:???]
- そもそもPHPの標準関数の命名がいい加減なんだから、拘っても意味ない。
- 181 名前:nobodyさん mailto:sage [2008/10/01(水) 01:38:54 ID:???]
- PHPはキャメルケースとアンダースコア混在しまくってるからな
クラス名とか関数名とか考えるとき、どっちにしようかいつも迷ってしまう
- 182 名前:nobodyさん mailto:sage [2008/10/01(水) 01:50:42 ID:???]
- それ単に昔の関数と最近のクラスメソッドなだけだろ
- 183 名前:nobodyさん mailto:sage [2008/10/01(水) 07:31:56 ID:???]
- 将来的にはほとんどオブジェクト指向のラッパーが用意されて
関数は地下に潜った存在になるだろうな
- 184 名前:nobodyさん mailto:sage [2008/10/02(木) 19:06:50 ID:???]
- 最近のは殆どキャメルケースに一本化の流れなんかね
アンダースコア派だったからどうもなじめない
- 185 名前:nobodyさん mailto:sage [2008/10/02(木) 19:46:59 ID:???]
- オブジェクト指向な関数(メソッド)で
アンダースコアが普及しているような言語あるの?
- 186 名前:nobodyさん mailto:sage [2008/10/02(木) 19:54:09 ID:???]
- るby
- 187 名前:nobodyさん mailto:sage [2008/10/02(木) 19:55:23 ID:???]
- くそ言語ww
- 188 名前:nobodyさん mailto:sage [2008/10/02(木) 19:59:51 ID:???]
- PHPに言われたらしめぇだべ
- 189 名前:nobodyさん mailto:sage [2008/10/02(木) 20:29:01 ID:???]
- PHPよりも糞な言語なんてINTERCALくらいだろ
- 190 名前:nobodyさん mailto:sage [2008/10/02(木) 20:58:24 ID:???]
- キャメルケースでも、メソッド名でM$流のUpperCamelCaseは勘弁して欲しい
それはクラス名だけでいいと思う
- 191 名前:nobodyさん mailto:sage [2008/10/02(木) 21:19:41 ID:???]
- メソッドをアッパーキャメルケースで書く人なんているの?
そんなコード見たことない
- 192 名前:nobodyさん mailto:sage [2008/10/02(木) 21:28:23 ID:???]
- C#とかかじった人はやる。
携帯ミドルウェアとかやっててC/C++は触るがJavaは触らない、って人もやる。 まあぶっちゃけ Java vs. C# なんだけど、PHPは中途半端なので混在してる。 その点Rubyは、作ってる・使ってる人間がC・Perl on *nix の人メインなので、 アンダースコア派が主流なのかな また、RubyではUpperCamelCaseは文法的に定数扱いされるので、メソッド名や 通常の変数名には使えない。・・・MS流が嫌いなのか?w
- 193 名前:nobodyさん mailto:sage [2008/10/03(金) 00:28:34 ID:???]
- そういう書き方の自由を奪う言語は嫌われる。
- 194 名前:nobodyさん mailto:sage [2008/10/03(金) 02:07:48 ID:???]
- Rubyの_でつなぐのはPerl由来だろうね。俺は_でつなぐのが見やすくて好きだけどな。
PHPはJava風なんだけど、初期に出来た関数の命名が超適当だからな。引数の取り方とかも。 C#とかJavaはどうせIDE使うんで、まあ、どうでもいいような気がする。
- 195 名前:nobodyさん mailto:sage [2008/10/03(金) 11:11:04 ID:???]
- 大文字小文字を区別しないものにCamelCaseを使うのは、ちょっと気持ち悪い
- 196 名前:nobodyさん mailto:sage [2008/10/03(金) 14:57:50 ID:???]
- キャメルケースの種類
アッパーキャメルケース (UCC)、またはパスカルケース(PascalCase) 複合語の先頭を、大文字で書き始める。 つづり例:CamelCase ローワーキャメルケース (LCC)、または単にキャメルケース 複合語の先頭を、小文字で書き始める。 つづり例:camelCase
- 197 名前:nobodyさん mailto:sage [2008/10/03(金) 15:09:46 ID:???]
- なんでわざわざ書いたん?
自分用メモか?
- 198 名前:nobodyさん mailto:sage [2008/10/03(金) 15:43:33 ID:???]
- 初めて知ってうれしかった
- 199 名前:nobodyさん mailto:sage [2008/10/03(金) 16:36:40 ID:???]
- CSSですらできる多重継承ができないPHPって一体・・・
- 200 名前:nobodyさん mailto:sage [2008/10/03(金) 17:18:11 ID:???]
- Mixinがあれば多重継承なんて必要ありませんよ
- 201 名前:nobodyさん mailto:sage [2008/10/03(金) 17:57:27 ID:???]
- >>199
Javaもですが・・
- 202 名前:nobodyさん mailto:sage [2008/10/03(金) 18:04:06 ID:???]
- Mixinを提供しているRubyだけがCSSと肩を並べているということですね
- 203 名前:nobodyさん mailto:sage [2008/10/03(金) 19:59:32 ID:???]
- つまり、いや、やめておこう
- 204 名前:nobodyさん mailto:sage [2008/10/03(金) 20:27:36 ID:???]
- >>185
pythonもメソッド名は、アンダースコアが一般的かな。 クラス名はキャメルケースだけど。
- 205 名前:nobodyさん mailto:sage [2008/10/03(金) 20:55:12 ID:???]
- 最後の文字だけ大文字にする逆キャメルケースにしてる人いる?
geThogEとか
- 206 名前:nobodyさん mailto:sage [2008/10/03(金) 23:42:27 ID:???]
- >>205
どうでもいいけど、読みづらくね?
- 207 名前:nobodyさん mailto:sage [2008/10/03(金) 23:48:08 ID:???]
- ゲ ソォグ イー と読んでしまった
- 208 名前:nobodyさん mailto:sage [2008/10/04(土) 00:29:16 ID:???]
- >>205
まずそうしようと思った意図はなんだw さすがにこれは利点も考え付かんww
- 209 名前:nobodyさん mailto:sage [2008/10/04(土) 00:31:58 ID:???]
- 難読化とかw
- 210 名前:nobodyさん mailto:sage [2008/10/04(土) 04:52:10 ID:???]
- <?php
class Class_Name { public function methodName( ) { functionName($valOne, $valTwo); if ($a == 1){ $b = 2; } } 命名規則、俺の結論はこのあたり。 framework.zend.com/manual/en/coding-standard.naming-conventions.html solarphp.org/manual:project_standards:naming_conventions Zend, Solarあたり守っとけばPEARの規約でも問題ない。あとクラス名は_で区切っとかないとauto loaderがめんどい。
- 211 名前:nobodyさん mailto:sage [2008/10/04(土) 07:46:06 ID:???]
- if (---) {
- 212 名前:nobodyさん mailto:sage [2008/10/04(土) 13:25:04 ID:???]
- >>210
>あとクラス名は_で区切っとかないとauto loaderがめんどい。 kwsk
- 213 名前:nobodyさん mailto:sage [2008/10/04(土) 15:19:20 ID:???]
- >>212
>>210じゃ無いけど、ディレクトリ構造を反映ってことじゃない? Perlのモジュール風? Zend_Db_Table_Rowクラス => Zend/Db/Table/Row.php ってな感じじゃないかと想像
- 214 名前:nobodyさん mailto:sage [2008/10/04(土) 15:29:32 ID:???]
- explodeですぐパスに変換できるってことか
たしかに_区切りはよさげだな
- 215 名前:nobodyさん mailto:sage [2008/10/04(土) 20:31:20 ID:???]
- へー
- 216 名前:nobodyさん mailto:sage [2008/10/05(日) 02:47:20 ID:???]
- >>213
その通り。フォローthx PEARでもその命名でディレクトリきってるし、PEAR2ではそのルールでauto loader標準だと思ったよ。
- 217 名前:nobodyさん mailto:sage [2008/10/05(日) 04:57:56 ID:???]
- 細かい話になってくるが、DBとかPDFとかいう略語の場合、
DBなのかDbなのか、PDFなのかPdfなのか、っていう違いも あるねw これがまた人によってまちまちだし、同じ人でも場合によって 違う場合がある
- 218 名前:nobodyさん mailto:sage [2008/10/05(日) 05:28:14 ID:???]
- zendスタイルにした時、そこが一番しっくり来なかったような気がする
あとプロパティはどうせ全部 private なので _ が面倒
- 219 名前:nobodyさん mailto:sage [2008/10/05(日) 11:01:14 ID:???]
- デザインパターン使うときはデザインパターンも名前に入れてる
例えば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クラスを実装
- 220 名前:nobodyさん [2008/10/06(月) 14:16:23 ID:H0RcPBpG]
- みんな努力してるんだなー。
参考になります^^
- 221 名前:nobodyさん [2008/10/07(火) 00:37:43 ID:h510jQqa]
- >>205
意味不明で面白い。ウケる。
- 222 名前:nobodyさん mailto:sage [2008/10/07(火) 14:11:17 ID:???]
- >>219
> デザインパターン使うときはデザインパターンも名前に入れてる それ、使うときもあったり使わないときもあったり、 クラスに単一のパターンしか適用されない場合、 そのパターンの為のクラスの場合には、そういう名前付けられるけど 一つのクラスに複数のパターンが適用される場合困るんだよな。
- 223 名前:nobodyさん mailto:sage [2008/10/07(火) 14:44:16 ID:???]
- 俺様フレームワークをやめようと思って、CakeかSymfonyを導入しようと思うけど
結局どれがいいんだ…
- 224 名前:nobodyさん mailto:sage [2008/10/07(火) 14:53:14 ID:???]
- 逆に俺様フレームワークを公開して
スタンダードにしてやれ
- 225 名前:nobodyさん mailto:sage [2008/10/07(火) 14:58:34 ID:???]
- 結局はちいたんでいいじゃんっていうレスがつく未来が見える
- 226 名前:nobodyさん mailto:sage [2008/10/07(火) 20:28:02 ID:???]
- ちいたんは、その名前が失敗の理由のひとつである。
- 227 名前:nobodyさん mailto:sage [2008/10/07(火) 21:32:19 ID:???]
- >>225
結局はちいたんで(ry
- 228 名前:nobodyさん mailto:sage [2008/10/08(水) 02:29:04 ID:???]
- >>227
早いわw
- 229 名前:nobodyさん mailto:sage [2008/10/10(金) 00:45:42 ID:???]
- まあ増えすぎたよね
機能追加しすぎで扱いにくいWEBサービスのようだ
- 230 名前:nobodyさん mailto:sage [2008/10/16(木) 15:04:15 ID:???]
- >>225
まあ徴兵制だろうね。 戦前(に成人した)世代と戦後世代の日本人を見比べれば一目瞭然。
- 231 名前:nobodyさん mailto:sage [2008/10/16(木) 15:31:37 ID:???]
- なんだ?この妙に右よりの誤爆は
- 232 名前:nobodyさん mailto:sage [2008/10/17(金) 00:38:24 ID:???]
- PHPプログラマーの方でPHP用フレームワークを使っている方へアンケート! ※フレームワーク導入を検討中。先輩方は何を使っているのか?好んでいるのか?をアンケート。.. - 人力検索はてな
q.hatena.ne.jp/1210442237 Pradoが圧倒的ですねw www.pradosoft.com/
- 233 名前:nobodyさん mailto:sage [2008/10/17(金) 01:45:17 ID:???]
- このpradoぶっちぎりはネタだよね?w
- 234 名前:nobodyさん [2008/10/17(金) 03:15:57 ID:7gkZ0lcc]
- >>233
PRADOの解説本が出てないじゃん!? Zend、Symfony、CakePHP、CodeIgniterの本は出てるぞwww 出版社は売れるであろう本を出すはず
- 235 名前:nobodyさん [2008/10/20(月) 02:51:25 ID:ya5easnJ]
- symfonyってページネーション機能はあるんですか?
ネットで検索しても「ajaxでページネーション」はあるんだけど・・・
- 236 名前:nobodyさん mailto:sage [2008/10/20(月) 17:37:11 ID:???]
- 英語の情報をなかったことにするのは君にとって損失かもしれないよ?
www.google.co.jp/search?hl=ja&q=site%3Asymfony-project.org+paginate
- 237 名前:nobodyさん [2008/10/20(月) 21:10:52 ID:Kq4igHV+]
- >>236
でもそれも機能たいしてなくないか? CakePHPみたいに同一ページの複数モデルに対応してないでしょ? っていうか、ページネーションって掲示板ですら絶対に必要になる機能なのに なんで標準で付けないんだろ
- 238 名前:nobodyさん mailto:sage [2008/10/20(月) 21:57:19 ID:???]
- >>237
最適化が難しいから。 一度でもページネイションの機能を作ったことがあればわかると思うが、 DBから全データ読み込んでから絞り込むのか、検索条件を考慮したデータを 取得しておいてからそれを絞り込むのか、なんだかんだ。 基本的に、データの「件数」がわからないとページング出来ない。 (それを無視してやるページングもあるが。) どうせライトユーザ向けには、DBやらと連携したページングを求め られるんだから、「始めからつけてない」は、ある意味賢明な選択だよ。 ・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
- 239 名前:nobodyさん [2008/10/20(月) 22:10:00 ID:Kq4igHV+]
- >>238
いや俺もたいしたやつじゃないけど作ったことあるし、 CakePHPのソースを解析したりしてみたけど、 そんなに難しくはないと思うけどな(だったらそれ使えばいいじゃんと言われるかもしれないが・・・) >基本的に、データの「件数」がわからないとページング出来ない。 これは渡せばいいだけ
- 240 名前:nobodyさん mailto:sage [2008/10/20(月) 22:21:43 ID:???]
- >>239
うん。だから、>>238の二行目 >最適化が難しいから と、最終行 >・・・↑が不満なら、PEARとか使えばいいじゃん、全く。 が、結論なんだけどなw 「フレームワークに標準で付いていない」ってのが問題じゃ無かったのか?
- 241 名前:nobodyさん [2008/10/20(月) 22:31:39 ID:Kq4igHV+]
- >>240
PEARは使いたくない まあ、付いてないことがはっきり分かったからもういいです
- 242 名前:nobodyさん mailto:sage [2008/10/20(月) 23:11:01 ID:???]
- paginationはZendなら標準で付いてる
しかも色んな状況に対応できる さあ、ZFを使おう!
- 243 名前:nobodyさん [2008/10/20(月) 23:27:07 ID:Kq4igHV+]
- まあそれが普通だよな
- 244 名前:nobodyさん mailto:sage [2008/10/20(月) 23:34:15 ID:???]
- >基本的に、データの「件数」がわからないとページング出来ない。
CakePHPはよくできてる。 データの件数ってのは、データ用のSQL文のうち条件は同じでselectするものが、 フィールド名の変わりにcount(*)になっただけ。 そこの部分(フィールド名の変わりにcount(*))への変換を 自動でやってくれるから、データ用のSQLに相当する部分のみを書けばいい。 また、データ用のSQLにlimitを主導で追加する必要もない。これも自動で追加される。 つまり、「データを取ってくるSQL」を書いて「ペジネーション」処理を使うだけで内部的に、 「データを取ってくるSQL」には、自動的にlimitが追加されて発行され 「データを取ってくるSQL」には、自動的に件数を取得するcountに変更される。(当たり前だがこっちにはlimitはつかない) (もちろんSQL直書きではなくモデルの操作だが) 最適化って話なら、データ件数を取得する関数をオーバーライドできる。(上のやつはデフォルト動作) こういう目的でオーバーライドされるために存在するメソッドが用意されている。
- 245 名前:nobodyさん mailto:sage [2008/10/20(月) 23:41:59 ID:???]
- >>244
うーん。それは、例えばファイルベースのデータとかには適用できないよね。 メールボックスを漁るとか、さw 無理矢理使おうと思えば、いっぺんDBに放り込む必要がある。 そんな(SQLで全部済む)フレームワークばかりではない、っていう前提に 立てば、ページネイションの機能は汎用的なものにならざるを得ない。 データの件数と一ページ辺りの取得件数から、データ開始位置(番号)と データ終了位置を取得する、みたいな。 SQLで言えば、OFFSET とそこからの LIMIT を取得するだけ、っていう。 んで、そんなクラスが乱立しても仕方ないので、PEARなりZendなり使えって 結論で多分無問題。 と思うんだけどなぁ もちろん、>>244みたいな全自動?ページネイションを否定するわけではないけど。
- 246 名前:nobodyさん mailto:sage [2008/10/20(月) 23:53:02 ID:???]
- SQLを使わないページネイションなら別にある。
- 247 名前:nobodyさん mailto:sage [2008/10/21(火) 00:20:07 ID:???]
- mysqlならSQL_CALC_FOUND_ROWSを使いたいよね
- 248 名前:nobodyさん mailto:sage [2008/10/21(火) 00:32:46 ID:???]
- >>247
またそんな無茶ぶりをw フレームワークなりライブラリなり作る身になれw まあ、そんなこと言う人は自分で作るんだろうけど
- 249 名前:nobodyさん mailto:sage [2008/10/21(火) 01:06:35 ID:???]
- >>244
>CakePHPはよくできてる。 別にCakeだけがよくできてるわけじゃなくて、Cake以外もできてますよね?
- 250 名前:nobodyさん mailto:sage [2008/10/21(火) 03:24:50 ID:???]
- >>247-248
ページネイションとSQLをごっちゃにしてね? SQL_CALC_FOUND_ROWSを使った独自SQL文からのデータを、 ページネイションに渡せばいいんですよ。
- 251 名前:nobodyさん mailto:sage [2008/10/21(火) 03:26:05 ID:???]
- >>249
symfonyにはないってことから、この話題がはじまっている。
|

|