素のPHPでコードを書く際の問題点【フレームワークを使う理由】

problem Webエンジニア

webエンジニアになる為にどんなwebサイト・アプリを作ったらいいか?の記事から始まり、10数記事にわたってwebアプリを作る記事を書いてきました。

これまではあえて巣のPHPでそのまま問題がおきそうな部分でも書きっぱなしにしてきました。今回はその問題点を把握して行こうと思います。

素のPHPで書く問題点

別に巣のPHPのままで書くのは悪いことではありません。適切に書けているなら素で書いているから悪いということもないです。

ただ素で書いていくとぶつかる問題も多いので、ここではその問題点についてどのような対処をしていけばいいのか考えてみます。

HTMLの表示部分とPHPのコードが混ざる

例えば以下の記事で書いたコードを見てみてください。

post

【PHPでwebアプリ】ログインユーザーのマイページと新規投稿機能編

2019年10月3日

HTMLによるページの表示部分と、PHPによるコードが交互に混ざり合って非常にわかりづらい状態になっています。

この状態の致命的な問題点は、見てわかりづらいこともさることながら、デザイナーとの作業分担がしにくいということです。

デザイナーはHTMLのみを修正してページのデザインを整えることだけに集中させてあげるべきだと思います。

解決方法

アプリの開発モデルにはMVCモデルというものがありますが、Vのビューは表示部分と切り分けて開発します。

まだ何を言ってるかわからないかもしれませんし、ここをイチから自分で分離して開発するのも手間になるだけかと思います。

そこでフレームワークを活用することが選択肢に入ってきます。フレームワークはMVCモデルに分かれているので嫌でも分離できます(ほとんどは)

今までの記事で書いてきたものは、今後すべてLaravelでリファクタリングしてそれを記事にする予定なのでそちらも見て上げていただければと思います。

似たようなコードが色々なところで出てくる

今まで書いた記事でいくと最初にデータベースに接続する部分は、データベースを利用する全てのページで記述されており、もしデータベース名やパスワードに変更があれば修正がえらいことになります。

ここだけdb.phpと分離してrequireする形にすればひとまずは解決しますが、このように分離と読み込みを無計画に繰り返すとそれはそれでめちゃくちゃ複雑になっていきます。

理想的にはこれに関する部分はココ、という感じで綺麗にまとまっているのがいいですが、そこでもまたフレームワークの出番です。

その取り決めの良し悪しはさておき、フレームワークではそのフレームワークのルールに乗っ取った形になっておりそれに従うことになります。

車輪の再開発を避ける

プログラムの世界では車輪の再開発は避けるという言葉がそこそこ使われます。

これは一度作ったものをまたイチから作るようなことはしないで再利用することを意識するための言葉ですね。

同じようなコードは複数個所に書かないで、再利用できる形で分離しておくのが大方の場合で最良となるでしょう。

まとめ

大きく二つくらいしか書いていないのですが、極論を言えば一人でコードを書くならこれでも全然動けば問題ないといえば問題ないんです。

しかし企業で働く場合にはほぼ複数人との協力体制になります。自分ルールのコードほど他人が見てわかりづらいものはありません。

ついつい動けばOKのコードを書いてしまいそうになりますが、その後に人が見てメンテナンスを行う可能性があることも常に考慮を忘れないようにしたいものです。

かくいう私も他人が見てわかりやすいコードを書けているとはいえないので頑張らなければいけないですね。