PHPやっている人は多いですよね。自分もPHPカンファレンスに行ったりしていたのですが、ちゃんとPHPを体系的に学んだことがなかったので、今回オライリーの初めてのPHPを買ってガッツリやってみようと思います。
当面の目標としては以下を立てています。
- 仕事で使うために不自由なくなること(書くことはあまりないので読む方で)
- PHPでのWebアプリケーションを作成(スキルと副業的な意味で)
- WordPress構築の素地とする(スキルと副業的な意味で)
進め方
まず全体像を把握(今回の記事)し、どういうものを学んでいくのかを確認します。
その後、各章を1つずつやっていこうと思います。
なぜ、今PHPなのか
これは個人的な意見になるのですが、PHPをしっかり学ぶことでWebアプリケーションでの大抵のことはできるようになります。
また、WordPressなどの有名CMSなどの理解も大きく進みます。
あまりいないとは思いますが、WordPressからWeb開発始める場合は基礎がない場合2合目くらいでつまずくはずです。それは、WordPress固有の特徴や独自関数、データベーステーブルの構成など様々ですが、言語としてはPHPなのは変わりません。
そこで、WordPressをやっていくにしてもまずはPHP(HTMLやCSSやJavaScriptは別)をやることが最短距離なのではないかと思っています。
僕はガチエンジニアというよりはもっとビジネス寄りでマーケティングやセールスの知見も取り入れた形で商売をしていきたいと思っています。現代は情報化社会でエンジニアリング的な知識や素地がないとどうしようもない状況にもなってきています。
また、これからは特に人工知能(AI)に関する知識と素地が重要になってきますがその中身をみると人間が操るソースコードです。
つまりガチエンジニアでなくても、「プログラミングくらいできるようになっておかないといけない」世の中です。
実際まだそういった人は少ないので、個人でやろうと企業でやろうとかなり貴重な人材です。
ぜひ目指して進んでいきましょう!(自分で作れたほうが楽しいですし)
初めてのPHPについて
なぜこの「初めてのPHP」を選んだのかというと、技術書といえばオライリーだということに加えて、廣川類さんや桑村潤さんが監修に入っていたということです。この2人はPHP関連の書籍に多く関わっているので「PHPといえば!」くらいな人のタッグです。
対象読者は、PHPの原理を知りたいエンジニア、デザイナー、Webサイトを構築したい人たちなので、いいかなと思いました。
全体像を掴むために章ごとに何が書かれているのかを見ながら、重要そうな部分を抜き出していきます。
オリエンテーション
1章 オリエンテーションとはじめの一歩
PHPの背景や仕組みについて学んでいきます。
PHP基礎
2章 テキストと数の操作
テキストや数値などの様々な種類のデータを扱う方法を学びます。
テキスト、数値、変数などが対象です。
3章 ロジック:判定と繰り返し
以下のようなことを実現します。
- 商品カタログからユーザーがWebフォームに入力した2つの価格の間にある商品だけを表示
- 許可された人だけに機密情報を表示
- 最後のログイン以降に掲示板に投稿された新しいメッセージ数を通知
true, false、判定、繰り返しなどを扱います。
4章 データのグループ:配列の操
個々の数値やテキストの集合である配列について学びます。
- 投稿されたWebフォームパラメータの処理やDBから取得したデータの検査
- 配列の基本
- 配列のループ
- ソート
- 多次元配列
5章 ロジックのグループ:関数とファイル
関数(ファンクション)というプログラムを再利用する上で役に立つ仕組みを学びます。
- 変数宣言、呼び出し
- 引数のわたし方
- 値の返し方
- 変数とスコープ
6章 データとロジックの結合:オブジェクトの操作
データとロジックを組み合わせてオブジェクトにする方法を学びます。
オブジェクトは、プログラムを構造化するのに役立つ再利用可能な一連のコードのことです。
- オブジェクトの基本
- コンストラクタ
- オブジェクトの拡張
- 名前空間
ユーザーとのやり取り、情報の保存、他のWebサイトとのやり取り
7章 ユーザーとの情報交換:Webフォームの作成
ほとんどのWebサイトに必要なWebフォームの扱いについて学びます。
- サーバ変数
- フォームパラメータ
- データ検証
8章 情報の保存:データベース
データベースの解説の章です。PHPプログラムにてデータベースとやり取りする方法を学びます。
- データベース接続
- テーブル作成
- データベースへの書き込み
- データベースからの取得
9章 ファイルの操作
PHPプログラムでのファイルの読み書きを学びます。
- ファイルのパーミッション
- エラーチェック
10章 ユーザーの記憶:クッキーとセッション
ユーザー管理の方法を学びます。
- 一時的なデータのためのクッキー
- アカウントへのユーザーのログイン
- 商品のショッピングカートなどのセッションデータの管理
- クッキーの操作
- セッション有効化
- セッションの構成
11章 他のWebサイトやサービスとのやり取り
- プログラムで他のWebサイトの内容を取得
- WebAPIの使用
- APIレスポンス
- ファイル関数を使ったURLアクセス
- cURLを使ったURLアクセス
- APIリクエスト
より優れたプログラマになるための知識
12章 デバッグ
- エラー出力場所の制御
- パースエラー修正
- プログラムデータの検査
13章 テスト:プログラムが正しく動作するようにする
- 検証、テストの記述方法
- PHPUnitのインストール
- テスト駆動開発
14章 ソフトウェア開発で心得ておきたいこと
- バージョン管理
- 課題管理
- デプロイ
その他
15章 日付と時刻
日付と時刻のためのPHPの機能を学びます。
- 日付と時刻の表示、解析、計算
- タイムゾーン
16章 パッケージ管理
- 他の人が書いたライブラリを自分のコードに取り入れる
- Composerのインストール
- パッケージの追加
17章 メールの送信
PHPプログラムからメールを送信する方法を学びます。
- SwiftMailer
18章 フレームワーク
便利なフレームワークを学びます。
- Larabel
- Symfony
- ZendFramework
19章 コマンドラインPHP
コマンドラインからPHPを実行することで、簡単なユーティリティや短いプログラムのテストなどを行えるようにしていきます。
- PHP REPL
20章 国際化とローカライゼーション
言語や文字セットのテキストを扱う方法を学びます。
- エンコーディングの相互変換
- 日本語メールの送信
- 出力のローカライズ
最後に
なんと、20章 +α ありました。。。
ボリュームすごいですが、着々と続けていきます。
アウトプットはこのブログに書いていきます!
参考資料として、オンラインマニュアルも良いようです。