見出し画像

WordPressにPHPのフレームワークとライブラリは必要か?

今回はこの👇ツイートをもとにした記事です。

私も3年前にWordPressでプログラミングを学び始めた頃、
「フレームワークとライブラリの違いってなに?」
「WordPress開発で使えるライブラリってなに?」
「WordPressのテーマ作りで使えるフレームワークってある?」
こんな疑問を持ちました。
今日はこの3つの疑問をまとめていきます。

フレームワークとライブラリの違いってなに?

画像1

結論はツイートの通りですが、同時にこんな疑問も出たかもしれません。
“フレームワークがなぜ必要なのか?”
それは、Webサービスを作る時にの重要なことを解消してくれるからです。

具体的にはこの👇項目です。
・バリデーション(未入力チェック、文字数チェック等)
・ログイン認証
・セキュリティ対策
・記述コードの統一性など

たった4つでしょ?と思うかもしれませんが、
実際にコードを書くと考えることが増えて
コードの量も増えてくるので大変です😅
ぶっちゃけると、私も上っ面を知っている程度😅
ゼロから実装出来る機能はありません😅
ググってコピペしている段階なので、Twitterで応援しあいましょう!

少し話がそれましたが、
WordPressを使わないPHPサイトなら、
「Laravel」(http://laravel.jp/)はマストになるはず。
と言うのも、サイトなどを作りきるスピードアップが大事だからです。

基本的なことはフレームワークに頼って、
クライアントの要望に応えたりアイデアを実装することに集中する。
その方が楽かもしれません。
けれど、私が目指しているフルスタックのWordPress開発者なら
Laravelは不要だと考えています。
WordPressとLaravelの違いや共通点はググってまとめていきますが、
Laravelを使わなくてもWordPressのテーマを使ってカスタマイズすればサイトが出来るからです。

じゃあ”ライブラリってなぜ必要なの?”と思いますよね。
これも結論を先に言うと、
「よく使う機能はサイトによってそんなに変わらないから」です。

メール送信機能やファイルをアップロードする機能だったり、
フォームのバリデーション機能などは基本となるコードが決まってるので
使いまわしでいいよね。
そんな感覚で生まれたのだろうと私は考えてます。

よく使う機能としては、
・ダミーデータの作成⇒Faker(https://fakerphp.github.io/)
・メール送信⇒PHPMailer(https://github.com/PHPMailer/PHPMailer)
・ファイルアップロード⇒Upload
・ユーザーが入力した内容のバリデーション⇒Respect/Validation
他にもたくさんあるので、気になった方は「PHP ライブラリ」で検索してください^^

WordPress開発で使えるライブラリってなに?

画像2

ググってみるとPHPモジュールの「imagick」と「GD」が必要だと言う声を多く目にしました。
「imagick」とは?
・gif、png、jpg形式で投稿した画像をJPEG-2000などの比較的新しい画像ファイル形式に自動で変換してくれる
・画像ファイルが旧来のgif、png、jpg形式からJPEG-2000などの新しいファイル形式に変わるため画像を使った記事の読み込み速度が速くなる
・GDに比べて高機能で、処理後の画質が良いけど処理速度ではGDに劣る。
「GD」とは?
多くのプログラミング言語をサポートする画像処理ライブラリ。
PHP4.3以上(2021年10月30日時点の最新はPHP8.0.11)以上ではデフォルトの拡張機能。
ただし、WordPressにImageMagickとgdの両方がインストールされていると
ImageMagickが使われるようです。
ImageMagick: https://imagemagick.org/
Gd: https://libgd.github.io/
結論としては、改めて導入するほどのライブラリはなさそうでした。
と言うのも、
・WordPressにはすでに基本的なライブラリが入っていること。
・足りない機能はプラグインで補うから。
あとは自分の好みで足したり、引いたりするくらいですね。

WordPressのテーマ作りで使えるフレームワークってある?

結論としては、
WordPressのテーマ作りはブランクテーマやスターターテーマと呼ばれる、
基本的なコードがパッケージされたテーマを使って作っていきます。
個人的な好みでcomposerを使ったり、Larabelで作る方もいるかもしれませんが、
基本的な流れはこの通りです👇

1. ブランクテーマをダウンロードする。
2. PHPのテンプレートファイルに必要なコードを追加する。
3. CSS(Sass)でレイアウトを追加する。

基本的なコードは出来上がっているので、
後は自分が作りたいレイアウトや機能を追加するだけ。
シンプルです。
代表的なブランクテーマのリンクはこちら👇
・Underscores⇒ https://underscores.me/
・Genesis Framework⇒ https://www.studiopress.com/themes/genesis/
・BlankSlate⇒ https://ja.wordpress.org/themes/blankslate/
・Beans⇒ https://www.getbeans.io/
※ちなみに、私がよく使っているのは"Underscores"です。

フルスタックのWordPress開発者にはゼロから作れる技術が必要です。
でも、駆け出しなら少しずつ慣れていく!
それくらいで良いのではないでしょうか?

まとめ

Q:フレームワークとライブラリの違いってなに?
A: フレームワークはサイト作りに必要な機能をパッケージしたツール。
ライブラリは、よく使う機能をあらかじめまとめたコード
Q:WordPress開発で使えるライブラリってなに?
A:ImagickとGDがあるけど、デフォルトで設定されているので特別にはなさそう。
Q:WordPressのテーマ作りで使えるフレームワークってある?
A:ブランクテーマ(スターターテーマ)を使えば良いからLaravelなどはなくてもいい。

今回はフレームワークとライブラリの違いをまとめつつ、
3年前に私がWordPressでプログラミングを学び始めた頃の疑問と合わせて
記事を書きました。
WordPress開発をするならブランクテーマを使えば十分だと分かったので、
・LAMPやLEMP
・プラグイン
・メンテナンスやサポート
・テーマ作りやカスタマイズ
・バックグラウンドでのデータベースなど
フルスタックのWordPress開発者に必要な知識を学び発信していきます^^

最後まで読んでいただきありがとうございます^^
みつかより(@Mityu_ka)

サポートありがとうございます。Mityu-kaを成長させて皆さんに恩返しができるように役立てていきます。