PHP プログラミング入門
私たちは誰しも、少なくとも日常のレベルでは、何らかの形でプログラミングに関わってきました。そうしたプログラミングの最も簡単な例は、時間どおりに起きるために目覚まし時計を必要な時刻に設定することです。ほかにも、携帯電話、全自動洗濯機、電子レンジ、冷蔵庫の調節つまみ、テレビのタイマーなどがあります。
コンピューターを含むあらゆる機械は、その動作において、人間が特別に組み立てたコマンドを実行します。技術が複雑であるほど、より多くの操作を実行できます。現時点で、コンピューターは最も複雑な技術装置の 1 つです。極めて難しい課題を解けます。しかし、コンピューターがそうした課題を解けるようにするには、人間がプログラミング言語のいずれかで、そのための特別なプログラムを書かなければなりません。
コンピューター向けのプログラミング言語(プログラミング言語)は、20 世紀 50 年代半ばから開発され始めました。現在、世界には 2500 を超えるさまざまなプログラミング言語とその派生が存在します。ほとんどの課題を解くには、そのいずれを使ってもかまいません。
PHP 言語のアルファベット
言語のアルファベットとは、その言語で使えるすべての許容される記号の集合を指します。
PHP 言語のアルファベットには、次の記号が含まれます:
文字
A から z までのラテン文字の大文字・小文字、そして文字とみなされるアンダースコア( _ )。大文字と小文字は互換的です(eQuIvAlEnT のように大小を混ぜても同じ)。
数字
アラビア数字 0 1 2 3 4 5 6 7 8 9;
単一記号
特別な単一記号: + - ! * / = < > . , : ; $ #;
括弧
特別な対の記号: [ ] ( ) { } ;
複合記号
複合記号: < = > = < > ( * * ) ( ).
PHP プログラミング言語の構成にはロシア語のアルファベットの文字も含まれますが、すべてのプログラマーがロシア語配列のキーボードを持っているとは限らないため、コード内では使わないほうがよいでしょう。
1.6. 製品とカテゴリー — DB テーブルを作成する
製品とカテゴリーの機能を作る前に、私たちの顧客とサイト管理者が必要とする情報について考えてみましょう。商品について十分な情報を提供する必要があり、商品名、商品の詳細な説明、商品の価格を表示しなければなりません。商品の写真や追加の画像を掲載することもできます。配送料の計算のために商品の重量が必要になるかもしれません。在庫がない商品を売らないよう、倉庫の在庫数も必要です。サイト管理者には商品の ID と、検索エンジン向けの人間が読める URL が必要になります。
結果として、少なくとも次のフィールドが必要になります:
1.5. データベースとテンプレートを扱うクラスを接続する
私たちはフレームワークの構造を作りました。今度はデータ、つまりニュースや商品の保存について考える時です。DB を扱うオブジェクトは、次のことができる必要があります:
- DB との接続を管理する
- DB からの小さな抽象化を提供する
- クエリをキャッシュする
- DB との共通操作をより簡単にする
そのために、オブジェクト Registry/objects/db.class.php を作ります:
1.4. MVC フレームワークの作成に取りかかる
フレームワークに何が必要かは十分に書いてきました。今こそ、私たちのフレームワークを実装する時です。まず、Web サーバーが必要です。Denwer を試すこともできますが、PHP を更新する必要があるかもしれません。
PHP 5.5.20 入りの Denwer は、このページからダウンロードできます:
https://drupalbook.org/ru/drupal/denwer-obnovlenie-php
または GitHub から
https://github.com/levmyshkin/denwer-php-5.5.20
私たちのフレームワークの動作は index.php ファイルから始まります。このファイルはレジストリからインスタンスを返し、必要なコントローラーを呼び出してレジストリの結果を渡します。コントローラーは今度は、必要なモデルを呼び出せます。
1.3. PHP フレームワークを組み立てる
フレームワークを構築する方法はさまざまあります。とても複雑なフレームワークを好む人もいれば、とてもシンプルなものを好む人もいます。私たちの記事では、使いやすく理解しやすいフレームワークを手早く組み立てていきます。
私たちの記事は、オンラインストアの作成に必要なものとは異なる、あなた自身のフレームワークの開発を助けます。より大きなものを作るために、フレームワークに他の部分を簡単に追加できるようになります。この連載記事の主な目的は、あらゆる CMS 向けに自分自身のフレームワークを作れるようになることです。
パターン(Patterns)
フレームワークの開発には、さまざまなアプリケーション設計のテンプレート、すなわちパターンが用いられます。パターンとは、プログラム開発に関わる共通の課題を解決する、最も優れた解決策と実践のことです。パターンのうち、私たちは次のものを使います:
1.2. 私たちの CMS に何を作るか
既存の commerce サイトを見てきたので、私たちの将来の CMS の機能を洗い出す必要があります。明らかに、ユーザーがさまざまなカテゴリーの商品を見つけ、閲覧できるようにしなければなりません。ユーザーは、それらの商品をカートに追加して注文でき、注文手続きを通じて、配送料・支払い・税の計算のために注文データを入力できるべきです。さらに、注文と商品の管理パネルも作ります。以下に、すべての機能を詳しく書き出します:
製品
商品について、次の機能を作る必要があります:
- 製品の検索:カテゴリーのカタログと製品検索という 2 つの製品リストが必要です。
- 製品の閲覧:ユーザーが製品を見つけて興味を持ったら、当然、ユーザーが商品をより詳しく閲覧できるようにする必要があります。そのため、製品に対応する情報(価格、重量、サイズ、説明)を設定できるようにしなければなりません。また、商品に評価やコメントを付けられる機能を追加できるとよいでしょう。
- ウィッシュリストを作り、ユーザーが将来買いたい商品を追加できるようにします。
注文手続き
注文手続きのプロセスは 3 つの段階を含みます:
1.1. 自分の CMS を作る。序文。
このコースのこの部分では、オンラインストア向けの自分の CMS の作成に取り組みます。しかし始める前に、自分の CMS を書く必要があるのか、それとも例えば便利な Commerce(と大量の既製モジュール)を持つ Drupal を使うべきなのかを理解するために、この序文を読むべきです。 序文では、次のことを取り上げます:
- オンラインストアの動作のロジック
- 既存のものを使う代わりに、自分の CMS を開発すべきとき
- 自分の CMS の利点
- 他の既製のオンラインストア CMS の説明
オンラインストア:なぜ必要なのか?
誰もがすでにインターネットでの買い物に遭遇したことがあると思います。インターネットには、ありとあらゆるものを売るサイトが溢れています:
PHP レッスン — パート 3 — 自分の CMS を作る
CMS でのサイト作成は、Drupal、Joomla、WordPress だけに限られません。世界では、ほとんどのサイトが自作の CMS で作られています。すでに PHP で多くのコードが書かれているにもかかわらず、プログラマーは非常によく自分自身の開発物を使います。なぜ自分の CMS を使うのか、理解してみましょう。
確かに、自作モジュールのための多くのモジュール、フック、関数を持つ強力なシステム Drupal は存在します。多くの人が自分のモジュールを書けますが、Drupal 自体の作成に携わっている人が何人いるか見てみましょう。もちろん、Drupal は数百、いや数千人のプログラマーの労作だと読んだことがあるでしょう。しかし、実際に誰が Drupal を作っているのか見てみましょう。
Drupal のダウンロードページには、Drupal のコア、つまり CMS 自体に取り組んでいるプログラマーのリストのブロックがあります。
drupal.org/node/3060/committers?sort=desc&order=Commits
そしてこのページには、彼らが加えたコアの修正とともにプログラマーのリストがあります。そのリスト: