ホームページ  >  記事  >  バックエンド開発  >  PHP 開発の専門家が学習プロセスを説明します

PHP 開発の専門家が学習プロセスを説明します

WBOY
WBOYオリジナル
2016-06-13 12:29:17735ブラウズ

PHP 開発の専門家がその学習過程について説明します
PHP を学習したい場合は、まず PHP 開発の役割を知らなければなりません。 WEB分野ではPHPが最も広く使われており、ほとんどのWebサイトがPHPで作られているため、単純にWebサイトと言えるかもしれません。正確に言うと、PHP は Web サイトのバックエンド開発に使用されます。実際には、PHP は Web サイトだけではありません。最近人気のアプリ開発と同様に、PHP はバックエンド処理にも使用できます。
他の言語と比較すると、PHP は比較的シンプルで学習が容易で、基礎がまったくない人が学習するのに適しています。ただし、上で述べたように、PHP は Web サイトまたはシステムの一部を完成させるだけです。
実行中の Web サイトまたはソフトウェア システムは、フロントエンド ページ、バックエンド プログラム、データベース、Linux に分割できます。バックエンドを担当する PHP は実際には 4 分の 1 しかありません。実際には PHP の外に多くのものがあるため、PHP をマスターするだけでは製品を作ることができない場合があります。 . 何も見つかりません。
フロントエンド: すべての Web サイトが表示され、使用可能でなければなりません。どの Web サイトにもデータベースやバックエンド プログラムを含めることはできませんが、フロントエンド ページがなければなりません。これは Web サイトの最も初期の形式でもあり、テキスト、画像、その他の情報のみを表示できる静的ページです。
静的 Web ページの制作テクノロジーを習得することは、Web サイトの開発を学ぶための前提条件です。ここでの学習には、ブラウザを使用して直接実行できる HTML、CSS、JavaScript が含まれます。
HTML は Web ページの構造を担当し、Web ページ レイアウトのどの部分がテキストであるか、どの部分に画像や音声ファイルを含めることができるか、および Web ページ上で表示されるビデオ ファイルを配置する場所を指定します。 。
CSS は、これらのテキスト、画像、ビデオ、その他の情報に一定の合理的で美しいスタイルを与えることができ、テキストのサイズ、色、画像サイズなどを定義できます。
JavaScript を使用すると、Web ページにログインするときと同じように、メニューにマウスを置くと、ドロップダウンが自動的に表示されます。淘宝網では、商品画像にマウスを置くと画像が拡大されます。
学習スキルと経験: 私が初めて HTML を学習し始めたとき、w3c マニュアルを学習教科書として使用しましたが、振り返ってみればわかるほど、マニュアルに書かれていることは些細で複雑なものでした。タグには多くの属性がありますが、それぞれは何を意味しますか?
以下の表を表すラベルと同じように、これはマニュアルに記載されている概念で、読んだ後は理解できたようでよくわかりませんでした。何も学ばなかったように、まだ混乱していました。

フロントエンドの知識は比較的断片的であり、ロジックはまったくありません。その中でも、HTML と CSS のどの要素のマークアップも実践が必要です。ほとんどの初心者が学習を難しく感じ、マニュアルの概念を理解できないのは、主に間違った学習方法が原因です。 、実践的な練習をせず、概念を読むだけなので役に立ちません。怠惰な習慣を直して、HTML タグを書き始め、実行後の効果を確認して、本当に使いこなせるようにしましょう。
ただし、初心者の方はまず動画をご覧いただくことをお勧めします。操作効果が分かり、マニュアルもツールとして利用できるからです。
HTML と CSS のすべてのタグと属性を覚える必要はありません。小さなプロジェクトを実行した後は、よく使用されるものだけを覚えておけば、残りは Make になります。記憶に残るので、使用するときに思い出して、マニュアルを確認するだけで済みます。勉強が終わったら、簡単な小さなプロジェクトを実行する必要があります。勉強するときは、点在する知識点に焦点を当て、最終的にそれらを全体として使用します。

