【PHP】下らねぇ質問はID出して書き込みやがれ 85
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/06/15(月) 22:53:52ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん
2009/06/15(月) 22:55:33ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
【PHP】下らねぇ質問はID出して書き込みやがれ 79
http://pc11.2ch.net/test/read.cgi/php/1231850905/
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
0003nobodyさん
2009/06/15(月) 22:56:19ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
■Smartyマニュアル http://www.smarty.net/manual/ja/
(以下英語)
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smarty http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2009/06/15(月) 22:57:02ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2009/06/15(月) 22:58:07ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006nobodyさん
2009/06/15(月) 22:58:53ID:???【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
http://pc11.2ch.net/test/read.cgi/php/1233590976/
0007nobodyさん
2009/06/15(月) 23:09:45ID:???スパム行為目的と判断できる質問には原則答えませんと追記願う
0008nobodyさん
2009/06/16(火) 12:51:21ID:???なんですが、&= ってなんですか?
0009nobodyさん
2009/06/16(火) 12:58:18ID:???0010nobodyさん
2009/06/16(火) 13:01:03ID:???0011nobodyさん
2009/06/16(火) 13:24:09ID:???0014nobodyさん
2009/06/16(火) 16:20:36ID:???モダン PHP みたいのはありませんか。
認証や日本語処理、
セキュリティ対策はこうしとけ、みたいな。
0015nobodyさん
2009/06/16(火) 19:08:31ID:???何て手抜きをすると大嘘記事を真に受けたりするので素直にマニュアルを
隅から隅まで読んでみる
0016nobodyさん
2009/06/16(火) 19:14:46ID:37ReaO1gコマンドがされたときにだけ実行するようにしたいです。
どういった方法が普通なのでしょうか?
・apache関係でローカル以外からアクセスのときはエラー
・実行したいphpに簡単なパスワードフォームをつけて、コマンドラインで認証通す
・phpのファイル名を予想付かないような長い名前にしたり、そういった名のフォルダに入れる
これらを全部組み合わせてもいいのですが、
特に二番目の認証のあるものだと、コマンドで実行したい以外にも利用できてうれしいのですが
例えばpostメソッドでパスワードフォームを作っているとき、○○.phpに接続はできても
exec(コマンドライン)だけで、postができるのかよくわかりません。
なのでapacheで接続されないようにするのと、ファイル名も個性的名ものにしようと思うのですが
もっと賢い方法はありますでしょうか
よろしくお願いします。
0017nobodyさん
2009/06/16(火) 19:16:32ID:37ReaO1gwindowsのコマンドだけでもよろしくお願いいたします
0019nobodyさん
2009/06/16(火) 19:53:15ID:???要するに、実行中のphpからさらに別のphpを実行したいんだろ?
違うなら日本語でおkとしか言えない
0020nobodyさん
2009/06/16(火) 19:55:46ID:q26JNoUY勘違いかな??
サンプルつくってみたところ、-1も0も返さないんだけど以前-1が返ってきた気がするので
念のため聞きました。下質ですがひとことアドバイスお願いします
0021nobodyさん
2009/06/16(火) 21:25:50ID:37ReaO1gすいません、じぶんで見直してもわかりにくかったです
実行と適当に言ってしまいました。
>要するに、実行中のphpからさらに別のphpを実行したいんだろ
そんなかんじです。phpを実行して、このphpの中の処理にも手を加えたいという感じです。
test.php
<?php
echo <form method='post' action='text.php'〜〜
.<input type='text' 〜〜〜
.<input type='submit'〜〜</form>的な入力フォームがある
入力フォームからpostされた値が正しければ、
以降処理をする。値が間違っていればここで処理終わり、以降何もできない。
?>
これを普通にブラウザで表示すれば、textに入力してsubmitおして、という流れ
なのですが、これをexecで外部ファイルとして開くときに、formの処理もしてみたいのです。
別のツールを組み合わせればpostを飛ばせるのもわかったのですが、
レンタル鯖などでも汎用性の高い方法でできるのならやってみたいということです。
できなければform無しphpを別に作ろうかなと思います
002421
2009/06/17(水) 10:01:40ID:???ありがとうございます
さっそくやってみて、postさせることができました。
require_once 'HTTP/Request.php';
$req = new HTTP_Request( "URL" , array( "timeout"=>2 ) );
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addPostData( "key" , "pass1" );
$req->addPostData( "key2" , "pass2" );
$req->sendRequest();
という風にしてみたのですが、sendRequestだと、
ttp://sandman.s6.xrea.com/nucleus/index.php?itemid=48
にも書いてあるように、送った先の処理が終わるまで、こちらは待っていなければならないみたいなのです。
sendだけするようなものはないのでしょうか・・
もしくはsendして数秒たってから、Requestをまたずに中断して先に進めるようにしたいのですが・・
もう少し勉強してみますありがとうございました。
002721
2009/06/17(水) 10:12:24ID:???さきしらべていたら、timeoutのところをreadtimeoutでできました・・
ありがとうございました。
0029nobodyさん
2009/06/17(水) 11:22:30ID:PMErRJxcクラスを使わない場合で
function hoge()
{
$name = $_POST[ "form_name" ];
}
function mail()
{
$_hogehoge = mb_substr( $name ..............
}
ユーザー関数間で、変数を取り扱うにはどうしたらいいのでしょうか?
globalはユーザー関数の外で有効ですよね?
$_POSTを使い回せば良いとは思いますが
任意の変数名に入れて持ちまわすことは出来ないのでしょうか?
0031nobodyさん
2009/06/17(水) 11:38:46ID:???function hoge(){
$name = $_POST[ "form_name" ];
return $name
}
function mail($name){
$_hogehoge = mb_substr( $name.....
}
//main
$name = hoge();
mail($name);
0032nobodyさん
2009/06/17(水) 14:09:24ID:QWeUGdqP何処をどうしたらいいでしょうか?
http://idol.nm.land.to/
よろしくお願いします<m(__)m>
0033nobodyさん
2009/06/17(水) 14:31:01ID:???「PHP」を「勉強」したらよいです
自分でやってどうしても出来ない分からないところだけここで人に聞きなさい
「読めないからかわりに読んで」なんてのは論外です
0035nobodyさん
2009/06/17(水) 15:05:37ID:???そうやって空気悪くなって過疎って行ったスレだらけじゃねーか。
答えたい奴だけが答える、答えたくない奴はスルー、それが出来ない奴はこのスレに2度と書き込むな。
0036nobodyさん
2009/06/17(水) 15:09:27ID:???とりあえず
ttp://www.google.com/search?hl=ja&num=50&q=php+%E3%82%AF%E3%83%83%E3%82%AD%E3%83%BC+%E5%85%A5%E9%96%80&lr=
でも読んで疑問があれば再度。
0037nobodyさん
2009/06/17(水) 15:14:52ID:???あん?なめてんのクズが。
下に改造用スレがあるだろうが。
「何処をどうしたらいいでしょう」とかキチガイみたいな事言う前に下で聞いてこい。
http://pc11.2ch.net/test/read.cgi/php/1222645553/
0038nobodyさん
2009/06/17(水) 15:22:44ID:???003932
2009/06/17(水) 16:01:36ID:???とりけします
0040nobodyさん
2009/06/17(水) 16:31:40ID:???0041nobodyさん
2009/06/17(水) 17:24:45ID:tSVJeFRVhttp://hogehoge.jp/hoge/以下のhtmlを全てPHPとして認識させるには
Apacheの設定ファイルをどのように変更すればよいのでしょうか?
当方RHE3 PHP4です
0042nobodyさん
2009/06/17(水) 17:26:40ID:???0043nobodyさん
2009/06/17(水) 18:06:12ID:???マニュアルにご丁寧に書いてあるぞ。
http://www.php.net/manual/ja/security.hiding.php
0044nobodyさん
2009/06/17(水) 22:42:05ID:7VboH98imysql5で
mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | eucjpms |
| character_set_connection | eucjpms |
| character_set_database | eucjpms |
| character_set_filesystem | binary |
| character_set_results | eucjpms |
| character_set_server | eucjpms |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
でちゃんとEUCになっていると思うんだけど
phpから
mysql_client_encoding()
ってしたらlatin1ってかえってくるの・・・
my.cnfにもいたるところにeucjpmsってかいたのに。
もう3日も悩んでいるので、助けてほしい・・・
0045nobodyさん
2009/06/17(水) 23:47:45ID:???stackoverflowで質問しましよう
http://stackoverflow.com/
0046nobodyさん
2009/06/17(水) 23:53:49ID:???MySql良く知らんが、
>character_set_system | utf8
のままだよ。
また、
http://jp.php.net/manual/ja/function.mysql-client-encoding.php
のコメント欄に、
> if you think "set names utf8" for each connection is too
> trouble, you can modify my.cnf of MySQL to solve the problem
> forever. In my.cnf, add the line "default-character-set=utf8"
> in both [mysqld] and [client] sections:
>
> [client]
> default-character-set=utf8
> [mysqld]
> default-character-set=utf8
> The MySQL will use utf8 after you restart it.
って、書かれてるけど試してみた?
0048nobodyさん
2009/06/18(木) 07:31:46ID:???だろうね。
三点リーダーの使い所もおかしいし。
高校でレポートとか小論文ぐらい書かされなかったのかな。
学校で習わなくてもビジネス文書の書き方は入社時に叩き込まれるはずなんだが。
004944
2009/06/18(木) 08:29:04ID:+GbpfhSzありがとう
utf-8にしてもダメだったんだ
>>47
[mysqld]には
default-character-set = eucjpms
skip-character-set-client-handshake
init-connect=SET NAMES eucjpms
って入れてるんだけどなぁ。
mysql_client_encoding()がなんでlatin1になるんだろう
0050nobodyさん
2009/06/18(木) 09:36:37ID:???それかPHP内でmysql_set_charsetを使用するか
でも実際には今の設定で文字コードがらみは問題ないと思うけど、文字化けとかするの?
005144
2009/06/18(木) 11:43:41ID:+GbpfhSzおっしゃる通りphp内でコネクトするたびに
mysql_set_charset("eucjpms");
ってすると化けません。
しないと???となって化けてしまうんです。
化けるってことは何か設定がおかしいのかな?と思いまして
0052nobodyさん
2009/06/18(木) 11:48:46ID:???show variablesはシステムの設定ってだけ。
文字コードはテーブル毎や、カラム毎に設定できるので
そっちがlatinになってるだけだと思う。
SHOW CHARACTER SET
とかでググるとよいと思う。
005344
2009/06/18(木) 12:30:55ID:+GbpfhSz結局
ALTER TABLE hoge.hogehoge DEFAULT CHARACTER SET eucjpms;
ってすると化けなくなりました。
…ということはこれは、すべてのテーブルに対してしなきゃいけないってことですね。
そもそも、my.cnfでEUCで指定してたから大丈夫だと思ってたんですけど、
実は、そうではなかったということでしょうか。
0054nobodyさん
2009/06/18(木) 12:39:13ID:???0055nobodyさん
2009/06/18(木) 13:37:45ID:gqLHvinHダメだったんすよ
しかもmy.cnfに指定してるから大丈夫だとタカを
くくってしまってました。
0056nobodyさん
2009/06/18(木) 13:54:30ID:???ここ読んで出来ないなら知らん
mySQLのバージョンが上がって文字化けしやすくなった件
http://heeha.ws/index.php?DB%B4%D8%B7%B8#cebc24b2
0057nobodyさん
2009/06/18(木) 13:55:50ID:???005844
2009/06/18(木) 20:38:57ID:+GbpfhSzおかげで解決できました。
0059nobodyさん
2009/06/19(金) 01:53:03ID:h2rW+CLw<?php
function fc1(){}
function fc2(){}
function fc3(){}
?>
て感じで
そういう例をマニュアル本で見たことないので、何となくClassの体裁をとって外部化したものの
クラスにする理由がない代物を作ってしまったことがあります
あと、クラスと関数の違いって値を保持できるかどうかってだけなんでしょうか?
あるサイトを見るとそう書いてあったんですがそれだけじゃ今イチありがたみがないというか。。
0060nobodyさん
2009/06/19(金) 02:04:02ID:???0061nobodyさん
2009/06/19(金) 02:15:36ID:???何となく格好良く見えるのがオブジェクト指向プログラミング
006259
2009/06/19(金) 03:01:01ID:h2rW+CLwありがとうございます
難しいなあ、クラスの使い方ですが
例えば同じDBから同じユーザとパスワードで、複数のテーブル固有の情報を引き出すのに、
DB設定に必須の部分(ユーザ名とパスワードなど)をメンバ変数としてもたせて、
「個別の情報を引き出す処理」をそれぞれ専用のメソッドとして動かせば良いんでしょうか?
Class GetData{
var $db = ****;
var $userName = ****;
var $password = ****;
function __construct(){
//DBに接続処理
}
function getInfo1(){
//個別の情報1を取得する
}
function getInfo2(){
//個別の情報2を取得する
}
}
こんな感じでしょうか。
こんな例だと重複する処理を省けるくらいしか単独のfunction関数と比べたメリットない気が…
やり込んだらわかるんですかねー
0063nobodyさん
2009/06/19(金) 03:03:05ID:???006459
2009/06/19(金) 03:14:48ID:h2rW+CLw本読むだけでも読んでみようかなぁ
0065nobodyさん
2009/06/19(金) 05:07:42ID:???情報の抜き出しに時間がかかっています。
for () {
array_mapで会員IDのみにしてarray_searchやin_arrayなども試してみましたが相変わらずで訳あってDBも使えないので困っています。
何か良い方法は無いものでしょうか?
0066nobodyさん
2009/06/19(金) 05:15:41ID:1u+RZNQNコードは以下の通りです。
$mfile = file("id.dat");
$count = count($mfile);
for($i=0;$i<$count;$i++)
{
if($id == substr($mfile[$i], 0, 10)){
$data = $mfile[$i];
break;
}
}
0067nobodyさん
2009/06/19(金) 05:53:20ID:???$fp = fopen("id.dat", "r");
while (!feof($fp))
{
$line = fgets($fp, 1024);
if (strstr($line, $id) === 0) {
break;
}
}
fclose($fp);
echo $line;
早くなるかしらないけど。
0068nobodyさん
2009/06/19(金) 09:28:05ID:???>haystack の中で needle が最初に現れる場所から文字列の終わりまでを返します。
しかも
>注意: もし特定の haystack に needle があるかどうかを調べるだけの場合、 より高速でメモリ消費も少ない strpos() を代わりに使用してください。
0069nobodyさん
2009/06/19(金) 09:35:21ID:jp3LKqpN【PHPのバージョン】php4
【連携ソフトウェア】oracle
【質問内容】
http://www.spencernetwork.org/memo/tips-5.php
を参考にボタンを押してダウンロードする処理を作成しました。
ダウンロードは行えるのですが、その後に何か処理をしようとすると
HTMLがくずれて?ソースだけが表示されるようになります。
表示されたソースは 処理前のHTM L+ 処理後のHTML になって
いるようです。
おそらく最上記の処理内でHTTPヘッダをいじくってるので
その関連だとは思うのですがどうもうまく行きません。
回避策をご教授願えますでしょうか?
0070nobodyさん
2009/06/19(金) 09:58:52ID:???ファイルに/etc/passwdとか指定される恐れあるから結局指定されたファイルのチェックを自前で書く必要がるし
007169
2009/06/19(金) 10:46:30ID:jp3LKqpNそうですか・・。
全く素人なのでどういったものが参考になるか分からないです。
なにかよい方法はありますか?
0073nobodyさん
2009/06/19(金) 13:21:28ID:???このfunctionに渡すファイル名をどう扱うは考えないといけないけど。
このfunction自体は問題ないだろ?
007469
2009/06/19(金) 17:45:11ID:jp3LKqpN0075nobodyさん
2009/06/19(金) 17:47:14ID:???0076nobodyさん
2009/06/19(金) 17:57:33ID:dM+wXKpC「自動転送設定がループしている」
のようなメッセージが出るのですが、これは何が原因なのでしょうか?
一度前の画面に戻って再度リクエストすれば元に戻っていたりもします。
0079nobodyさん
2009/06/19(金) 23:07:52ID:???>こんな例だと重複する処理を省けるくらいしか単独のfunction関数と比べたメリットない気が…
そのクラスを使う人が、「$dbとか$userNameっていうのを意識しなくてもいい」
っていうのはどうだろう。
var → private
にするとどうなるか、って考えてみるとか。
。。。一回作って終わりっていうんなら、あんまりメリットは感じないかもね。
そのクラスを使いまわしたりするようになるとなんとなく納得するかもしれない。
0080nobodyさん
2009/06/20(土) 01:07:56ID:???文字通りの意味。header()とかで何度も同じページにリダイレクトするとそうなる。
FirefoxにLiveHttpHeader拡張でも入れてアレコレ試してみたら?
0081nobodyさん
2009/06/20(土) 06:50:03ID:???クラスとかオブジェクト指向ってのはいわゆる整理整頓みたいな事だし
感覚としてはそんな感じじゃないかな
一言で言うとメンテのしやすさかね。
ステップ数が膨大になってきても
$user->getInfo();
$article->getInfo();
みたいにシンプルな命名ができるし
$a = new Hoge();
$a = new Hage();
と違う2つのクラスがあっても呼び出すところでは
$a->getInfo();
と、重複する処理をfunctionにまとめたように、インスタンス化すれば
呼び出す所の処理の重複もまとめられるわけ。いわゆるポリモーフィズム
あとは、>>79 の言う private とかでクラス外に存在を隠せるということ。
privateなメンバーはクラス内だけのグローバル変数的な扱いもできるし
クラス内からしか呼ばれないという保証があるので
変更が加わる際でも調査する手間がかかりにくい。
実装を隠蔽することで責任の所在も明確になるからバグがあっても
原因を特定しやすい。
デメリットはクラス数が増えてIDEがないとしんどいとかかな。
と、うちの一年生に説明する練習。
0082nobodyさん
2009/06/20(土) 06:53:16ID:???0084nobodyさん
2009/06/20(土) 07:18:38ID:???0085nobodyさん
2009/06/20(土) 08:10:10ID:???この状況の中、政府自民党は外交的になすすべなく、
しかも、景気を冷ます増税路線を打ち出しています。
かたや、民主党は、北朝鮮を増長させるだけの「友愛外交」を主張し、
経済に関しても将来の増税が避けられないバラマキ政策を打ち出しています。
0086nobodyさん
2009/06/20(土) 15:02:26ID:9LLAIagyデータベースの中を空にしたいです。
やはり検索してからphpで文を組み合わせてdrop table テーブル1,テーブル2,・・
という具合にしなければいけないですかね。おねがいします
0087nobodyさん
2009/06/20(土) 15:05:15ID:???0088nobodyさん
2009/06/20(土) 16:10:09ID:9LLAIagyすいません書き忘れてしまいました
レンタル鯖でdrop databaseが禁止されていてその方法が使えなかったんです・・
create databaseもむりでした。drop tableだけはいけました
0089nobodyさん
2009/06/20(土) 16:36:46ID:???show tables
してそれぞれdropすればいいじゃん
0090nobodyさん
2009/06/20(土) 16:56:06ID:9LLAIagyそれでいけそうです
やってみます
ありがとうござました
0091nobodyさん
2009/06/20(土) 20:07:20ID:???今Linux上でphp5.2.5をインストールして下記のように記述してます。
$rssurl = "http://dailynews.yahoo.co.jp/fc/rss.xml";
$rssdata = simplexml_load_file($rssurl);
print convert($rssdata->channel->title);
でも、simplexml_load_fileの部分で
Fatal error: Call to undefined function simplexml_load_file()がでます。
PHP5だとsimplexml_load_file()が使えるはずなんですけど
なんで呼べないのかわからない状態です。
知ってる人いませんか?
0092nobodyさん
2009/06/20(土) 20:30:53ID:???0093nobodyさん
2009/06/21(日) 19:30:41ID:eYkB7H28phpの関数名や引数に「&」を付けているのを見かけたのですが、
これはどのような意味なのでしょうか?
function &fetch( ObjectFetcher &$objects);
ご教授下さいm(__)m
0094nobodyさん
2009/06/21(日) 19:36:37ID:???0095nobodyさん
2009/06/21(日) 21:59:34ID:???0096nobodyさん
2009/06/22(月) 16:45:51ID:HPmTjla5【PHPのバージョン】php5.26
【質問内容】
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20080508/301027/
にあるコードを使って
同じ内容のメールを返させるのとファイルに保存するようなのを書き足したPHPファイルをつくったんですけど
メールが返ってくるところまではうまくいったんですけど(内容もちゃんと)
ファイルに保存がうまくいきません
mail($mail_address,,$diary_subject,$diary_body);
write("dat/test.dat",array($diary_subject,$diary_body));
------------------------------------------------
function write($filename, $input)
{
$input=serialize($input);
$fp=fopen($filename,"w");
flock($fp, LOCK_EX);
fputs($fp, $input);
flock($fp, LOCK_UN);
fclose($fp);
}
ちゃんとdatはchmod 733してあります。
何が原因になりそうでしょうか?
0097nobodyさん
2009/06/22(月) 16:50:18ID:???0098nobodyさん
2009/06/22(月) 16:57:00ID:HPmTjla5でけたw アリガト♪
けど、なぜフルパスなのかがわからん(´ェ`)
0099nobodyさん
2009/06/22(月) 17:29:11ID:???0100nobodyさん
2009/06/22(月) 17:41:01ID:???0101nobodyさん
2009/06/22(月) 17:59:36ID:???010297
2009/06/22(月) 18:17:23ID:???そのユーザのホームディレクトリから見てdat/test.datに書き出す処理をしている
■ このスレッドは過去ログ倉庫に格納されています