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

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

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

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

Q&A

解決済

1回答

3457閲覧

PHPのレベルを中級者レベルに上げるには

coffee

総合スコア139

PHP

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

1グッド

7クリップ

投稿2015/04/05 23:23

今、PHPを使って色々と開発をしていますが、まだまだ初心者です。
かなり初歩的な構文などは理解してますが、フレームワークを使った開発だったり、
MVCとかデザインパターンみたいな事を意識したような設計が出来ません。

現在は基本スクラッチで、ファイルが大きくなったら適当にクラスにして作ったりしてますので、テスト等もあまり書いてません。
きちんとした考えを持ってクラス設計が出来て、テストも行えるようになるにはどうしたら良いでしょうか。
何かお勧めの本や、読む順序などがあれば教えて下さい。

Harinezumi👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

教えてもらった本を読むよりは、自分なりに本屋さんで本を探して試行錯誤する方が身につくと思います。
(人間、自分で発見した知識の方が、重要感を抱くものだからです。)

とはいうものの、

きちんとした考えを持ってクラス設計が出来て、テストも行えるようになるにはどうしたら良いでしょうか。

という観点であれば、以下の本をオススメします。いずれもPHPの本ではありませんが、言語の構文の細部はどうでもいいので、考え方そのものを学ぶのに使えます。

オブジェクト指向入門 第2版 原則・コンセプト
バートランド・メイヤーによる、OOPの基本理論書です。Eiffelというマイナーな言語を使っていますが、かっちりとOOPを学ぶなら、まず外せないと思います。

増補改訂版Java言語で学ぶデザインパターン入門
結城浩によるデザインパターンの入門書。非常に質が高く、読みやすいです。デザインパターンを学ぶことで、世にあるクラスライブラリの設計の背景にある考え方がわかるようになります。

ソフトウェア作法
ブライアン・カーニハンとP.Jプローガーによる、小さな部品を組み合わせてソフトウェアを設計/実装するという哲学の入門書。UNIXの哲学はこの本に凝縮されていると言って良い。成功するソフトウェアの書き方のエッセンス。

**リファクタリング―既存のコードを安全に改善する― **
マーティン・ファウラーによるリファクタリングの決定本。xUnitによる自動テストがなぜ重要かと言えば、リファクタリングのために必要だから。リファクタリングしないなら、テストを一生懸命書いてもその威力は半減してしまう。なぜリファクタリングするのかを理解することで、テストの価値を理解できる。テストの価値がわからなければ、有意義なテストは書けません。

計算機プログラムの構造と解釈 第二版
ハル・エイブルソン, ジェリー・サスマン, ジュリー・サスマン共著によるコンピュータ科学の入門書。しかし、非常に学習曲線が急勾配で、初心者に限らず、誰にとっても厳しい。厳しいが、ここに書かれている理論はあらゆるプログラミングのエッセンスなので、非常に重要である。
Web上に全文公開されている。

https://github.com/minghai/sicp-pdf

投稿2015/04/05 23:52

chokojori

総合スコア971

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問