【PHP】下らねぇ質問はここに書き込みやがれ 64
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/02/09(土) 14:51:11ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0757754
2008/02/20(水) 22:32:39ID:KIJWvRfX無いですか...
class_Cというクラスがあり、コマンドラインから
$ php ./class_C.php
と実行すると、
class_C内の特殊なメソッドが呼ばれるようなイメージです。
$ java ./classC
とやると、自動的にclassC内のstatic void mainが呼ばれるようなイメージです。
コマンド内からphpクラスのコードを実行する方法が思いつかないので。
0759nobodyさん
2008/02/20(水) 22:36:29ID:???public static function mainでも作って書いておけば?
無理にjavaのマネする必要なくね?
0760754
2008/02/20(水) 22:40:26ID:KIJWvRfXやっぱりないですか...
既に作ってあるクラスがありまして、
それをシェルから呼びたいのですが、
何かいい方法がないかと思いまして。
クラスを作り直すのはできれば避けたいのですが、やっぱりダメそうですね。
ありがとうございました。
0762nobodyさん
2008/02/20(水) 22:53:15ID:???0763754
2008/02/20(水) 23:02:54ID:KIJWvRfXイメージ的には、これをcronデーモンから実行させるイメージでした。
-----------------------------------------------------------
#!/bin/sh
/usr/local/bin/php /public_html/hogehoge/MainClass.class.php
exit
-----------------------------------------------------------
クラスではなくベタ書きならうまくいくのですが、
そのクラスは既にテスト済みで、そのファイルだけクラスじゃないのは、ちょっとと思いまして。
>>762
すみません、それはどういうような機構でしょうか?
宜しければ、その方法をアドバイスいただけないでしょうか?
0764nobodyさん
2008/02/20(水) 23:06:04ID:???だからそのMainClass.class.phpでどのように
そのクラスを実行する設計を?
定義して放置プレイ?
0765754
2008/02/20(水) 23:33:51ID:KIJWvRfXMainClass.class.phpは、実行するクラスではなくて、
実装される側のクラスのことです。
実行主体はcrondです。できれば、MainClass.class.php内部はいじらずにできればいいのですが、厳しいそうですね。
0766nobodyさん
2008/02/20(水) 23:40:54ID:???球技(言語)が変わったらその言語の基本くらいは勉強しろカス
ってことで>>8
0767nobodyさん
2008/02/20(水) 23:46:42ID:???しかし、今更zlibが必要になってしまったのですが、再インストールするしかないのでしょうか?
バージョンはPHP5.2.5です。
よろしくお願いします。
0768nobodyさん
2008/02/21(木) 00:11:51ID:vEZx6YzIphp -r 'require "MainClass.class.php"; MainClass::main();'
みたいにしたら駄目なん?
0769743
2008/02/21(木) 00:14:20ID:???>>750
ありがとうございます。ではその方法でやることにします。
>>751
ビット演算子ですか。あれは難解なので避けてます・・・
でも参考になります。ありがとう。
>>758
もちろんJavaで配列のようなことはコレクション使いますけどね。
ただどうしても今回必要だったので…
というわけで>>750さんのアドバイスどおりにしたいと思います。
0770nobodyさん
2008/02/21(木) 00:14:30ID:???たしかCLIの時だけ、というかCLiで実行した事を判定できる変数かなんかがあるから。
その時だけ実行するロジックを組めばいいんじゃね
それすらも変更できないんなら知らん
0775nobodyさん
2008/02/21(木) 00:48:42ID:???0776nobodyさん
2008/02/21(木) 01:24:48ID:rvNkXnTF配列は連想でも多重でもない単純な形のものだとしてお願いします
0777nobodyさん
2008/02/21(木) 01:26:46ID:???0778nobodyさん
2008/02/21(木) 01:28:56ID:???0779nobodyさん
2008/02/21(木) 01:32:24ID:???PHPにmain関数などない
メソッドからはみ出たとこがmain関数だと思え
クラス。メソッド以外のすべてがmain関数でもある
main関数の中でクラスやメソッドを定義してるのと同じだ
0780nobodyさん
2008/02/21(木) 01:37:10ID:???クラスなんて使うなや?非効率もいいもんだ
なんの為のスクリプト言語やと思ってんだ
0781nobodyさん
2008/02/21(木) 01:39:01ID:???なんでクラス使うん?
0782nobodyさん
2008/02/21(木) 01:51:42ID:???PHPでなんぼ稼いだんや?
0783nobodyさん
2008/02/21(木) 01:57:25ID:???0784nobodyさん
2008/02/21(木) 02:14:34ID:???0785nobodyさん
2008/02/21(木) 03:20:41ID:???Example#2 再帰的な count() の例 (PHP >= 4.2.0)
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// 再帰的なカウント
echo count($food, COUNT_RECURSIVE); // output 8
// 通常のカウント
echo count($food); // output 2
?>
何故6でないのか謎すぎる。
0786nobodyさん
2008/02/21(木) 03:55:02ID:uBvv/k1HXAMPPをインストール後に以下の手順でエラーがでてしまうのですが、何が原因なのでしょうか???
1. Terminal shellに行って、システム管理者ルートでログインします。
sudo su
2. XAMPPをスタートするには、このコマンドをコールしてください:
/Applications/xampp/xamppfiles/mampp start
ここで、このような感じのエラーメッセージがでていまいます。
(No such file or directory, errno = 2)
XAMPP: Error 133! Couln't start ProFTPD!
ちなみにこの段階でXAMPP Control Panelを起動しようとすると「このシステムとは互換性がないためアプリケーションを起動できません」とメッセージが出てしまいます。
OSはMacOSX.2.8で、インストールしたのがXAMPP Mac OS X 0.7.2です。とても困っていますのでどなたかよろしくおねがいします。
0787nobodyさん
2008/02/21(木) 08:03:59ID:???あっちで答えちまった・・・
0788nobodyさん
2008/02/21(木) 08:38:59ID:???おまいら頑張って技術磨いとけよ!!俺の金の成る木なんだからな
0789514
2008/02/21(木) 09:16:22ID:FrueJpz5ある程度理解できました。
次は何をすればいいんですかね?
0791nobodyさん
2008/02/21(木) 10:25:29ID:v3nyJWBc40%ほど処理したところで
Fatal error: Out of memory (allocated 2001731584) (tried to allocate 37 bytes) in C:\xampp\php\PEAR\PEAR.php on line 863
のようなエラーが出ます。
これは何か変数に格納していって、それが溜まっているのでしょうか?
0792nobodyさん
2008/02/21(木) 13:53:21ID:mkhVTZDngetdateの引数に同じものを入れると更に9時間進んだ時間が取得されてしまいます。
getdate関数は自動的に国別の時間のずれを計算してくれるということでしょうか?
0794nobodyさん
2008/02/21(木) 13:58:06ID:mkhVTZDnということはgetdateはサーバの設定を見て東京標準であればそれで計算して
gmdateの場合はサーバの設定関係なくグリニッジ時間で計算するということですか?
0795nobodyさん
2008/02/21(木) 14:04:19ID:???http://www.php.net/manual/ja/function.gmdate.php
っていうかマニュアル読もうよ。
俺はfirefoxの検索プラグインに公式マニュアルの関数検索入れてるよ。
opensearchfoxって拡張使うと簡単に出来る。
0796nobodyさん
2008/02/21(木) 14:10:34ID:mkhVTZDnスレ汚し失礼しました。
0798514
2008/02/21(木) 15:11:30ID:FrueJpz5配列と関数と制御は理解しました。
本持ってないので買うのがいいですか?
お勧めの本とかございましたら教えて頂けると幸いです
0800514
2008/02/21(木) 15:21:07ID:FrueJpz5そうですね。 自分で見て自分にあった物を買うのがいいですね。
失礼しました
0801nobodyさん
2008/02/21(木) 15:30:12ID:???0802nobodyさん
2008/02/21(木) 16:05:44ID:???本読むよりPHP 配布とかでぐぐって配布してるフリーのPHPのコード読んだほうがためになる。
最初はさっぱりわからんだろうが関数が実際どういう用途で使われるかもわかってくる。
0803nobodyさん
2008/02/21(木) 16:15:51ID:???これはやめたほうがいい。
公開されている多数の日曜プログラマコードは糞。
phps○otとかは害悪。
0804nobodyさん
2008/02/21(木) 16:33:42ID:???市販の入門本やオライリーにいたっても、PHPのソースはベタコードでgeekなものだし
お手本作法的なフォーマットが知りたいぜ
0805nobodyさん
2008/02/21(木) 16:37:00ID:???あと、ソースって言っても好き嫌い(書き方)もあるから一概に綺麗なソースとは言えないぞ
中国産のソースなんて何が入ってるもんかわからないし
0806nobodyさん
2008/02/21(木) 16:42:27ID:???量産してるうち、最近はもう、動きゃいいかになりつつある。
0807nobodyさん
2008/02/21(木) 16:44:06ID:???Eclipseで書いても結局プラグイン次第。
インデントされてればなんでも綺麗に見えるマジック。
実際は補完機能も本場Javaのものより劣ってるし、そこまで綺麗なものでもない。
結局は書き手次第だな。
0808nobodyさん
2008/02/21(木) 18:02:50ID:???最初は綺麗なソースを作ろうと頑張っていたけど、
仕事で汚い理不尽なやり方を教わって、
とりあえず売れればいいかという思考になりつつあるのか
0809806
2008/02/21(木) 18:15:20ID:???いや違うな。教わったというより、自分で知ったんだ。
綺麗に書きたいのは本音だが、変な事に頭を使う暇があったら、設計やテストに時間を割くべき、と。
客の求めてるものは綺麗なソースでは無い。所詮はプログラマのオナニーなのかな、とね。
0810nobodyさん
2008/02/21(木) 18:22:15ID:???そのソースを変更してシステムを作り変えたりしたなら、
少しはその恩恵にあずかってると思うがな。
あと共同のプロジェクトで使う場合なら他人は喜ぶ。
0811nobodyさん
2008/02/21(木) 18:27:55ID:???売上げさっぱりでプロマネが腐ってるからなー
「将来の効率化のための仕事」はサボってるに等しいんだとさ。
どうせ書き直す日には古臭いだけのコードになっているだろうとかなんとか。経験則だかなんだかしらんが、反論しにくいのよなー
ウチも先長くねえな。俺も含めて。
0812nobodyさん
2008/02/21(木) 18:28:39ID:???どうだろうね、SIの現場じゃソースコードの再利用なんてほとんどされないし、
「再利用してます」っていうのもせいぜいコピペ改変。
ソースコードを修正したときに影響範囲が狭いほうが「保守性が高い」ということに
なるだろうし、ベタなコードの方が良い場合も多いだろ。
0813nobodyさん
2008/02/21(木) 18:35:37ID:???一番の再利用はフレームワークを使うことに他ならないだろう。
まあたいていは自作じゃなくて、外部のフレームワークを
再利用することになるが。
0814806
2008/02/21(木) 18:35:53ID:???俺だってプロジェクトで仕事してるし、保守も多いから他人のソースはよく見るが、
クラス化しときゃ余程長いソースで無い限り、どう書いたって追ってけば分かる。
それとも、綺麗さってのはインデントとかそんなレベルの話?
0815nobodyさん
2008/02/21(木) 18:38:22ID:???使いまわしの自作関数は持ってるもんじゃない?
0816nobodyさん
2008/02/21(木) 18:43:25ID:???客のどんな要望にもすぐに耐えうる「シンプルで柔軟性のある設計」
テスト漏れで客に迷惑をかけない「テストがしやすい設計」
バグが客が迷惑をかけない「バグが発生しにくい設計」
綺麗っていうことは、客の為にあるんだよ。
0817nobodyさん
2008/02/21(木) 18:57:40ID:???0818nobodyさん
2008/02/21(木) 18:59:04ID:???経営者にしろ、営業にしろ、エンジニアにしろ信用できないのばっかり。
考える事をやめてる人間がよく言う。
0820nobodyさん
2008/02/21(木) 19:02:43ID:???0821nobodyさん
2008/02/21(木) 19:40:14ID:???0822514
2008/02/21(木) 20:11:14ID:FrueJpz5ありがとうございます。とにかくプログラム書きまくります。
>>802
はい。他の人のコードを読んでもっと勉強します。
>>803 あそこのコード糞なんですか・・ 分かりやすいと思ったんですが。
僕の知識不足ですかね・・
0823nobodyさん
2008/02/21(木) 20:15:16ID:jJmAtctQ最近、インターネットにおいてブログやホームページ製作の分野に興味があり
HTMLとCSSの技術をある程度身につけることができました。
ttp://blog.with2.net/
そんななかこちらのブログランキングとであったのですが
こういったランキングサイトはCGIかPHPで成り立っているのでしょうか?
自分もランキングサイトを製作してみたいのですが
どういった言語で成り立っているのかわからず、言語に関して無知の状態です
なにかアドバイスいただけると幸いです。
よろしくおねがいします
0824nobodyさん
2008/02/21(木) 20:20:53ID:???404見るとapache1.3.34でmodule表記ないな
0825nobodyさん
2008/02/21(木) 20:34:57ID:???バックグラウンドでjava/servlet使ってるかもしれないし。
意表をついて静的htmlかもしれないし。
0826nobodyさん
2008/02/21(木) 20:46:36ID:wtHgKY9Fらしいけど別にPHPでなくても作れるし、好きなの選べばいいと思う。
0828nobodyさん
2008/02/21(木) 21:03:34ID:jJmAtctQみなさん、ご回答ありがとうございます。
ランキングのin、outの仕組みをつくるには
PHPが基本となっていると判断してよろしいでしょうか?
PHPに関しては無知に等しいです。
これからPHPに学ぶことに対してオススメの学習方法
およびサイト等、ありましたらご教授いただけると幸いです
よろしくおねがいします。
0829nobodyさん
2008/02/21(木) 21:16:06ID:???とりあえずPHPとか関係なくプログラムのいろはを勉強しろ。
ゆとり丸出しの質問してるようじゃあ完成する前に挫折するぞ!
もう来るなよ
0830nobodyさん
2008/02/21(木) 21:22:41ID:???PHPに限らずWeb言語なら何使っても作れる。
長所と短所を調べて自分に合った言語を選べばおk。
その上でPHPを選ぶなら、まず公式マニュアルを一読すること。
次に、紙ベースが好みであれば書店で手ごろな入門書を1冊買って全て試してみる。
紙ベースにこだわらないなら、Web上の入門サイト、blog、技術系ニュースサイトの特集なんかを見てやれば十分身に付く。
基本を覚えたら、日記帳でも掲示板でも適当なシステムを自分で作ってみる。
ここまで順調にこなせたならば、またこのスレに来て次のステップを聞くとよろし。
ついでに言うと、件のサイトほどのデータ量を扱うシステムならDBも使ったほうが楽かと。
0831nobodyさん
2008/02/21(木) 22:01:50ID:???君は若い。もしかしたら将来プログラマになる可能性も秘めているかもしれない。
もし将来的に〜ってことを考えて、今Web関連技術を勉強しているのであれば、
WebアプリケーションはPHPではなくJava(Servlet/JSP)を用いたものを作れるといいだろう。
Javaは幅広い分野で応用もきくし、PHPのような曖昧言語ではないので、
初心者からやるにはぴったりの言語だ。
もしPHPからはじめてしまって、新たな言語をやる場合、
俺のように型シラネ(゚�听)、OOPシラネ(゚�听)となって苦労するぞよ。
0832nobodyさん
2008/02/21(木) 22:16:53ID:???0834nobodyさん
2008/02/21(木) 22:26:09ID:jJmAtctQ目的を明確にし、日常生活の中で合間を縫って学びたいと思います。
たくさんの意見を聞くことができて光栄です。
本当にありがとうございました。
0837nobodyさん
2008/02/22(金) 00:55:43ID:???PHPはWEBに特化した言語だから
WEB言語では王様みたいなもの
豊富なライブラリとフレームワークとドキュメント量からみてもNo1
0839nobodyさん
2008/02/22(金) 01:42:30ID:???THTTPDとかそういうのにノータッチだが大丈夫だろうか、俺。
0840nobodyさん
2008/02/22(金) 01:44:12ID:???NO1とかベストとか絶対的な物のわけない
まずはメジャーなphpとJavaどっちもやってみればいい
なんならperlもやってみればいい
0841nobodyさん
2008/02/22(金) 01:58:11ID:hL86toCQ携帯メールの改行コードってなんなのでしょうか?
\nとかじゃないんですか?
0842nobodyさん
2008/02/22(金) 02:03:56ID:???ほんとイチからやる人にお勧めできるようなサンプルコードって何があるだろねー。
お題はBBSとか、実際に設置して遊べるようなのが良いのかな。
フレームワークとかOOPとかいうのをいきなりそこをやるよりは
いくつかベタベタなものを経験してからのほうが
それが必要な意味がわかるって思うんだ。
0843nobodyさん
2008/02/22(金) 02:23:32ID:???アルゴリズムやってから、UMLを勉強しつつオブジェクト指向を学ばせて
フレームワークのソースでいいんじゃね?急がば回れってね。
クズコードみてもなんの勉強にならない。
ところでみんなは何でValidationしてる?
PearとかFW使わないで手書きとか?
0844nobodyさん
2008/02/22(金) 02:35:58ID:???0845nobodyさん
2008/02/22(金) 07:38:00ID:???0846nobodyさん
2008/02/22(金) 09:56:31ID:???今考えれば、面倒くさい作業だった
0847nobodyさん
2008/02/22(金) 09:57:46ID:???これも面倒くさい作業のひとつ
0848nobodyさん
2008/02/22(金) 10:43:28ID:FaBFLjCt長らく疑問なのですが、ニコニコ動画のアマゾンで
どれがどれだけ買われているとか
どのアカウントが買ったなんて、どうやって集計しているのでしょうか?
アマゾンのリンクはAタグ直行なので、ニコニコの手を離れていますよね?
0849nobodyさん
2008/02/22(金) 11:23:42ID:???0850nobodyさん
2008/02/22(金) 12:33:14ID:UcDd6kU9を,で区切って配列に取り込もうとしてるのですが
define("DELIMITER", ",");
$count = 0;
$token = strtok($str, DELIMITER);
while ($token) {
$data[$count] = $token;
$token = strtok(DELIMITER);
$count++;
}
↑のようにしても、$dataの各々にデータが入らず困っております
なにかよい解決手段はありませんでしょうか
0851nobodyさん
2008/02/22(金) 12:35:49ID:???0852nobodyさん
2008/02/22(金) 12:36:02ID:???0854852
2008/02/22(金) 12:37:53ID:???0855nobodyさん
2008/02/22(金) 12:39:10ID:euN/fpJD> $str ="3,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,";
> を,で区切って配列に取り込もうとしてるのですが
>
>
> define("DELIMITER", ",");
> $count = 0;
> $token = strtok($str, DELIMITER);
> while ($token) {
> $data[$count] = $token;
> $token = strtok(DELIMITER);
> $count++;
> }
>
> ↑のようにしても、$dataの各々にデータが入らず困っております
> なにかよい解決手段はありませんでしょうか
■ このスレッドは過去ログ倉庫に格納されています