- 締切済み
Webシステム技術(PHP)の習得 何から始めれば
お世話になります 私は7年前まで、制御系システムと業務系システムのソフト開発をしていました。 2004年にプログラマを引退(退職)しました。 今度7年のブランクを空けて、 Web系のソフトウェアを作る会社に、 今週の月曜日(1/24)に就職しました。 言語は、CとVB(Ver.6,0)が使えます。(実務で8年経験あり) Javaも分かります。(独学) 今、与えられた仕事が、 あるWebシステムの機能追加で、 既にPHPで作成されているものに機能を追加するものです。 現行のプログラムを読解し、 プログラムの修正個所を見つけ、そこを修正(追加)をするというものです。 PHPは初めて使うです。 PHPの勉強から始めないといけないのですが、 まず、何から始めるのがいいのでしょうか? Webのサーバーサイトのプログラム自体初めてなので、 どこから手をつけていいのかと悩んでいます。 今、あれこれ手を出して、詰まってしまいました。 回り道になってもいいと思っていますので、 なにかアドバイスがありましたら、教えてください お勧めの書籍、HPなどの情報もいただけると幸いです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- oktuburero
- ベストアンサー率22% (102/446)
>PHPにはエントリポイントがない 直接的なポインタは無いけどそれに近い概念の物はあります。 それは「参照」です。
- hogehoge78
- ベストアンサー率80% (433/539)
PHPやっていて、逆にCやVBやJavaで私がわからないことの逆を説明すれば良いですかね。 ■PHPにはエントリポイントがない PHPには(スクリプト言語全般なんでしょうか)、上記の言語のようにエントリポイントがないので、 index.phpというPHPファイルが、実行された場合、上から下に単純にプログラムが流れます。 なので、特にmain関数を作成して関数の中に制御文を書く必要もなく、唐突にプログラムを記述出来ます。 index.php------------------ <?php echo "とりあえずこれだけでこの文字は表示されます"; ?> ■型を指定しない PHPは、変数宣言時に特に型指定をしません。「$」から始まるものが変数だという事実があるだけです。 <?php $a = "文字列が代入出来るし"; $a = 100; //同じ変数に数値を代入しても良い ?> ■配列が柔軟 PHPの配列は、連想配列だろうが配列だろうが、とにかくソレは配列です。混ぜてもいいし、配列の中に存在するものは、何でも良いです。 <?php $ary = array( '文字列', //文字列入れた次に 111, //数字が入っていてもいいし new Hoge(), //クラスオブジェクトが同じ場所に入れられるし 'test'=>'foobar' //普通の配列の中に連想配列を入れられる。 ); echo $ary[0]; //文字列を出力 echo $ary[1]; //111を出力 echo $ary[2]; //オブジェクトなのでエラーになるかも echo $ary['test']; //foobarを表示 //その後、さらに配列に値を追加していくことが出来る。 $ary[] = "追加"; //これで新しく追加できるし、 array_push($ary, 11111); //このように追加してもいい。 ?> ■関数作成も同様に型指定とか返り値に指定はない <?php function baz($a, $b, $c="デフォルト引数"){ if($a == 1){ echo "1だ!"; //関数の中で出力をしてもいいし }elseif($a == 2){ return 111; //何かを返してもいいし } //そのまま何も返さなければnullが返る } ?> ■文字列を指定して関数を叩く荒業がある <?php function test1(){ //何か関数があるとして } call_user_func('test01'); //文字列で関数名を指定すると実行する組み込み関数がある。 test1(); //普通はこのように叩く ?> ■HTMLにPHP構文を埋め込める index.php---------- <html> <body> <?php echo "<?phpから?>までがPHPです。"; ?> </body> </html> ■インクルードはファイルをそのまま読み込む include.php------ <?php echo "hello world"; ?> とあって index.php-------- <?php //呼び出されたカレントディレクトリからの相対パスで指定できる。 //むしろPHPのインクルードは基本的にパスが通っている場所か、 //PHPが実行されたカレントディレクトリからの相対パスで記述するか //ルートディレクトリまで含めた絶対パスで記述する。 include "./include.php"; echo "hello world"; ?> とあった場合には、画面上には、「hello worldhello world」と表示される。 とかといったところが、VBやCやJavaと大きく違うところなんですかね・・・・ また、既存システムがどの様なフレームワークを使って記述されているかでも、構文やテクニックの使い方に幅があったりします。 どこに詰まっているのか具体的にわからなかったので、PHPの話を適当に並べ立ててみました。
- bm_hiro
- ベストアンサー率51% (200/388)
いつも俺がお勧めしているのは ↓ここ。 http://www.phppro.jp/school/phpschool/ これを一通り読めば 基本的な事は覚える事ができると思います。 ただ、データベース関係は全く触れていませんので、それは また別に覚える必要があります。 もう数年前のものなので、XAMPPのバージョンとか古すぎるのは、最新のものに置き換えて読んでください。 PHP(というかweb全般)は、あくまでもリクエスト&レスポンス。 1個のボタンを押しただけで、ブラウザにページ丸ごと読み込み直しです。 (AJAXとか使うと、また話は別ですが) VBは イベントドリブンなので、そこは 決定的に違うから慣れないと戸惑うとは思います。 俺は 今では きっとVBは書けません。 慣れない言語な上に他人が書いたソースなんて、よほど前任者が丁寧にコメント書いてくれてなきゃ読むのは、結構大変だと思いますよ。 if とか for とか、どの言語にでもある制御関係のものとかなら 方言程度の違いしかないと思いますが、関数とか結構 違いますので、PHPのマニュアルも ざ~っと読んだほうがいいかもしれません。 http://php.net/manual/ja/index.php
- oktuburero
- ベストアンサー率22% (102/446)
他の言語ができるならPHPも普通にやればできる。 PHPはCやJavaに比べて簡単な言語。 本当に他の言語ができているならPHPなんて簡単。質問者の状況になる方が疑問。 どうしてできない?何処で詰まっている?