真面目な話、HTML が「本物の」プログラミング言語とみなされるかどうかは問題ではありません。HTML はまだ学ぶべき新しいスキルです。新しいことに挑戦するのはとても怖いことです。たとえ自分が未知の立場にあり、弱い立場に置かれていても、焦って一気に物事を学ぼうとするのではなく、冷静に物事を学ぶ姿勢が必要です。確かに、どちらも成功の重要な要素です。
Js について話しましょう。JavaScript (略して Js) についてはすでに説明しましたが、ここでもう一度 Js を強調する必要があるのはなぜでしょうか。 Js を学ぶ必要はなく、Jquery (略して Jq) を学べば良いと言う人が多いためです。 Jq とは何ですか? Jq は、開発を高速化するための多くの機能と特殊効果を備えています。
上で述べたように、jq は Js のフレームワークであり、その本質は依然として Js で書かれています。理論的に言えば、Js でできることは jq でもできますが、100% の確率でできるわけではありません。また、jquery でできることは、100% の確率で Js で実行できます。 jquery は操作を簡素化するための単なるツールであり、基礎となる層は依然として js です。ネイティブ JS をよく学ぶことによってのみ、JQuery やその他のフレームワークをよりよく学び、フロントエンドの問題に対処できるようになります。
バックエンド: ここでは PHP についてのみ説明します。 HTML と CSS が目に見える部分だとすると、PHP は目に見えない部分です。後でデータを処理してユーザーに返す責任があります。
Web サイトが静的ページからバックエンド プログラムに発展する場合、Web サイトにはビジネス ロジックが含まれます。簡単に言うと、フロントエンドでデータを入力し、[送信] をクリックすると、PHP が計算を処理し、結果が表示されます。 PHP はブラウザーで直接実行できないことに注意してください。PHP は Apache 環境のサポートを必要とし、Apache サーバーに配置され、ブラウザーを使用してアクセスされるため、学習プロセス中に全員が設定する必要があります。単純。

PHP を学習するには、「PHP 初心者からマスターまでのビデオ コース」のビデオ チュートリアルを学習することをお勧めします。 PHP 開発については、このチュートリアルはほぼすべての PHP 学習者にとって必読です。このチュートリアルはインターネット上に多数ダウンロードされており、51cto Academy で検索できます。
徐々に説明される知識が増えてくると、最初は頭の中で覚えて後で解きたいと思っていただけで、理解できない問題が出てきました。しかし、後で考えてみると、いくつかのことを思い出せないことがわかりました。少しずつ、理解できない質問が増えていき、忘れるのが怖くなりました。たとえそれがしばらく詳しく考えていなかったものであっても、少し考えれば理解できる簡単な質問です。忘れてしまったら、二度と思い出すことはできないかもしれません。私は完璧主義なので、これを取り戻すのは困難です。

HTML を学習したときに学んだ教訓を思い出しました。まだまだ怠けられません。分からないこと、分かりにくかったこと、とりあえず解決できなかった様々な問題を、思いついたときにメモするために専用のテキストを作成しました。 。

皆さんも、学習の過程で質問を書き留める習慣を身につけてほしいと思います。記憶力が良くても、文章を書くのが苦手なほど優れているわけではありません。自分が経験していない多くの問題に遭遇するのは避けられないからです。学習プロセス中は理解できますが、問題が解決されるまで待って次に進む必要があるとは限りません。時間が経つと忘れてしまう可能性があります。スクリプトの中で難しい点を学んだときは、それを他の人に説明するようにしてください。それを明確に説明できた場合にのみ、本当に理解できるようになります。

質問を暗記するだけでなく、先生から教えていただいた知識を、自分の理解に基づいて自分の言葉で、誰かに伝えるように書きました。覚えておいて、自分の言葉や考えで書き、教師の元の言葉は忘れてください。そうすれば、他の人の知識があなたのものに変わります。練習は知識の理解を強化するプロセスでもあります。ただチュートリアルを見て知識のポイントを学ぶだけではありません。私を含むほとんどの人は、一度は他の人から学び、それを学んだように見えますが、いざとなると練習です。自分たちでやるのはとても大変でした。

