【PHP】下らねぇ質問はここに書き込みやがれ 57
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/10/22(月) 23:10:36ID:mIlonskoPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0558nobodyさん
2007/10/29(月) 17:56:01ID:0Yij708sそれでOK
0559552
2007/10/29(月) 17:56:47ID:???面倒だな
ありがとうございます
0561nobodyさん
2007/10/29(月) 18:52:59ID:???0562nobodyさん
2007/10/29(月) 20:10:23ID:???<?php
$db = sqlite_open('zip.db');
?>
を実行すると
sqlite_open(): file is encrypted or is not a database
と出て実行できません。
どうすれば回避できるでしょうか?
0563nobodyさん
2007/10/29(月) 20:33:39ID:???0564nobodyさん
2007/10/29(月) 21:18:50ID:???精子を精製してチンコに返してやりたいのですが、
たまに不純物が混じるので精子のチェックをしたいです。
どのように書いたらいいでしょうか?
0565nobodyさん
2007/10/29(月) 21:33:30ID:???ttp://www.hkvstore.com/phpmaker/
0566nobodyさん
2007/10/29(月) 21:58:04ID:???0567nobodyさん
2007/10/29(月) 22:07:03ID:???0568522
2007/10/29(月) 22:32:40ID:???ありがとうございます。
> Model1::select('Model1');
これがちょっといけてないので、Model1::select(); と書ける魔法なんかないでしょうか。
0569nobodyさん
2007/10/29(月) 22:55:24ID:???0570nobodyさん
2007/10/29(月) 22:58:17ID:htv8blfh>書かれている通りです
書かれている通りとは?
0571nobodyさん
2007/10/29(月) 23:24:01ID:???よく出る話題だがbacktrace()からコールしたクラス名得て>>525的にやるくらいしかない
サブクラスでselect()を再定義して、テーブル名を指定してparent::select("table name") のように
すれば表記上は Model1::select() と出来るけど、、、
やはりテーブル名をクラスメンバとして ModelObject に結び付けてるのがおかしいのでは、、、
サブクラスで再定義したいのに、親クラス固有のメンバを参照するような設計になってて矛盾がある
0572nobodyさん
2007/10/29(月) 23:37:42ID:???へたにstaticとか使うとOOとしてはアレ?ということになりがち。
0573nobodyさん
2007/10/30(火) 00:18:14ID:+WynKem6表示したいんですが、どうすればよいでしょうか?
0574nobodyさん
2007/10/30(火) 00:27:23ID:???0575nobodyさん
2007/10/30(火) 00:52:13ID:???0576nobodyさん
2007/10/30(火) 01:10:13ID:???0577nobodyさん
2007/10/30(火) 01:11:48ID:???0578nobodyさん
2007/10/30(火) 01:38:57ID:???0579522
2007/10/30(火) 01:40:24ID:???>やはりテーブル名をクラスメンバとして ModelObject に結び付けてるのがおかしいのでは、、、
>サブクラスで再定義したいのに、親クラス固有のメンバを参照するような設計になってて矛盾がある
そうなんですかね。RubyやPythonではこれがふつうの設計方法なんですよ。
Model1::select()を呼び出したときに、ModelObject::select()が実行されるのはPHPでも一緒なんですけど
PythonやRubyではちゃんとModel1のクラス変数(またはクラスインスタンス変数)が参照できるんですよ。
おんなじようにPHPでもできるだろうと思ってたんですが、スマートにはいかなそうなので、なんか違う方法考えます。
0582nobodyさん
2007/10/30(火) 01:53:06ID:???0583nobodyさん
2007/10/30(火) 01:57:49ID:???0584nobodyさん
2007/10/30(火) 02:03:05ID:???PHPなんか使えなくても不自由ない
0585nobodyさん
2007/10/30(火) 02:16:02ID:???0587nobodyさん
2007/10/30(火) 02:47:58ID:???PHPのクラスメソッドから他のクラスメソッドを呼び出すには、クラス名を指定する必要があるから、うまく行きません。
>>581
普通の実装じゃないといいきる理由は?
>クラスメンバの原義を考えれば当然
これってJavaでのクラス変数のことをいってるのかもしれないけど、PythonでもRubyでもクラスインスタンス変数というのがあって、これを使うと「クラス変数なんだけどクラスごとに別の値を取れる変数」が使える。
これが使えるなら使った方が自然な設計ができますよ。
Model1::select() はインスタンスメソッドではなくクラスメソッドにすべきだから(だってインスタンスを取ってくるメソッドだからね)、select()が使う変数はクラスに対して設定する必要がある。
だからテーブル名はクラス変数(またはクラスインスタンス変数)で設定したい。
それ以外にいい方法があるなら教えてください。
>>584
他の言語でできてPHPでできないことがあったからって、なんでこんなこというかな。
ここってPHPの質問するところでしょ?PHPでできますかと聞いて、できないと答えた、ただそれだけでいいのになんでこんなひがみが出てくるの?
だれもPHPを非難してないでしょ?質問の意図を説明するために他の言語を例として出したまでなのに、すぐ被害妄想になるやつ大杉。できないならできないって答えて、そうですかで終わりじゃん。
0589nobodyさん
2007/10/30(火) 02:58:50ID:???コードが異常
もっと”まとも”なコード書いてください
0591nobodyさん
2007/10/30(火) 03:07:20ID:???これが蛇足ってやつだね
>できないならできないって答えて、そうですかで終わりじゃん。
で、しっかり自己矛盾してるし。当の本人が終わらせる気まるで無し
0592nobodyさん
2007/10/30(火) 03:14:56ID:???SQLite関数は2までしかサポートしていません。
SQLite3を利用したい場合はPDOクラスを使用してください。
0593nobodyさん
2007/10/30(火) 03:23:42ID:vbqY4O/sログの分け方なんですが、1ファイル1スレッドでわけるか、
1ファイル複数スレッドにいれるか悩んでます。
アクセスは1day/1〜1000程度に耐えられればいいと思ってます。
レンサバなどで、1スレッドごとにファイルを読み込むのは処理が重くなりますかね?
0594nobodyさん
2007/10/30(火) 03:37:10ID:???読み出しの負荷が気になるなら2chみたく書き込み時に静的ファイルを生成するのがええじゃろ
0595nobodyさん
2007/10/30(火) 03:49:48ID:???お前は朝起きたたびごとに鯖が落ちていたことあるんかいと
それも俺は寝てるのに、ロリ野郎が朝までお祭り投稿やってたような状況にな
最初は理想でいいんだよ
最適化なんて考えるな
重いもヘチマもアクセスだないと成立しないんだよ
0596nobodyさん
2007/10/30(火) 03:53:59ID:???それより初心者だと fopen('log1.dat', 'w'); flock(... とかやってファイル壊したりとか
XSS脆弱性のこしてたりしないように気を使ったほうがいいかも
0597nobodyさん
2007/10/30(火) 04:06:30ID:vbqY4O/sあと、大抵のレンサバはセーフモードで動いてますよね。
あれおをローカルでも実現したいのですが、safe_mode = onとするだけでいいのでしょうか?
0598nobodyさん
2007/10/30(火) 04:11:34ID:???何事も実験orドキュメント読む
それぐらい直ぐ解る事だろ
レンサバと設定あわせたいなら
レンサバでphpinfo実行してそれと同じ内容になるようにする
configreオプション出てると思うので同じ内容でインストールする
あとはてきとーに設定をあわせる
0599nobodyさん
2007/10/30(火) 04:31:22ID:???データベースでデータ操作しても、ファイルが壊れることはないよな。
それは、どうしてなのかと考えてみたが、
データーベースの場合は、OSの何か特殊なファイル(絶対に壊れないファイル)を
使っているから壊れないのでは、と思う。
しかし、スクリプト言語の場合はOSレベルまでの操作ができないから、
その絶対に壊れないファイルを操作することができず、
結果、スクリプト言語はファイルが壊れるんだろうな。
スクリプト言語ではなく、C言語やアセンブラ言語であれば、
このような操作が出来るはずだが、そうなると、もはやスクリプト言語の
存在意義は、開発の効率性の一点だけに求められるような気がする。
つまるところ、効率性が求められる現代において、スクリプト言語が重用される
理由がここにあることになる。
0600nobodyさん
2007/10/30(火) 04:44:29ID:???クラスメソッドはメモリの節約になるかもしれないが
実行速度は遅いのでインスタンスメソッドの方が
使用頻度によっては良いよ
つーかDBからテーブル情報とかを取ってくる所のクラスなら
別にインスタンスにしてもシングルトンにしときゃーメモリ節約できるんだし
態々ややこい事しなくてもと思ってしまう
>>599
DBはある程度メモリにプールしてたまに書き込みだから
スクリプトとかでがつがつ書き換えるよりかは
書き換え頻度が低いってのもあるんじゃないかな
ここら辺の構造はうろ覚えなので間違ってたらスマン
0601nobodyさん
2007/10/30(火) 05:06:15ID:???アクセスカウンタぐらになもんだろw
0602nobodyさん
2007/10/30(火) 05:11:34ID:???0603nobodyさん
2007/10/30(火) 06:45:32ID:???>セーフモードはオープンしようとするファイルの UIDの比較チェックを行います。
↑これはfopenで新規作成ができないってことですか?
0605nobodyさん
2007/10/30(火) 06:59:46ID:vbqY4O/sreadfileができなくなるのですね。ありがとうございました。
0606nobodyさん
2007/10/30(火) 07:01:24ID:???0608nobodyさん
2007/10/30(火) 08:28:54ID:vbqY4O/sサーバに負担がかかりますか?
ひとつのディレクトリに300〜2000ファイルとか作成しても耐えられますかね?
あと、レンサバはふつうファイル数の制限ってしてますか?
0609nobodyさん
2007/10/30(火) 08:35:42ID:???最大で2000ファイルくらいなら全然平気。
平均が2000で最大は万を超えるとか言ったら「分けれ」って言いたくなるけど。
0610nobodyさん
2007/10/30(火) 08:41:05ID:???余程アホなスクリプト書かん限り2000程度のファイルで負荷なんてかからん。
ファイル数の制限についてはレン鯖によって違うからなんとも言えん。
0611nobodyさん
2007/10/30(火) 08:45:30ID:???0613nobodyさん
2007/10/30(火) 10:57:31ID:vbqY4O/s0614nobodyさん
2007/10/30(火) 13:12:11ID:???これらはあれば便利で使うものなのに、さもその通りに行かないといけないと気がすまなくなってくる
それが実行速度的に悪影響を及ぼし、余計な回り道となっていることに気が付かずにw
そして原点回帰で動けばいいことに気が付いた時、今までの経験を元に綺麗なコードが書ける
プログラムなんてそんなもの
rubyの深さを知って生産性は飾りだと気づいたw
0615nobodyさん
2007/10/30(火) 13:16:35ID:???0616nobodyさん
2007/10/30(火) 13:45:18ID:???0617nobodyさん
2007/10/30(火) 14:32:42ID:???0621nobodyさん
2007/10/30(火) 15:01:59ID:vbqY4O/sそこで代替策として、$_SERVER['REQUEST_URI']でバラして使おうかと思っているのですが、
$_SERVER['REQUEST_URI']も使えないことってありますか?
0622nobodyさん
2007/10/30(火) 15:14:36ID:???0623619
2007/10/30(火) 15:31:01ID:???0624nobodyさん
2007/10/30(火) 15:55:46ID:???あるかと聞かれればある
こことか独自のHTTPD使ってる
http://monaneko.jog.buttobi.net/info.php
0626nobodyさん
2007/10/30(火) 16:04:26ID:vbqY4O/s0627nobodyさん
2007/10/30(火) 16:16:46ID:Rzoy8xmcこれをうまく使って、$this->barの$this->を書かなくするようにできそうだな。
メンバ変数を動的にnamespace内のグローバル変数にしてゴニョゴニョーって。できないかな。
0628nobodyさん
2007/10/30(火) 16:28:02ID:???0629nobodyさん
2007/10/30(火) 16:29:52ID:???0630nobodyさん
2007/10/30(火) 16:34:08ID:???0631nobodyさん
2007/10/30(火) 16:47:47ID:???PHPがいかに簡単すぎるかがわかったよ
0632nobodyさん
2007/10/30(火) 17:05:20ID:???$thisが面倒って話は分かるが、グローバルに扱えるようにするってのは
global宣言と同じ程度にバグの元になるような気がするよ。
あんまり好ましい方策ではないんじゃなかろうか。いくらPHPでもさ。
0633nobodyさん
2007/10/30(火) 17:18:08ID:???0634nobodyさん
2007/10/30(火) 17:30:12ID:???500行ぐらい。
0635nobodyさん
2007/10/30(火) 17:42:54ID:UpkPLboM設定による自動変換は推奨されていないし、
決めうちも必ずしも正確とはいえない。
スクリプト内の判定も、文字数や文字列によって誤判定がありそう。
正確にやろうと思ったら「毎回文字コード判定用のダミーパラメータを付加」
くらいしかないような気がしますが、
そんなことをしているという話も寡聞にして知りません
いったいどうするのがベストなんでしょう??
0636nobodyさん
2007/10/30(火) 17:50:37ID:???0637nobodyさん
2007/10/30(火) 19:14:36ID:???エンコード判定→変換の流れが、どうするのがいいのか分からないんですよねー
試しに文章を一文字区切りにして、一文字ずつ判定ルーチンにかけてみましたが
やはり誤判定する文字がありますね
0638nobodyさん
2007/10/30(火) 19:15:06ID:???0639nobodyさん
2007/10/30(火) 20:49:56ID:???DWはWebオーサリングツールであってフレームワークじゃない。
フレームワークっていうのは簡単にいうと、
MVCモデルを実現するための仕組みのようなもの。
必要なデータベースを作り、簡素なModel View Controllerを記述することにより、
あとはフレームワークが複雑な処理をやってくれる。
たとえばCakePHPのチュートリアルにあるとおり、
数行のコードでBlogが作れるようになっているわけだ。
当然FWで作ったアプリケーションはFW上でしか動作しないので、
サーバにインストールする必要があるが、
実体はPHPなので、PHPが使えるサーバならPHPのFWは使えるということになる。
0641nobodyさん
2007/10/30(火) 21:01:57ID:7j0uTXdo$ipaddr = '192.168.0.1';
$subnet = '24';
$??? = '192.168.0.1/24';
$???は何にしたらいいでしょうか?
別になんでもいいのですが他人が見るのでちゃんとした名前にしたいです。
0644nobodyさん
2007/10/30(火) 21:12:26ID:???0645nobodyさん
2007/10/30(火) 21:14:03ID:???>620 が言ってるのは FireWorks だと思うんだが…
(もっとも >620 の言う「DW が でてくるから」というのは どこだかわからんが)
0649nobodyさん
2007/10/30(火) 21:26:45ID:???0650nobodyさん
2007/10/30(火) 21:29:26ID:???ipaddr_cidrでいいだろ
何が不満なんだ
0651nobodyさん
2007/10/30(火) 21:32:36ID:???0652nobodyさん
2007/10/30(火) 21:38:22ID:???0653nobodyさん
2007/10/30(火) 21:49:27ID:???0655nobodyさん
2007/10/30(火) 22:03:53ID:???0656nobodyさん
2007/10/30(火) 22:15:39ID:???だってネットワークだシナ
0657nobodyさん
2007/10/30(火) 22:17:44ID:???クラス名・変数名に迷ったら書き込むスレ。Part11
http://pc11.2ch.net/test/read.cgi/tech/1191250784/
■ このスレッドは過去ログ倉庫に格納されています