
Webアプリケーションという言葉が有名になるにつれて、PHPも有名になってきました。
ですが、いまいちPHPに何ができるのかといった事を分からずに使っている方も多いと思います。
そこで、今回はPHPにできることを一通りまとめて、他言語との違いについて解説していきます。
CONTENTS
プログラミング言語のPHPとは?
PHPという用語は知っているけど、細かく用語について調べた方は少ないはずです。
PHP (PHP: Hypertext Preprocessor を再帰的に略したものです) は、広く使われているオープンソースの汎用スクリプト言語です。 PHP は、特に Web 開発に適しており、HTML に埋め込むことができます。
PHPで生成したHTMLコードは、結果のみが表示されるのでその過程が隠されます。
そのため、クライアントサイド(ユーザー側)から、どういった処理をしているのかを把握されにくくなります。
PHPの言語としての特徴
PHPという言語には、型指定が必要ありません。これは、他言語で躓いたことがある人なら理解がありますが、手間を減らす特徴です。
具体的には、floatやintといった型を行き来できます。さらに言えば、文字列との間も行き来できてしまいます。
こういった特徴から、PHPは初心者には扱いやすい言語だと言えます。
とはいえ、PHPが網羅している機能の中には、プロを満足させる物も十分揃っているので、幅広く扱える言語とも言えるでしょう。
それでは、実際にPHPにできることについて触れていきます。
サーバーサイドの処理
まずは、サーバーサイドの処理があります。
サーバーサイドとは?
Webサービスなどを設計した際、クライアント(ユーザー)が操作するクライアントサイドと、ユーザーが見えない部分で処理をするサーバーサイドに分かれます。
つまり、PHPが処理する範囲として、ユーザーから見えないサイドを扱えるということになります。
サーバーサイド処理の具体例
サーバーサイドで処理をしたほうが良いものの具体例をあげてみましょう。
- 検索エンジン
- CMS(content management system)
- ブログ
- 掲示板
- SNS
などです。これらは、データベースとうまく連携して機能することが多いです。こういったものをCGIと呼んだりもします。
ただの電卓機能とかでしたら、クライアントサイドで完結させてしまいましょう。
コマンドライン上での操作
コマンドラインを使って、直接PHPを実行できるのも特徴の一つでしょう。これにより、APIやCronの実行・テストなどを行うことが出来ます。
具体的には筆者はTwitterAPIのテストの際に、コマンドライン上でPHPを実行することがあります。
1 |
php hoge.php |
この形式で実行することが出来ます。
ファイルの生成・ダウンロード
PHPではファイルの生成を行ったり、それをクライアント(ユーザー)にダウンロードしてもらうことも可能です。
ファイルは、画像や動画、音声だけでなくPDFやZIPなども扱うことが出来ます。
生成して蓄積しておくことも可能
何も、ファイルを生成したらユーザーに渡さなければならないといった決まりもありません。
生成するたびに、ログとして蓄積することだって可能になります。
データベースとの連携
MySQLなどとのデータベース連携ができるのも、PHPのメリットの一つです。このデータベース連携によって、掲示板・SNSが利用できるようになっています。
データベースを扱う際には、セキュリティの面を非常に気にすることが多いですが、PHPはセキュリティ対策のための準備がかなりされています。
PHPでSQL文を発行する
具体的に連携のやり方を説明しておきます。結論から言うと、データベースの連携のためにはPHPだけでなくSQLについての理解も必要です。
そのSQL文を、PHP上で発行し、データベースに向けて実行するといったイメージで構いません。
テキスト処理
PHPで意外と特徴的なのが、このテキスト処理です。テキスト処理とは、文字列を置換したりするなどの操作のことです。
具体的な処理については、下の記事を参考にすると良いですが、60種もの関数が準備されています。
文字列関数|テキスト処理|PHP|PHP & JavaScript Room
PHPのライブラリとは?
また、PHPには、ライブラリが数多くあります。
まずライブラリとは、
ライブラリ(英: Library)は、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。 ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合がある。 ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。
参照:wikipedia
と書いてあります。
もっと別の表現で簡単に言うと「よく使う機能を、使いやすい形でまとめて提供してくれているコードの集まり」だと言えます。
フレームワークとライブラリの違いは?
ちなみに、フレームワークは、機能全体の骨組みまで設計されていて、筆者らは一部のコードを書けば、全体が動いたりします。
一方で、ライブラリは筆者らが使いたい時に、ライブラリの一部を利用して使います。イメージですが、少し辞書に似ているかと思います。
どうやってPHPのライブラリを見つけるのか?
今では、ネットでの情報が広まったおかげで、知っているライブラリを見つけるのも、導入するのも比較的楽になりました。
ですが、「名前を知らない」ライブラリを見つけるのは一苦労です。
ずっと実装できなかった機能が、ライブラリを使ったら一瞬できてしまったなんてこともあるので、ライブラリの見つけ方を心得ておくことは意味があると思います。
筆者が個人的にライブラリの見つけ方として考えてるものをお伝えします。
すでにリリースされているサービスから知る
大体の場合、これから実装しようとしている機能は、どこかの会社のサービスでモデルケースがあるはずです。
そのモデルケースについて詳しく調べると、どんなフレームワークを使っているとか、どんなライブラリを使っているとかの情報が出てきたりします。
採用情報などに開発言語が書いてあったりするので、なんとなく見つかるイメージはつくでしょう。
知り合いから聞く
個人的には、この知り方が一番早いと思います。
筆者「○○みたいな機能をつけたいんだけど」
相手「あ、そういう感じのなら前見つけましたよ」
という感じで、10秒くらいで見つけられてしまいます。開発に使っている言語に詳しい人に一度言ってみるのも手でしょう。
ネットで見つける
これが一番一般的だと思いますが、ネットで「php お問い合わせ ライブラリ」みたいに検索をすることです。
実装したい機能が言葉で表現できるのであれば、大体見つかります。
PHPライブラリのインストール方法まとめ
ライブラリを見つけたら、次はインストール方法です。
実は、このインストールの作業が苦手といった方は多く、そのせいでライブラリを使わないという人がいます。
ですが、単純化してしまうと分かりやすいものばかりだったりします。大体の場合、ライブラリの導入の仕方は以下のステップだけです。
- ライブラリ本体をインストールする
- ライブラリを実行するために必要な環境をインストールする
多分、大体の人は2で躓くのだと思います。さらに、composerというものの登場で、さらに複雑になった印象を抱くのだと思います。
ComposerはPHPの依存管理ツールです。 Composerはあなたのプロジェクトが必要とする依存ライブラリを定義できるようにして、インストールを行います。
(参考:https://kohkimakimoto.github.io/getcomposer.org_doc_jp/doc/00-intro.html)
エラーで行き詰まった時どうするかの?
ネットに上がっている情報をもとにインストールを進めていった時、エラーで進まない時があります。
筆者も、これによく直面しますが、そういった時の解決策はもう「人に聞く」か「エラー内容を見る」しかないかと思われます。
おすすめのPHPライブラリの一覧
最後に、PHPのおすすめのライブラリの紹介です。
- PHP初心者におすすめのライブラリ8選とライブラリ導入方法|フリエン
- PHP 開発が爆捗る PHP ライブラリ 10 選 | Tech2GO
- HPでの開発を便利にしてくれるライブラリ20個まとめ – NAVER まとめ
また、筆者らがインストールして使おうとしているライブラリは誰かが作成したものです。
一度でもライブラリを使ったことがある方は、どこかに開発者の名前が書いてあったりするのを見かけたと思います。
それをライセンス表記と言ったりします。ライセンス表記は明示しないと行けない場合があったりもするので、きちんと確認が必要です。
ライブラリは、高速で動くように設計されているものも多く、効率を上げる為に役立つと思っています。
インストール方法も慣れてきたらスムーズに終わるようになるので、少し頑張って導入に踏み出してみてくださいね。
PHPやPHPのライブラリに関するまとめ
以上、いかがでしたか?
ここまでPHPでできることやPHPのライブラリついてご紹介してみました。
もっと技術的なレベルが上がれば、Laravelといったフレームワークを使ったWebアプリケーションや、GUI(クライアントサイドで動くアプリケーションみたいなもの)を作成することも可能です。
まずは、PHPの一通り理解をして、必要なものは動かせるようになるのがおすすめです。最後まで読んでいただき、ありがとうございました。