チュートリアルを読み、そこに記載されている内容をマスターしたら、講師の例に従うか、自分で応用シナリオを考えて、ゼロから始めることができます。多くの質問が見つかり、チュートリアルの知識の理解が深まります。このように、継続的な練習とフィードバックを通じて、開発スキルは急速に向上します。
MySQL データベース: 将来、Web サイトのテクノロジーが発展すると、実際のビジネス ロジックを満たすために、Web サイトでより多くのデータを処理および保存する必要が生じます。その際には、データベースが必要になります。

データベースとは何ですか? 文字通り、データベースとは、テキスト、画像、ファイルの URL アドレスなどが保存される場所です。たとえば、記事を閲覧したい場合、記事のタイトルをクリックすると、リクエストが PHP ファイルにジャンプし、PHP がデータベースから読みたい記事を取得します。

PHP とデータベースは切り離せない関係にあります。その後、Web サイト開発における PHP のタスクの多くがデータベースを操作するようになりました。正確に言うと、私たちのデータベースは mysql データベースです。これは、php と mysql の関係が非常に良く、完全に一致しているためです。したがって、PHP 開発を学習するために使用するデータベースは Mysql データベースです。

mysql を学習するときも、PHP を学習するときと同じように、質問を覚えてメモを書くという学習方法を採用しました。もう一度強調したいのですが、教師の元の言葉は忘れて、自分の言葉で書きましょう。そうすれば、他の人の知識が自分のものに変わります。小さなプロジェクトに取り組んで、ワンランク上のレベルに引き上げる時期が来ました。たとえば、記事や製品の管理システムを作成し、一般的な追加、削除、変更、検索を実行します。以下の製品機能追加ページのように、フロントエンドユーザーが入力したデータをPHPを使ってデータベースに保存するだけです。プログラミングが面白いのは最初の数日だけで、その後はたいてい退屈になってしまいます。したがって、興味が完全にプログラミングの原動力になることはありません。プロジェクト開発を通じて、プログラミングのモチベーションは、人生において実際に必要とされるニーズと、高強度・高密度の学習と思考を通じてニーズを解決した後の強い達成感であることがわかります。

フレームワーク: 率直に言えば、フレームワークとは、いくつかの機能を完成させたプログラム コンポーネント構造です。基本的に、会社が実際のプロジェクトに取り組み始めると、その開発にフレームワークが使用されるため、開発が迅速化されます。なぜ?たとえば、Web サイトに認証コード機能を実装したい場合は、0 から書き始める必要があります。同様に、ファイルアップロードプログラムを書きたい場合は、0 から書き始める必要があります。 0.この時点で、私が行うことはすべて手書きで書かなければならないのではないかと疑問に思うかもしれません。

しかし、1 つ問題を見落としています。検証コード、ファイルのアップロードなどはすべて Web サイトでほぼ必須の基本的な機能であり、これらの一般的に使用される機能を記述してカプセル化することができます。使用するときに直接呼び出すだけでコードの重複が大幅に減ります。これが実際のフレームワークです。

