元スレPHPで作られた有名サイトってあるの?
php覧 / PC版 /みんなの評価 : △
101 = :
>>36
> え?インクルードパスをエレガントに指定する方法ができたの?
> require_onceのところで毎回グダグダひっつけるのではなくて。
> クラスは階層構造をサポートしてないだろ。階層が深くなるとワケワカメに
> なるからファイル名で階層を表すってアホなことをしなきゃならんし、
> ファイル名とクラス名も実際には一致するとは限らないよな?
> でもってグローバルスコープが放ったらかしだろ。
お前のダメさが伝わってくる文章だなw
そんなの工夫次第でどうにでもなる。
たとえば階層構造の話なら、
_(アンダーバー)で区切ろうが::(コロン)で区切ろうが
記号が変わるだけのことでしかない。
言語を使うのではなく、言語に使われてる。そんな感じだな。
102 = :
require_onceに関して言えば、
完全に初歩の知識不足。
綺麗な書き方と汚い書き方がわかってるのであれば、
汚い書き方をしなければいいだけ。
きっと、コピペばっかりで、どこかに書かれたやり方しか知らず、
きれいにする方法がわからんのだろうけどなw
言語に文句を言う前に、自分の未熟さを知ろうね。
103 = :
> そんなの工夫次第でどうにでもなる。
工夫しなきゃダメなのがダメ言語だって言ってるのにPHP脳ってすごい。
> _(アンダーバー)で区切ろうが::(コロン)で区切ろうが
うわ……。PHPしか書けないとこうなるのか
どうでもいいけどApacheの改造本程度なら探せばあるっしょ
104 = :
>>54
> あとお前知らないだろうから歴史を言っておくと、PHPの初期バージョンは
> Perlで実装されたのテンプレートエンジンだよ。テンプレートエンジンが
> テンプレートエンジンを持つっていう矛盾を今だに解決できてない可哀想
それは大した話じゃない。ソフトウェア業界では一般的に起きてる現象。
ようするに、ある言語、ライブラリ、仕様などができて、
それが高機能になって複雑になって重くなった時、
いつだって、それらのシンプルバージョンができるじゃないか。
で、シンプルだったはずのそれが、また
高機能になって複雑になって重くなって
また、そのシンプルバージョンが出来る。
心あたりがあるはずだぞ。たとえばjQueryとか。
PHPもそれと同じで、Perlのテンプレートエンジンだったものが
どんどん高機能化していって言語になってしまったから、
そのシンプルバージョンであるテンプレートエンジンができた。
それだけのこと。
105 = :
>>103
ダメ言語かのの話はしていない。
もとのレスを読め。
PHPのコードを読んで汚いと思っている人が、
PHPのコードを書いたら、同じように汚くなってしまうのなら、
PHPのせい。
そうでないのならPHPのせいではない。
106 = :
PHPは機能は劣るが、別に汚くはならない。
少なくとも俺がやればだが。
だろ?
もっとも今のPHPは、オブジェクト指向ライブラリも
フレームワークも充実し、言語仕様も
クラスのスコープ(privateなど)やinterfaceもあるし、
クロージャーやトレイトもあるし、
これだけあって、汚いコードを書くとしたら
よっぽど素人だよ。
まさに言語が使えていない。
107 = :
>>106
パッケージはありますか?
108 = :
欠点が色々出てるのに「工夫すれば大丈夫」だけだろ。
ダメ言語じゃん。
109 = :
>>105
magentoのコードは綺麗な部類に入ると思うし、俺が頑張って書いても
あのレベルだと思うけど、
汚い。
111 = :
>>110
初心者が寄ってたかって作るからPHPが選ばれるんだよ。
それが長所なのは上に出てる。プロダクトが多いのと言語が糞かどうかは別。
・PHPの例
階層
lib/App/Frontend/Customer/Login.php
「なくさない」クラス名
App_Frontend_Customer_Login
コード
require_once(__FILE__) . 'lib/App/Frontend/Customer/Login.php';
$obj = new App_Frontend_Customer_Login;
・Perlの例
階層
lib/App/Frontend/Customer/Login.pm
強制されるクラス名
App::Frontend::Customer::Login
コード
use App::Frontend::Customer::Login;
my $obj = new App::Frontend::Customer::Login;
クラス名に階層いれないとクラス宣言の所在が分からなくなる糞仕様は治ったのか?
112 = :
>>108
世の中に欠点がない言語なんて無いし、
欠点があるからと言って、
それで書いて汚いコードになるわけがない。
汚いコードの原因が言語にあることはない。
114 = :
>>112
PHPも書けるから言うけど欠点が多すぎる。
バグがあっても、開発チームにレポート出しても蹴られるんだよな。
蹴り方がマイクロソフト並だからな。「こーでこうだから正しい。仕様」みたいな。
言語の開発陣がああだから糞が糞のままなのも仕方ない。
115 = :
>>113
ビルトイン関数汚いよなあ。ほとんどがクラスとかにせずに全部グローバルに
放り込んでるからアンスコで区切って関数名が長い長い。
補完機能使わないとうっとおしくて書くのが嫌になるレベル。
PHP擁護側の話聞いてると、単に他の言語知らないだけってのが良く分かる。
116 :
これからプログラミングに顔を突っ込む中高生がWeb開発するならどの言語オススメ?
117 = :
>>111
いやそれは流石にautoload使おうよw
118 = :
>>116
HTML5関連APIを含めたJavaScript
119 = :
>>117
autoloadはインクルードパスからしか読まないだろ?
で、PHPはインクルードパスの指定が糞だろ?
.htaccessは実行ファイルの場所によって相対パスが変わるからフルパス
書かなきゃだしApacheの設定によるから可搬性がないし、
コード中で可搬性を持たせようとすると、
set_include_path(get_include_path() . ':' . dirname(__FILE__) . '/lib/');
こんな感じか?なにこれ汚い。
そもそもautoloadの実装自体が汚い。階層構造のクラス読む時にやっぱり
おかしな事になる。
121 = :
>>120
サーバーサイドはPHPや以外なら何でもいいんじゃない?Javaとかかな。
入門向けって意味ではRubyもいいかもね。
PHPを入り口にするとここでPHP擁護してるおじさん達みたいにPHPしか
書けない土方プログラマになるから注意ね。
あと今後どんどんクライアントに処理が移っていくし、Node.jsなんかも出て
きてるので、サーバーサイドでやっていくにしても当面JavaScriptは必須、
今後を見据えてHTML5も勉強した方がいい。
JavaScriptも糞言語だけど選択肢が少ないからそこは我慢するしかない。
122 = 110 :
>>121
どうも
やっぱPHPは避けてJavaか・・・
でもいきなりjavaは無謀なのでさきjavascript極めます
(HTML5関係もFile APIとかcanvas要素にスクリプトからお絵かきできたりとかおもしろそう)
(ちらっと試しに触っただけだとphpがすごそうだけど楽しちゃだめなのか・・・)
123 = :
>>122
プロになりたいのならそのとおり。逆にプロ目指さないとか、別に動けばいい
から深い所は追求したくないってんならPHPはお勧めかもね。
楽をすること自体は悪いことじゃないよ。
JavaはCLIなら初心者でもすぐ書ける。オブジェクト指向は大事だけど、
JavaScriptだとちょっと物足りないからJavaもついでに勉強するといいん
じゃないかな。
124 = :
>>119
> set_include_path(get_include_path() . ':' . dirname(__FILE__) . '/lib/');
あぁ、やっぱりお前は落ちこぼれだ。
おまえ、そのコードが面倒だと思っているのに
毎回毎回、同じコードを書いているんだろ?
お前自身が問題を解決しようと思ってないのさ。
125 = :
>>115
> ビルトイン関数汚いよなあ。ほとんどがクラスとかにせずに全部グローバルに
> 放り込んでるからアンスコで区切って関数名が長い長い。
> PHP擁護側の話聞いてると、単に他の言語知らないだけってのが良く分かる。
お前は、クラスもネームスペースもないもない
C言語を知っているか?
汚い理由を言語のせいにしちゃいかんよ。
126 = :
>>124
じゃ、綺麗な解決法書いて見ろよ。ビルトインでな。
>>125
> お前は、クラスもネームスペースもないもない
日本語でおk.
Cは非オブジェクトな割にはネームスペースはマシな部類。
PHP5はオブジェクト指向謳ってるけどネームスペースとかメチャクチャだからな。
パスがあるのにクラス名にパス指定しなきゃならん時点で破綻してる。
127 = :
>>125
Cの方がPHPよりもだいぶまとも
128 = :
> パスがあるのにクラス名にパス指定しなきゃならん時点で破綻してる。
Perlも同じだよね?
129 = :
Java厨?
はっきり言って、クラス名=パスのほうが
使いにくいんだけど。
130 = :
>>126
> じゃ、綺麗な解決法書いて見ろよ。ビルトインでな。
ほら、ビルトインしか使わないというお前の判断が、
お前が書いたコードは汚い に
つながるんだよ。
お前の目的は何? 汚いコードを書くこと?
131 = :
PHPはぽんこつ言語だよwww
132 = :
>>121
人に説教垂れる前に早くHTML5学習しろ。
133 = :
>>124
言語の機能して提供されていない方が問題。
134 = :
>>120
サーバーサイドで使われている言語で上から順にやっていけばOK
http://news.mynavi.jp/news/2012/05/11/017/index.html
137 = :
>>128
PHPはファイル名にもパスを含めるのが慣例じゃん。そのことでしょ。
PHPファンタジー恐るべしだな。
> find、grep使ってクラスを定義してるファイルをシステムから見つけてきてそれrequireするautoload関数作ればー?
これ冗談で書いてるのかも知れんけど、こういう超解決ってPHP厨は本気で
実装しそうだもんなあ。
PHPは関数が腐るほどある癖に肝心なものが実装されてないことが多いよね。
138 = :
>>136
>って便利だと思うけどjdkではどうやるんだべ
失笑を禁じ得ない
> っつー自由度がくそ言語な理由なんだろうけどさ
レス読んでる?
139 = :
>>138
せっかくなので煽るのでは無く反論してくれ
140 = :
>>137
ファイル名ね。
Perlはuseの引数とクラス名が一致してるからPHPみたいに現場によってCamelCase推奨だったりアンスコ区切り
が推奨だったりみたいなイミフな事が起こらない
>>139
Perlだとuse FindBin::libsってしときゃインクルードパス問題は解決
Javaは中間ファイルを生成するし今やSDK前提だからこれも特に問題にならない
>>119とか>>111くらいしか解法がないんだろPHPは?
autoloadも気をつけないとどっから読み込まれてるか不明で結局grepとか
あるしな。あ、autoload使わなくてもあるかww
141 = :
まちごうた。>>137のファイル名はクラス名だろ
142 :
趣味でWebアプリケーション群作りたいけどオススメの言語ありますか?
PHPしかできないけどこのスレ見るとPHPはやめた方が良さそうなのでPHP以外
候補はrubyかpythonかjava
(いずれもhellowordすら未経験なので勉強も兼ねて)
ちょっとしたWebアプリケーションをたくさん作ってそれらをユーザーを管理するアプリケーションで総まとめしたい
(だからフレームワークを使うのと性質が少し違う)
妄想を含めると壮大な計画になりそうで
完成は何年後になるかわからないけど脱PHPer目指したいので修行したい
143 = :
>>142
PythonかJavaかな。個人的にだけどrubyは若干減速してる感覚がある。
Pythonはインデントが気に入らない人がいるらしいが一応データ型は
オブジェクト指向だし入門用には敷居が低いしいいと思う。
がっつりやるならJavaだけどHello, Worldのサンプルを見ると分かるが
けっこう回りくどく、堅牢性はあるが気軽に書くには向かないと思う。
一人で壮大なプロジェクトをやるならJavaはお勧めしない。
144 = :
>>136
自由度が高いから糞ってことはないと思う。
例えばPerlは自由度高くも書けるし、strictにも書ける。PHPはそれがない。
PerlにしろPythonにしろJavaにしろ、Web以外でも実用的な言語だが
PHPはWebに特化した言語なのでそういう意味ではむしろ自由度が低い。
というかお願いだからcronとかインストーラをPHPで書くのは
やめてくださいおねがいします>某下請けの人
145 = :
>>143
JavaのHello, Worldはどのように周りくどいのですか?
146 = :
>>145
Python: print "Hello, world!"
Ruby: puts "Hello, world!"
Perl: print "Hello, world!"
PHP: <?php echo "hello, world!" ?>
----- 超えられない壁 -----
Java:
public class HelloWorld {
public static void main (String [] args) {
System.out.println ("Hello, world!") ;
}
}
CやC++も面倒だけどWebのサーバーサイド言語としては基本的に
候補から外れるよね。
147 = :
あ、PHPはセミコロン必要だっけ。あとはやってみて。
149 = :
>>146
↓これは基本的にウェブでは使用しない。
よく使うのはデスクトップアプリ、または初心者向け入門用クラスの作り方。
public static void main (String [] args) {}
150 = :
>>148
すまない。
みんなの評価 : △
類似してるかもしれないスレッド
- PHPでオークションサイトを作ろう! (294) - [49%] - 2019/5/9 7:45 ○
- PHPエディタって、どうよ? (816) - [33%] - 2022/10/19 16:30 ○
- 【PHP】下らねぇ質問はここに書き込みやがれ 68 (990) - [33%] - 2008/5/27 2:33
- PHPで2chを真似てこんなモン作ってみますた。 (134) - [33%] - 2018/6/27 23:16
トップメニューへ / →のくす牧場書庫について