日々の忘備録とリファレンス

PHPマニア

HTML・CSS・PHP・jQuery・Mysql・Linuxの総合情報サイト

HTML・CSS・PHP・jQuery・Mysql・Linuxの情報サイト

トップ

ホームページ制作を始めたきっかけ

ある日、ホームページが必要になった。
その時私はパソコンも苦手で、ましてホームページの仕組みも分からなかった。でもどうしても自分でホームページが作りたく、無料のホームページで制作した。無料のホームページは、HTMLやCSSの知識がなくても制作出来たが、デザインがカッコよくなかったのと、なにしろ広告が表示された。そこで、一から広告のないホームページを作りたく、HTMLとCSSを勉強した。
そこで今思えばデザインは本当にカッコ悪かったが、なんとかペラサイトのホームページが出来た。今考えると人に見せれるほどではなかった。

プログラミングを始めたきっかけ

しかし、お問い合わせページなどは、CGIを必要とするので、どうしても外部プログラムを借りなければならなかった。そこまで自分で作るには、プログラミングが必要だと知った。

何から始めればいいのか、いきなりサーバー側プログラミングを勉強するには敷居が高かった。なので、まずJavaScriptから始めた。そこで、JavaScriptでメールフォームを作った。しかし限界があった。

そこで初めてサーバー側プログラミングが必要だと分かった。何から始めようかと、PerlとPHPか悩んだ。まずはPerlを始めた。なぜなら当時は丁寧に書いてあるプログラミングの教則本がPerlが多かったのと、関数名がPerlの方が綺麗だったからだ。そこでPerlの本を買いあさり、メールフォームを作った。そして、やはり一番サーバー側プログラミングで憧れるのはショッピングカートだった。そして初心者ながらも、教則本をそのまま真似てPerlでショッピングカートを作った。ちなみにここではデータベースを使わずCSVでのショッピングカートだった。しかし、それ以上の応用はPerlは本が少なく、もしかしたらPHPの方がいいのではと思ってきた。その時の唯一プログラミングができる職場の先輩も、今なら絶対PHPだと言ったので、思い切ってPHPを勉強することにした。

PHPとの出会い

一からまた新しいプログラミングを習得するには勇気がいった。早速本屋で教則本を買いあさり、一日5冊買うときもあった。仕事の帰りは本屋に寄り、仕事の休憩時間も電車などの移動時間も本を読み、PHPを勉強することに明け暮れた。
そして、教則本を読みながら、なんとかPHPでメールフォームを作った。
しかし、PHPでのショッピングカートの教則本は、データベースを使っており、データベースを勉強する必要が出てきた。そこでMySQLを勉強するために、また本屋へ通った。そしてなんとかショッピングカートが出来た。

ショッピングカートを作れるくらいになると、プログラミングをうまくまとめたくなった。そこでテンプレートやらフレームワークやらに興味を持った。テンプレートならsmarty、フレームワークならcakephpなどがあるが、どうせならフレームワークを自分で作りたいと思った。そして一からフレームワークを勉強した。あるフレームワークのプログラムなどを参考にし、1000行以上あるプログラムをよく解析したりして少しずつ作っていった。そして独自MVCフレームワークが出来た。そこまで行くと、自由自在にプログラムが増やせるようになった。自分のプログラムを少しづつ増やしていくのが楽しくなった。

酷な勉強の積み重ね

しかし、本当にこれでいいのかと思った。
PHPなどのサーバー側プログラミングは、脆弱性やサーバー側知識も必要となる。そのショッピングカートの教則本にも脆弱性をふまえて解説してあったが、応用もしていかないといけない。そこで脆弱性の本を読み勉強した。脆弱性ツールで確認までした。

そしてPHPに精通するならWebサーバーも勉強しないといけないと思った。当時はApacheが主流だったので、httpd.confをはじめ設定の意味を全て理解し、自分なりにまとめ、confファイルを触らなくても新しいサイトを作れるようにもした。

そうなるとサーバーのことも勉強したくなった。そこで、Linuxを勉強した。Linuxは一番難しかった。今までしたことないコマンドに慣れるのは時間がかかった。でもコマンドでできるようになったらSSHもできるので、phpmyadminなども必要ないなと思うようになった。

Linuxを勉強し始めたらTcpIPも勉強した。当時働いてる職場がインターネット会社だったから、それと結びつけることが出来、クライアントサイドからサーバーサイド、そしてインターネットの仕組みまで理解出来た。

そしてVPSを扱えるようになった。
VPSは共用サーバーと違い、サーバーの知識がかなり必要になる反面、全て自由に設定できる。自分の必要なソフトのみインストールして、他を止めたりできるので、分かってくると自由自在だし楽である。

独自MVCの育成

毎日の独自MVCフレームワークの開発が楽しかった。フレームワークはテンプレートよりもまるで引き出しのように整頓できる。オブジェクト指向なので目で見ても階層型なのでわかりやすい。
データベースとの連携もクラスで整えたり色々まとめたりすると、いろんなサイトに挑戦したくなった。ホームページ制作ツールを作ったりローカル開発環境を整えたり、自由自在にフレームワークを作っていった。

そうなると、どれもこれも自分で作りたくなって来た。サイトの管理画面はもちろん、CMSでも何でも作りたいものがあればどういうデータベース構成にすればいいかイメージしたらすぐにわかるようになった。グラフで見れるアクセス解析も自分で作った。管理画面はWordpressよりも操作性がよく分かりやすい管理画面になった。

一番大きい自分のプロジェクトは翻訳サイトだった。たまたまいくつか言語を勉強していたので、その文法を一つ一つプログラムに打ち込んでいった。かなり無謀だった。しかし、ある程度その翻訳サイトは出来上がってしまった。長い文章が翻訳されたときの快感がたまらかった。
でも長大なプログラムゆえ、自分で何書いてるのか分からないレベルまで達してる。正規表現だらけの翻訳プログラムは時間を置いたら忘れるしメモを書いてても分からないしかなり整理整頓してるはずだが、自分自身で分析するのも一苦労だ。

Wordpressは苦手だった

全て仕組みがわかるようになったら、晴れてプログラマーになった。
実は当時Wordpressはまだ触ったことがなく、でも合格するにはWordpressを使う会社だったので、急いで勉強して、簡単な独自テーマとプラグインを作った。あとフルスクラッチで作ったサイトも提出した。そしたら意外にも合格した。
それもおそらく誰でも知ってるWordpressテーマの日本一と言える某会社だ。そこでノマドを経験した。

そしてWordpressもカスタム投稿やカスタム分類、カスタムフィールドはもちろん、独自ウィジェットやクイック編集やメニューなど管理画面のカスタマイズ、テーマオプションの作成、アップデートチェッカー、プラグインなど色々作ったりするとWordpressも得意になり、非Wordpressサイトも Wordpressサイトも、自分で作ったサイト制作ツールで一瞬にしてサイトが作れるようになった。

そして一段落してこのサイトPHPマニアを作ろうと思った。

PHPを100%扱うには、HTMLやCSSやJqueryはもちろん、MySQLやLinuxやサーバーの知識が必要です。
このサイトでは、少しずつLAMP環境についてまとめていこうと思います。

Copyright© 2019-2020 php-mania.com All Rights Reserbed.

当サイトに掲載している文章、画像などの無断転載を禁止いたします。