フレームワークを自分で作るという話はやめてください。優れたフレームワークを完成させるのは単純で簡単な作業ではなく、高度な知識と技術が必要です。したがって、他の人が作成した専門的なフレームワークを使用することを学ぶ必要があります。一般的な PHP には、thinkphp、ci、および yii が含まれます。これは、中国人によって作成されており、軽量です。 . レベルの方が習得しやすく、使用する企業も増えています。
MySQL 最適化テクノロジ: PHP と MySQL の追加、削除、変更、クエリテクノロジを学習した後、記事を公開、変更、表示できるシンプルな記事管理システムの作成に挑戦できます。
しかし、想像してみてください。記事を表示するときに、MySQL は必要な記事を記事テーブルから見つけて取り出す必要があります。この時点では、すでにたくさんの記事があります。たとえば、記事が 100 万、1,000 万あると、mysql が別の記事を見つけるのに時間がかかるようになりますか? 通常、記事が少ない場合、記事を開くのに 1 秒かかることがあります。 , 10 秒ほどかかる場合がありますが、お待ちいただけますか?ユーザーは待つ気があるでしょうか? Sina や Tencent のような大手ニュース サイトの場合、ユーザーがニュース記事を読むのに長時間待たなければならない場合、それで大丈夫でしょうか?したがって、データベースが必要なものをより短時間で見つけられるように、mysql を最適化する必要があります。
最適化方法には主に次のようなものがあります:
1. テーブル設計 (データの冗長性を削減し、ディスクのオーバーヘッドを節約できます)
2. MySQL インデックスの最適化 (インデックスを使用するとデータのクエリを高速化できます)
3、mysql クエリの最適化。 (クエリの高速化)
4. パーティションとテーブルの分割 (クエリの速度を上げるために、大きなテーブルをいくつかの小さなテーブルに分割します)
ページの静的化テクノロジ: MySQL の最適化テクノロジを学ぶときに、現状に満足してはいけません。まだまだ新たな問題がたくさんあります。もう一度考えてみてください。1 人が訪れるときと、大勢の人が訪れるときはどうでしょうか。一人で訪問する場合は非常に速いかもしれませんが、多数の人が訪問すると、mysql は大量のリクエストを処理しなければならず、圧倒されてしまいます。これは、mysql がサポートするリクエストの数に制限があることを理解するのに簡単です。 。
Linux: プログラム、データベース、Web サイト全体は最終的に Linux システム サーバーに配置されます。通常のプログラマーにとっては、基本的な構成で十分です。基本的なコマンド、操作、起動、基本的なサービス構成 (rpm インストール ファイル、さまざまなサービス構成などを含む)、簡単なシェル スクリプトや awk/sed スクリプト コマンドなどを作成できます。一般に、企業には対応する運用保守担当者がいて管理されています。これに興味がある場合は、後でさらに深く掘り下げることができます。
非リレーショナル データベース Redis/Memcached ですが、なぜまたデータベースなのでしょうか? 、mysqlについてはすでに話しましたよね?はい、上で説明した mysql はリレーショナル データベースであるため、これら 2 つは非リレーショナル データベースと呼ばれます。なぜそれらが必要なのでしょうか? mysql との違いは、Redis と Memcached のデータはメモリ上に配置されるのに対し、mysql はディスク上に配置され、メモリ内のデータへのアクセス速度がディスク上のデータよりもはるかに速いという利点があります。では、なぜ MySQL を学ぶ必要があるのでしょうか? Redis と Memcached の使い方を学ぶだけではどうでしょうか? MySQL はデータの大容量ストレージに適しているため、Redis と Memcached はメモリ上に存在し、大量のメモリを必要とします。また、マシンに障害が発生して再起動すると、メモリ上に配置されたデータが失われやすくなります。 。ほとんどのインターネット企業は通常、アーキテクチャに MySQL Redis または MySQL Memcached を使用します。Redis/Memcached はどちらもメモリに基づいているため、読み取りと書き込みを含めて非常に高速であり、通常、一部の高同時実行性の大容量データ アプリケーションで使用されます。訪問の様子。

結局のところ、要するに、PHP を学ぶのは難しいことではなく、難しいのはシステムです。私が書いたことは、主に学習を始めたばかりの学生向けで、全体として完全な知識体系を確立するために、比較的基本的なものです。
この道では、一生懸命働いても、理解するのが難しい問題に遭遇するかもしれません。私も同様に、その難題を解決するために半月ほど不眠症に悩まされたことがあります。
プログラミング言語のすべての特異性をマスターすることは不可能です。プログラミング言語は飼いならすことのできない野獣です。プログラミングが簡単に習得できる単純なスキルであると考えているなら、それはおそらくその逆です。プログラマーとして、学ばなければならないことには制限がなく、その分野の専門家でさえ時々抱く、絶え間ない後悔の念に駆られます。

心を正し、段階的に進め、タスクを小さなタスクに分割します。 PHP を学び、知識を吸収することは、PHP を上達するための第一歩です。自信を持って、より多くの方法で問題について考えてみることが必要です。最後に、参考となる PHP の学習手順を理解するための素晴らしいアイデアを提供してくれたネチズン Xu Jie に感謝します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。