【PHP】フレームワークについて語るスレ9【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/12/11(火) 23:37:20ID:???http://pc11.2ch.net/test/read.cgi/php/1192604501/
0104nobodyさん
2007/12/14(金) 16:23:21ID:???ヌルストリング→0
何らかの文字→1
になるのが普通の感覚じゃね?
0105nobodyさん
2007/12/14(金) 16:48:46ID:???0107nobodyさん
2007/12/14(金) 20:00:04ID:???http://www.iolanguage.com/about/
0108nobodyさん
2007/12/14(金) 22:10:43ID:???ちゃんとわかってて使う分にはいいんじゃないの?
っていうか、全部===や!==ってっやてるわけ?
0110108
2007/12/14(金) 22:23:14ID:???文字列と0が常に等価となる訳でもない。
(int)"123abc"==123 になる。
サニタイジングしてれば不意に文字列と数値を比較するときなんてそうそうないけどなぁ。
===や!==を使うときは関数が0やfalseやnullを返す可能性があるときぐらいかな。
0111nobodyさん
2007/12/15(土) 01:35:35ID:???・上記の変換で文字列が数値変換される時のルールが
「数値と解釈できる文字列から始まっていれば」その数値になり、「その他の場合」は0になる
"str" == 0 // true, "str" -> 0
"123str" == 123 // true, "123str" -> 123
"str123" == 123 // false, "str123" -> 0
"1.0str" == 1 // true, "1.0str" -> 1
・数値と文字列を比較すると暗黙で変換されるのでそうしないことを心掛ける
・想定する型比較と違う型が来る可能性がある場合はキャストしておく
のが重要、っていうか普通に書いてる分には困らない
あとこの型変換の仕様だけを出してきて「PHPの言語仕様は糞だ」
っていう奴はPHPより糞
PHPにはもっと言語仕様が糞なところはいっぱいある、
それはPHPユーザが一番知っている
0112nobodyさん
2007/12/15(土) 03:17:51ID:???こんな中途半端な変換迷惑なだけです(><)
0113nobodyさん
2007/12/15(土) 05:36:41ID:???0114108
2007/12/15(土) 06:24:55ID:???宣言により型が決っちまうとfopenとかstrpos等、失敗したときなんかにfalse(boolean)を
返してしまうものは、上で誰かが書いてたけどそれこそ例外を投げてくれないといけなくなる。
そこまで求めるのなら他の言語へいった方が早くね?
0115nobodyさん
2007/12/15(土) 06:31:39ID:???手早く簡素なコード組むためのもんだろ、PHPって。
0117nobodyさん
2007/12/15(土) 13:43:35ID:???使い続けていくうちにノウハウたまってくると、Javaでミドルウェア化してしまった方が便利。
PHPでの再利用なんてゴミだし、運用メンテが面倒。
0119nobodyさん
2007/12/15(土) 17:28:36ID:???0120nobodyさん
2007/12/15(土) 17:32:00ID:???どう見ても文字列定数です
0121nobodyさん
2007/12/15(土) 19:31:34ID:???0122nobodyさん
2007/12/15(土) 19:44:39ID:???#include <stdio.h>
int main()
{
char str[] = "hoge";
str[0] = 'm';
printf("%s\n", str);
}
0123nobodyさん
2007/12/15(土) 19:48:39ID:???0124nobodyさん
2007/12/15(土) 20:16:47ID:???0125nobodyさん
2007/12/15(土) 20:25:06ID:???仕様上は不定かもしれんが、できない方が多い、かどうかは別かも。
というか、間違いなくスレ違い。以降は自重する。
0126nobodyさん
2007/12/15(土) 20:40:00ID:???他言語も使ってる意志の弱い奴は去れ
0127nobodyさん
2007/12/15(土) 21:36:19ID:???勝手にそんなこと決めんな。
つか、他の言語やってない奴なんてほとんどいないだろ。
それに他の言語の知識は何かと役立つ。
0128nobodyさん
2007/12/15(土) 21:48:41ID:???まあそれはRubyも同じだけど
(Windows版で商用につかってる超マイノリティは無視だ)
0129nobodyさん
2007/12/15(土) 21:58:55ID:???>それに他の言語の知識は何かと役立つ。
これは他のスレでやるべきだろw
スレタイを読んでからレスはするべきだと思うわ。
0130nobodyさん
2007/12/16(日) 00:52:29ID:???http://slashdot.jp/articles/07/12/15/1414237.shtml
ワイズノット脂肪でPHPも連鎖的に脂肪www
0131質問
2007/12/16(日) 01:48:45ID:6S6s0OEC[2]昔使っていたPHPフレームワークは?
[3]PHP4系とPHP5系どっちらを多く使う?
[4]テンプレートシステムを使うとしたら何使う?
[5]IDEとかは使う?
[6]よく使うRDBは?
[7]PHP以外でWEBアプリを作るとしたら何を使う?
0132nobodyさん
2007/12/16(日) 02:11:10ID:???叩かれるの承知で書いてみる。
1.俺俺 今後はZendFW?
2.俺俺
3.PHP4 漸く5に移行中。
4.Smarty
5.PDTなんだがVs.Phpを使ってみたい。
6.PostgreSQL
7.Mono(ASP.NET C#)
0133nobodyさん
2007/12/16(日) 02:46:26ID:???[1]cakephp
[2]ethna+syrup+かなりのオレオレ改造(使用頻度は低いけどまだ使う事はあると思う)
[3]しがらみが無ければ5系だけど、安い案件ばかりなので選ぶ自由がほぼない
[4]Smarty
[5]PDT
[6]PostgreSQL
[7]RubyとPythonが興味あるけどどっちもほとんどいじってない(;´Д`)
0136nobodyさん
2007/12/16(日) 06:28:37ID:???どれだけの時間がかかるか知らないけど
便利なライブラリと実用性がphpほど追いつけば
最終的にはRORがWEBプログラムの主流になるね
0138nobodyさん
2007/12/16(日) 06:35:10ID:???今の水準よりも上のフレームワークはもう出来ないだろう
早い話がPHPでrailsを超えるフレームワークを作るのは言語的に無理
0139nobodyさん
2007/12/16(日) 06:36:05ID:???答えてみる
1. rhaco
2. Ethna(現役)
3. 5
4. rhaco
5. 使わない
6. MySQL / SQLite
7. Python
0140nobodyさん
2007/12/16(日) 06:38:42ID:???phpの時代がそろそろ終わりそうな気がする
0141nobodyさん
2007/12/16(日) 06:39:52ID:???[2]mojavi
[3]5
[4]使わない
[5]Zend
[6]MySQL
[7]Python
0142nobodyさん
2007/12/16(日) 06:46:33ID:???[2]なし
[3]PHP3
[4]html
[5]Iメモ帳
[6]CSV
[7]CGI
0143nobodyさん
2007/12/16(日) 08:11:44ID:???キーワード引数
*args
**args
あたりはPHPもパクるべき
0145nobodyさん
2007/12/16(日) 09:22:33ID:???haltさんとかriafさんとかが使ってるのも大きいんだろう
0146nobodyさん
2007/12/16(日) 10:42:49ID:???[2]俺俺
[3]PHP5系
[4]俺俺からincludeしてviewのPHPファイル読むだけ。
[5]ZendStudio。VS.Php試用版使って、安いしこっちでも良かったと後悔中。
[6]MySQL。ライセンス考えたらこれしかない。
[7]Java。てか配布用にPHPでやってるだけ。ASP.NETも好きだけどレンタル鯖が高いからやめ。
0147nobodyさん
2007/12/16(日) 10:56:16ID:???[2]-
[3]5
[4]Zend
[5]Eclipse
[6]MySQL
[7]Java+WebObjects
0148nobodyさん
2007/12/16(日) 14:15:36ID:???アンカー付けないと、何がなんだかわからんね。
[1]symfony
[2]Mojavi3
[3]5
[4]今のところ無し
[5]前はZend Studio
[6]PostgreSQL
[7]Ruby(Rails)
これに加え、
[8]気になってるPHPフレームワーク
を付け加えて欲しいな。
俺は
[8] Akelos
0149nobodyさん
2007/12/16(日) 14:39:02ID:???0150nobodyさん
2007/12/16(日) 15:42:25ID:???0151nobodyさん
2007/12/16(日) 16:27:32ID:???文字エンコードってどれ使ってる?
一昔前はEUC-JPが常識って感じだったけど、最近はUTF-8が多いんだろうか。
FrameworkによってはUTF-8使うのを半ば必須みたいに書いてるのもあるし。
昔はPHPで検索かけて色々サンプルとか見ても、設定の例もサンプルの中身も大抵EUC-JPだったよね。
自分はその頃からそれがなんだか嫌で、ASP.NETもやってるんだけどこっちはUTF-8が相性良くて
これといって文字コード関係で悩まされた事がないんで好きなんだけど
やっぱまだEUC派って多い?
JavaとPHPは初めてやった時やたらエンコード関連の文字化けで悩まされた・・・
特にアップロード機能とかメールとか絡むと。
これからはPHPでもUTF-8がデファクトスタンダードになっていくのかなあ。
なっていって欲しいけど。
0152nobodyさん
2007/12/16(日) 17:11:25ID:???ていうか知ってる奴いるのか
0153nobodyさん
2007/12/16(日) 17:18:18ID:???これか
公開してない割りにはドキュメント整備しすぎだろ
0154nobodyさん
2007/12/16(日) 17:23:39ID:???0155nobodyさん
2007/12/16(日) 17:29:14ID:???相手先でそれが使えるとは限らないから。
単体で動くのが一番楽で環境依存しないからいい。
0156nobodyさん
2007/12/16(日) 17:45:35ID:???0157nobodyさん
2007/12/16(日) 20:07:08ID:???0158nobodyさん
2007/12/16(日) 20:14:36ID:???0160nobodyさん
2007/12/16(日) 21:22:28ID:???0161nobodyさん
2007/12/16(日) 21:43:10ID:???0162nobodyさん
2007/12/16(日) 21:54:20ID:???0163nobodyさん
2007/12/16(日) 23:19:35ID:???PostgreSQL7.xとEUCでやってたらつっこめない文字とかあるし。
0164163
2007/12/16(日) 23:25:50ID:???鰍ニかをPDTだとEUCで保存できない。
鰍チて入力されたら「株式会社」と変換したいだけなんだが。
0165nobodyさん
2007/12/16(日) 23:57:50ID:???SquirrelMailに攻撃コード埋め込まれてPHP普通に脂肪www
0167nobodyさん
2007/12/17(月) 00:20:03ID:???FWに依存してるのは良くてPEARに依存するのがダメな理由は?
相手先で使えると限らないのはFWも一緒では?
>>157
んなこたない
ターミナルUTF-8にしてそれが原因でUNIX上で困った事とか特にない
0169nobodyさん
2007/12/17(月) 01:59:39ID:???------------------------------------------------
□ 962 nobodyさん [sage] 2007/12/09(日) 22:40:08 ID:???
>>960
それ(変換とか)よりもSJISの場合はダメ文字絡みがやっぱり一番大きいと思うんだ。
シングルバイト圏の作るライブラリとか。
大体文字コードの変換なんてかつては「必要悪」だったのが今やただのオーバヘッドや
不具合の温床だと思ってそれほど間違ってるかな。
要はWindowsさえ次のOSでごにょごにょやってSJIS(CP932?)捨ててくれれば、問題の
大部分はweb系に関してはほとんど片づきそうな気もする。
------------------------------------------------
これEUCも一緒だろ。ダメ文字が無いってだけで、ラテン文字入ったら文字コード変換は必須。
お前ら直近でループしてるんじゃねえよw
0170nobodyさん
2007/12/17(月) 08:02:39ID:???すべてUTF-8に統一すればいいんだよ
0171nobodyさん
2007/12/17(月) 08:03:59ID:???激しくスレ違いだけどな!
0172nobodyさん
2007/12/17(月) 09:28:32ID:???1つ1つのメソッドがやってることはコメントに書いてくれてるんだが、それがどういう順番に動作して
いるのか意味不明。
コントローラ内に平気でSQL直書きしてあったり、SQL文組み立てのメソッドがあったりする。
モデルは単にネイティブ関数のラップ。(Pear::DBもどきをモデルと言い張ってるorz)
それのどこがMVCやねん!と突っ込みたくなるが、コメントには「これはMVCフレームワーク」とか
書いてあるw
中途半端なコメントじゃない系統立てたドキュメント残してくれるならともかく、自己満FWを使ったなら
改修も一生面倒見てほすぃ。
0173nobodyさん
2007/12/17(月) 09:33:34ID:???リクエスト出して最後に何か吐いて終わりなんだし。
スパゲティになりようがない。
php1枚にプログラムもHTMLべた書きのウンコソースメンテするよりはマシだと思うぞ。
0174nobodyさん
2007/12/17(月) 11:58:48ID:???どこでもいつでもすぐデバッグできるよ
0175nobodyさん
2007/12/17(月) 22:58:15ID:???0176nobodyさん
2007/12/17(月) 23:10:02ID:???0177nobodyさん
2007/12/18(火) 09:33:48ID:???0178nobodyさん
2007/12/18(火) 09:38:53ID:???0179nobodyさん
2007/12/18(火) 09:53:40ID:???0181nobodyさん
2007/12/18(火) 10:37:47ID:???V->HTML制御
C->MとVをコントロールする中間管理職
0184nobodyさん
2007/12/18(火) 12:49:19ID:???0187nobodyさん
2007/12/18(火) 13:19:19ID:???できれば単純なものをコードで書いて頂ければ幸いです。
0188nobodyさん
2007/12/18(火) 13:38:03ID:6timmGHRfor ($i = 0; $i < 100; $i++) {
// ここに処理
}
// ここに後処理
何かの処理を100回繰り返すフレームワーク
どうだすごいだろ。えへん
0189nobodyさん
2007/12/18(火) 13:58:25ID:???0192nobodyさん
2007/12/18(火) 14:28:57ID:???フレームワークを単純なコードでかけるか!
0193nobodyさん
2007/12/18(火) 14:29:54ID:???0195nobodyさん
2007/12/18(火) 14:55:05ID:???フレームワークのやることは、ユーザからのリクエストに応じて、呼び出す関数やクラスを決定し、実際に呼び出すだけ。それをどれだけ便利にできるかで、各フレームワークの特徴が出る。
<?php
// _actionパラメータの値を調べる。なければ 'index' を使う。
$action = $_REQUEST['_action'];
if (! $action) $action = 'index';
// 関数 do_$action() を実行する(例えば do_index(), do_list() など)。
// これらの関数はアクションを処理するのでアクションハンドラと呼ばれる。
// フォーム値のチェックやDB操作はアクションハンドラの中で行う。
require_once("$action.php");
$funcname = "do_$action";
$ret = $function();
// 配列が返されたら、テンプレートを読み込んで表示する。
// 文字列が返されたら、それをURLとみなし、リダイレクトする。
if (is_array($ret)) {
$template = "templates/$action.php";
extract($ret);
include($template);
} else if (is_string($ret)) {
header("Location: $ret");
}
?>
0196nobodyさん
2007/12/18(火) 15:02:43ID:???とか考えたのだが、いい例が浮かばない・・・
M:銀行(お金貸す側)
V:企業、個人(お金借りる側)
C:国(ルール決める側)
こりゃぜんぜん違うしなー
おまいら何か妙案ありませぬか?
0197nobodyさん
2007/12/18(火) 18:37:09ID:???詰まる所、DBやファイルからデータを引っ張って来たり、書き込んだりって言う処理を汎用的に使える様にしたプログラムはMですか?
0198nobodyさん
2007/12/18(火) 19:35:00ID:???0200nobodyさん
2007/12/18(火) 19:40:23ID:???逆にみんなそこまでは判ってて、それだけ考えてピンとこなくなってる奴いるんじゃないかなー
モデル化すべき部品が数えるほどしかない場合って、MVCに拘っても特に嬉しい事ないのよね
M:金全般の定義と、基本的な処理の実装
・価値クラス
・価値クラスを継承した「動産」
・価値クラスを継承した「不動産」
・価値クラスを継承した「貨幣」
V:金扱う場所や事例
・不動産屋
・コンビニのレジ
・自動販売機
C:制御部分
・不動産屋がModel扱う場合の処理
・レジのバイトの応対、帳簿の付け方
・自動販売機に入った貨幣の形状認識、押された商品と釣り銭の出力
続く
0201nobodyさん
2007/12/18(火) 19:41:23ID:???続き
>>200の例で、分離による嬉しい事の例:
・法律が変わって資産計上の仕方が変わった場合に、モデルが分離していれば
基本的な処理の段階に修正を加えて全体の整合性を保てる。
・コンビニがポイント制導入したとしても「コンビニのポイントモデル」を
追加してコンビニのView/Controller変えることで、「他の事例への影響」を
完全に切り離せる。
・貨幣偽装事件が相次いで貨幣の形が変わった場合、自動販売機の制御部分を
変えるだけで済む。他の概念には影響しない。
こういう全体像の場合、モデルを「貨幣」として実装しても組み上げる事は可能。
でも変更対応性は損なわれるし、そもそも証券やら信用やら扱うと「貨幣」を
継承するのは無理があるし、等価的に扱えない。
特にコントローラー側が泣く。
上記の例でも、動産/不動産の価値と実貨幣価値を、「常に整合性が保たれる
ように変換」する作業が必要になってしまう。
で、貨幣ではなく「価値」という概念でモデルを抽象化しとく、と。
冗長になったなぁ。判りやすくはねえな。
人に教える時に悩むのが、実際に何かシステムを作らなくちゃいけないときに
上記の例でいう「価値をくくりだせばいいんだ」という着想をどうやって行う
べきかって話なんだよね。MVCってOOADが要る、っていうかOOADしっかり
考えられる奴はMVC必要なかったりするしな
PHP関係なくてすまん
■ このスレッドは過去ログ倉庫に格納されています