どうも、カッパです。
動画やオンライン教材など、現在はとても快適にプログラミングを学べるようになっています。おかげで積極的に利用してプログラミングスキルを身につけることができますね。
しかし、学習から実践に移行する段階が初心者にはなかなか難しい。
プログラミング学習などに詳しいブログなどを見ても
ある程度学習したら自分で掲示板などのWebアプリケーションを作ってみましょう
と、いきなりハードルが上がってしまいます。
たとえ掲示板程度でも、最初から作るとなると結構時間がかかるもの。会社勤めや子育て中の身だったりすると、取り組むための時間確保が難しかったりすることもあるのではないでしょうか。
という状態になってしまうと、いわゆるスキルコレクターという状況に陥ってしまい、学習は停滞してしまいます。
そこでおすすめなのが、学習したスキルを小さく使っていくことです。
実践。面倒なリンクリストのメンテ作業を肩代わり
ホームページにメンテナンスはつきもの。リンクリストのメンテナンスなんて、日常業務として結構あると思います。
その場合、
<ul class="RelatedServiceLink">
<li class="RelatedServiceLink__item"><a href="https://example.com/link/" target="_blank" rel="noopener noreferrer">関連サービスリンク</a></li>
<li class="RelatedServiceLink__item"><a href="https://example.com/link/" target="_blank" rel="noopener noreferrer">関連サービスリンク</a></li>
<li class="RelatedServiceLink__item"><a href="https://example.com/link/" target="_blank" rel="noopener noreferrer">関連サービスリンク</a></li>
<li class="RelatedServiceLink__item"><a href="https://example.com/link/" target="_blank" rel="noopener noreferrer">関連サービスリンク</a></li>
<li class="RelatedServiceLink__item"><a href="https://example.com/link/" target="_blank" rel="noopener noreferrer">関連サービスリンク</a></li>
<li class="RelatedServiceLink__item"><a href="https://example.com/link/" target="_blank" rel="noopener noreferrer">関連サービスリンク</a></li>
...
</ul>
こんな感じのHTMLソースを編集することになります。
手動で行うならaタグのURLと「関連サービスリンク」のアンカーテキストを書き換えなければいけません。
URLとアンカーテキストが結構離れているので、マウスの移動もなかなか面倒。
最近は無料の高機能エディタがあるので、そこまで大変な作業ではないかもしれませんが、ここはせっかく覚えたPHPのスキルを活かしたいところです。
<ul class="RelatedServiceLink">
<?php
// 配列の初期化
$RelatedServiceLink = [];
// リンクデータ作成
$RelatedServiceLink = [
'関連サービス名1' => 'https://example.com/link_url1/',
'関連サービス名2' => 'https://example.com/link_url2/',
'関連サービス名3' => 'https://example.com/link_url3/',
'関連サービス名4' => 'https://example.com/link_url4/',
'関連サービス名5' => 'https://example.com/link_url5/',
'関連サービス名6' => 'https://example.com/link_url6/',
];
?>
<ul class="RelatedServiceLink">
<?php foreach ($variable as $key => $value) { ?>
<li class="RelatedServiceLink__item"><a href="<?php echo $value; ?>" target="_blank" rel="noopener noreferrer"><?php echo $key; ?></a></li>
<?php } ?>
</ul>
既存のHTMLにちょい足しできるところがPHPの良いところ(.htmlのままPHPを動作させるには、サーバーの設定を変更する必要があります)。
これでリンクリストの内容を編集する場合、配列内のデータを修正すればOKという状態になりました。HTMLを直接いじるよりはずっとやりやすいですよね...?
実践したら発展させる
そして自分が書いたコードを見ていくと、
- URLはエンコード処理を加えた方がいい
- 配列部分は外部ファイルで管理しやすくしたい
- リンクのデータ部分はCSVにできないかな
- 他のリンクリストにも応用できるようにファンクション化できないかな
- もっと面倒な表データの整備があるんだけど、これも配列でなんとかならないかな?
などなど、気づいたこと、やりたいことがどんどん出てくるのではないでしょうか。
ここまでくれば、リンクリストの生成プログラムも立派なモジュールになります。大きなサービスも小さなモジュールがたくさん寄り集まってできています。
まずは小さなモジュールをしっかり作れるようになれば、今後にとってきっとプラスになると思います。