質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

6回答

6860閲覧

phpをマスターする期間

uverworld101nm

総合スコア172

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2016/06/15 11:03

編集2016/06/17 05:16

phpを今日から独学で勉強するのですが、phpは難しいですか?
phpの文法が分かるのに何週間かかりますか?また、独学でも大丈夫ですか?
※二週間で学習することは不可能ですよね?ダメ元で質問します。
※皆さん、アドバイスありがとうございました。
皆さんが出した回答全てをベストアンサーに選びたいのですが一人しか選べないのですみません。
でも本当にありがとうございます。
今、プログラミングの一つでも分かるよう勉強しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

ベストアンサー

この質問に答えるには、二つことについて明確にしなければなりません。

####1. あなたはプログラミングについてどれだけ知っていますか?

もし、他のプログラミング言語(LISPやC、C++、Java、Perl、Python、Ruby、Haskell、C#、Go、Scalaなど)を学んだことがあるか、また、どれだけ学んでいるかによって、PHPを新たに学んだときの習得速度はとても違います。とくに「プログラミング」そのものについての知識は重要です。

例えば、オブジェクト指向について考えましょう。PHPはオブジェクト指向を採用しています。もし、他のオブジェクト指向を採用した言語を学び、オブジェクト指向とは何かを知っているのであれば、PHPに関しては、書き方を覚えるだけで済むでしょう。しかし、オブジェクト指向を何も知らないのであれば、いくら文法を覚えても使い方がわからないので、学んだことになりません。文法を覚えることと平行して、オブジェクト指向は何か、どんなふうに使えるのか、どのように使えば良いのかを学ぶ必要があり、それだけ時間がかかります。また、既に学んでいたプログラミング言語が何かも重要です。オブジェクト指向では無いCやHaskell、Goについて深い知識を持っていたとしても、オブジェクト指向については一切役に立ちません。

ですので、他の言語を学んでいるのか、「プログラミング」そのものをどれだけ知っているのかがわからないと、PHPを学習するのにどれだけ時間がかかるのかを予想するのは難しいでしょう。

逆に、もし、全くの初心者なら、文法を覚えるのと同時に「プログラミング」そのものも学んでいく必要があります。if文の書き方を覚えても、if文とは何か、どのようなときに使えるのかを知らなければ、使えません。プログラミングはどのように構築していくのかを知らなければ、いくら文法を知っていても、1行もコーディングすることはできません。これはちょっとした短期間で覚えられるような物では無く、長く苦しい道のりです。ただ一つ言えることは、一つ覚えてしまえば、だいたい他でも応用できると言うことです。

####2. 何をもって「マスターした」と言い切りますか?

まず、文法さえ覚えれば「マスターした」と思っているようですが、それは違います。数学で公理や定理だけ覚えても、それをあてはめて使えなければ計算できないのと同じです。実際のコーディングに使えるようにならなければなりません。つまり、先ほど述べた「プログラミング」そのものを覚えると言うことです。さらに「マスターした」と言い切るとなると、やりたいことがすぐさまコードで起こせるレベルぐらいでないと難しいと思います。

他にはリファレンスについてです。リファレンスの細かい動作を一つ一つを全て覚える必要はありませんが、どのようなものがあってどのような時に使えるのか、また、リファレンスはどのように調べていけば良いのかがわかってなければ、コードに生かせません。他にもphp.iniの内容とそれによってどう変わるのかや、コンパイル時のオプションによって何が影響するのかも知っておかないと(もしくしは、知る方法を知っておかないと)、「マスターした」などと言うことはできないかと思います。

さすがに、これは長い道のりです。少しレベルを落として「文法だけはマスターした」というところに限定してみましょう。

ここで問題になるのは、PHPの文法は結構複雑だと言うことです。== による緩やかな比較は見るだけでもうんざりするほど複雑なルールです。配列とリファレンスの奇妙な動作はその動作を理解するだけでも各文法(とくにリファレンスについて)の厳密な動作を把握する必要があります。加えて、PHPのオブジェクト指向にはclassだけでなくinterfaceとtraitについても知っておく必要があるでしょう。他にも、名前空間やuseによるインポートなどたくさんの機能があります。

これら全てを覚えるとなると結構な時間がかかるかと思います。ましてや、文法だけでは無く、そこらから実際に使えるようになるために「プログラミング」そのものを知っておこうとすると、参照とは何か、オブジェクト指向とは何か、名前空間とはいかなるものなのかを学ばないといけないでしょう。

「マスターしたい」などと言ったら、どれだけかかるかは想像できません。


さて、上を見るとなんかPHPって大変・・・と思ったかも知れませんが、そういうことではありません。PHPの全部を知らなくてもPHPでプログラミングはできます。簡単な物であれば、PHPの文法の1割も使いません。オブジェクト指向なんて無くてもそこそこの物が作れますし、名前空間なんてライブラリや大きいプログラムで無いと使いません。初めは気にせず、どんどん進んで下さい。知らないことに出会ったら調べるぐらいで良いと思います。ただ、途中である程度できたのに満足して、学ぶことをやめないでください。そこはまだほんの入り口にしか過ぎません。

1年ぐらいたって、PHPとは何か、プログラミングと何かをなんとなく掴めると思います。5〜6年もすれば、自分の限界を知り、その遥か長い道の先が見えてくるでしょう。後は、10〜20年ぐらい学び続ければ、マスターしたと言っても良いぐらいになると思います。

ある程度の差異がありますが、他のプログラミング言語でもだいたい同じ事です。ただ、残念ながら、私はプログラミング初心者にPHPを勧めたことは一度も無いとだけ言っておきましょう。PHPは「プログラミング」そのものを学ぶには、少々(かなり?)やりにくいと思っているだけなのですが。

投稿2016/06/15 12:38

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uverworld101nm

2016/06/15 12:54

実はapiの書き方が知りたいんです。 そのためにphpを勉強しようと思いました。 でも、話を聞く限り、独学では無理ですよね?
raccy

2016/06/15 14:06

何に対するどのようなAPIなのかわからないため、PHPを勉強することでどうなるかどうかはなんとも言えません。しかし、どんなものであれ「独学では無理」というのはありません。第一、最先端の技術については、教えてくれる人なんてほとんどいないので常に独学です。 独学が大変なのは、学校や職場とかでの「させられる勉強」ではなく、自分で「する勉強」ということです。精神論ではないですが、やる気と根性がなければ、非常に困難です。やる気と根性さえあればなんとかできます。 あとは、どこからどうやって勉強したら良いかわからないと言うのもありますが、ネットである程度調べられますし、それでもわからなければteratailで聞いたってかまいません。ただ、自ら考えて努力して行こうって気合いが無いと、やはり独学自体が難しいかと思います。
uverworld101nm

2016/06/15 14:12

ご回答ありがとうございます。 ご指摘の通りです。頑張ってみます。
guest

0

PHPはプログラム言語の中では比較的簡単な方だと思います。

2週間の中でどれだけの時間をPHPの勉強に充てられるかにもよると思いますが、基本的な部分を覚えるだけなら2週間あれば充分ではないでしょうか。
(ちゃんとしたサイトを作れるようになるまで、とかならもっと時間がかかりますが・・・。)

まずは入門書を買って読んでみることをオススメします。
オンラインで勉強するならドットインストールというサイトが良いと思いますよ。

投稿2016/06/15 11:22

rutti

総合スコア57

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uverworld101nm

2016/06/15 11:26

ご回答ありがとうございます。 もう一つ質問があります。apiはphpの基本が分かれば仕組みが分かりますか?
rutti

2016/06/15 11:53

それはちょっと話が変わると思います。 APIは提供された機能を利用するための手順や規約をまとめたものの総称であって、PHPだからどうとか、Rubyだからどうとかいう特定の言語に限ったものではありませんので。 使いたいAPIが「どこが提供しているか?」「どういう仕様なのか?」など様々ですので、APIの仕組みを理解したいという目的であれば、プログラムのもっと根本的な考え方を身につける必要があると思います。 ですので回答としては 「apiはプログラムの基本が分かれば仕組みが分かります」と言ったところでしょうか。 頑張ってください。
uverworld101nm

2016/06/15 11:58

ご回答ありがとうございます。 頑張ります。
uverworld101nm

2016/06/15 12:12 編集

やっぱり質問したいのですが プログラムの基本を学ぶには何を勉強すればいいでしょうか? 短期間で勉強するのは無理な話ですよね?
rutti

2016/06/15 12:37

どんな言語でも良いので、まずは簡単なものを作ってみてください。 そこから少しずつ変更を加えるなり、拡張していくのが1番早く覚えられると思います。 PHPでブログシステムなどどうでしょう? とにかく自分で何かを作るところからスタートしないとプログラムは身につかないかと。 どのくらいの期間で基礎が身につくかは、本人の記憶力や数学的思考力にもよると思いますが、ちゃんとしたサイトを作るのなら短期間では無理ですね。 外注で発注した方がよほど早くて確実です。 ちなみに食べログみたいなサイトを1人で作りたいのであれば、 Linux, Apache(またはnginx), PHP, MySQL, Javascript, jQuery, HTML, CSS, memcache(またはredis), Photoshop, Illustrator くらいの知識があればそれっぽいものなら作れるとは思います。
uverworld101nm

2016/06/15 12:50

ご回答ありがとうございます。 助かりました。頑張ってみます。
guest

0

独学で勉強…ただ片っ端から聞いてコピペするのは独学ではないですよ?

投稿2016/08/08 04:54

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

引用テキストphpを今日から独学で勉強するのですが、phpは難しいですか?

PHPは簡単な言語とよく言われます。型の定義をPHPが勝手にしてくれるとかの言語的な性質もそうですが、使用者が多いので情報を集めやすいという点でも、初心者に優しい言語です。

phpの文法が分かるのに何週間かかりますか?

※二週間で学習することは不可能ですよね?ダメ元で質問します。

文法で2週間は妥当な期間かなと思います。ダラダラやってそんなもんです。

また、独学でも大丈夫ですか?

独学でいいです。むしろ、独学がプログラミングを覚える基本です。調べるというスキルがプログラミングにおいて最重要のスキルなんじゃないかと思います。

勉強法ですが、phpの文法は入門書を買って読むのが良いと思います。体系的に覚えられるので。ただし、PHPはバージョンが変わると仕様もちょっとずつ変わっているので(※他の言語でも同じ問題はあります)、本に書かれたPHPのバージョンで環境を作る方がいいです。

投稿2016/06/15 11:50

oskbt

総合スコア1895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uverworld101nm

2016/06/15 11:59

ご回答ありがとうございます。 二つ質問をさせて下さい。 おすすめの入門書がありましたら教えてください。また、phpを学んだらapiの仕組みは分かりますか?
oskbt

2016/06/15 12:16

オライリージャパンのプログラミングPHP 第3版です。私はもっと前の版でですがこれで勉強しました。 もう一つの方は、apiは単純にphpの延長というわけではないので、それが、使用者としてのapiの理解なのか、作成者としての理解なのかに依らず、どちらもphp以外のapiを勉強するという工程が必要です。 ただ、php自体でプログラミングの基本を知ることが理解の助けになることは充分あるかと思います。
uverworld101nm

2016/06/15 12:26

ご回答ありがとうございます。 参考書、amazonで探します。 apiの件、apiはやっぱり難しいですか?短期間で勉強することは夢の話ですよね?
oskbt

2016/06/15 12:43 編集

apiに関してなにか急いでいるようですが、もし短時間で何かを作らないといけないのなら、誰かにお金を払って依頼するべきです。勉強は時間と気力というコストを払うことが必要なので、決して安い買い物ではないです。もし、その時間というコストが高いからどうにかして下げたいというのなら、お金などの別のもので代用するのは別段恥ずかしいことではないです。 どんな人も企業もその時点でできないことは誰かに依頼しています。 これはプログラミングというより世の中の仕組みです。
uverworld101nm

2016/06/15 12:53

ご回答ありがとうございます。 apiを勉強したいのですが何を勉強すればいいですか?
guest

0

投稿2016/08/19 07:01

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mhashi

2016/08/23 01:54

質問に関係のない回答
退会済みユーザー

退会済みユーザー

2016/08/24 02:42

適切な質問、質問に対しての理解力は必要な事だと思うので関係はあるかと
guest

0

基本的な部分の学習に関しては既に回答がありますので、

APIを作りたいのかそれとも既存のAPIを使って何かをしたいのか
結局のところ、何を作りたいのか?
によって大きく変わるので(プログラム言語は何かを実現するためのツールでしかないです)、
具体的にやりたいことを出来るだけ詳細に書くとよりいい回答が得られるかと思いますよ。

投稿2016/06/15 17:29

tanat

総合スコア18711

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uverworld101nm

2016/06/15 18:21

既存のAPIを使ってサイトを作成したいんです。 しかし、apiの知識が全くありません。apiは難しいでしょうか?
tanat

2016/06/15 18:39

別にAPIだから難しいということはありません。 が、まずは一般的なwebアプリケーション(サイト)を作れるようになる必要があります。 その上で、APIから取得できる情報をサイトに適用するための技術を習得する必要があります。 APIで取得できる情報はあくまでただの情報です。 例えば、 車の価格一覧の情報一覧が乗っている本を読んで自分でデータをサイトに入力するのと 車の価格一覧の情報一覧を取得できるAPIを使ってそのデータを自動でサイトに入力するのは 基本的には同じことです。 情報の入力の方法や鮮度が異なるだけで、そのほかの部分は自分で作る必要があります。 APIから取得できる情報の内容や形式はそのAPIによって異なるので、 APIのドキュメントやサンプルコードを読み、 自分のサイトに適用できるようになる必要があるのですが、 これは自分のサイトを作れることが前提になります。 書籍は向き不向きがあるので、どれが勧められるというものではありませんが、 Amazonで評価が高い入門書をいくつか候補にして、出来れば自分で書店で内容を確認し、自分に合いそうなものをまず一冊終わらせる。というのがお勧めです。 https://www.amazon.co.jp/s/ref=nb_sb_ss_ime_i_1_11?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=search-alias%3Dstripbooks&field-keywords=php+%E5%85%A5%E9%96%80&sprefix=php+%E5%85%A5%E9%96%80%2Cstripbooks%2C267 2週間でどうにかなるかというと、最終的にどんなサイトを作りたいか次第ではありますが、ものすごいやる気とある程度の論理的思考能力があれば、とりあえず見れるものを作る事は不可能な期間ではないと思います。
uverworld101nm

2016/06/16 06:01

ご回答ありがとうございます。 もう一つ質問があります。 apiについて詳しく書いてあるおすすめに書籍がありましたら教えてください。
tanat

2016/06/16 06:10

googleやfacebook,twitterくらいメジャーなAPIならAmazonで検索すれば出てくると思いますので、使いたいAPI名で検索してみてください。最新のバージョンに対応した書籍があればラッキーです。 ただ、書籍だとAPIのバージョンアップや仕様変更に追随できないので、 よほど需要があるAPI以外は書籍にはなっていないと思った方がいいです。 APIは提供元のドキュメントとサンプルが最新の情報になるので、 そのドキュメント及びサンプルを読んでみて(検索すれば公式以外のサンプルも見つかるでしょう)、 使われている関数やクラスについて調べるという流れで学習を進めるというのが最も早くて確実です。
uverworld101nm

2016/06/16 07:09

ご回答ありがとうございます。 やっぱり独学ですね・・・ でも、僕は頑張ります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問