PHPを教える人、勉強する人のためのPHPウェブアプリケーションサンプルコード

先ほど、PHPを教える人、勉強する人のためのPHPウェブアプリケーションサンプルコードをGitGubに公開しました。

ずっと前から、やりたかったですが、なかなか時間が取れず、やっと少し時間を捻出できて、ソースコードを少しクレンジングして、公開することになりました。

何で公開するのかについて、その考え方について、こちらのnoteにも書きました。よかったらお読みください。ポエムです。

PHPはとてもパワフルな言語です。

Facebookが創業当時使ったのもPHPでした。

あと、世界を席巻しているブログツール、CMSの定番 Wordpressもみなさんご存知の通り、PHPです。今ますますその影響を増しています。

また、日本の中規模のECサイトで、簡単に構築できるEC-CubeもPHPです。

他もたくさん、素晴らしいPHPで書いたソフトウェアがあります。

 

私も、あるきっかけにPHPを教えることになったことがありました。

その時使ったサンプルコードを残っていました。

レッスンの内容に合わせて、少し機能を追加して、良い感じになってきました。

これは、もしかしたら、他のPHPを教える人とか、PHPを勉強する人にも参考になるのではと考えるようになりました。

みんな毎回サンプルコードを作るなら、一回作ってしまえば、誰でも使えるようになったら楽じゃないかと思ったわけです。

なので、いずれ、ソースコードを少し綺麗にして、公開したいなと思っていました。

しかし、最近(機械学習、深層学習の)本の執筆していて時間を確保するのが難しかったです。

しかも、フレームワークではなくて

初心者にとって、一番大事な基礎のところの概念、PHPの動きを隠さずに、見れるのが大事だなと考えました。

そういう意味では、このシンプルなサンプルコードでも意味があるのではと思いました。

今日は、ようやく、ソースコードのクレンジングもできました。

公開のタイミングが来たと思いました。

例えば、ユーザのアイコンのアップロードだけで

ファイルをどうやってサーバに送るか

サーバに送ったらどうやって保存するか

保存したデータはどうやって、ユーザと紐づくか

ユーザのデータと一緒にどうやって、アイコンも表示してあげるか

というのが、意外と大事な訓練かもしれません。

そうして、今日はソースコードを整理したら、こうなりました!

機能も、一回まとめました。


そして、公開しました!


そしたら、結構それなりに、反響がありました!

みんなと一緒に、これを改善していけば、結構良いPHPの教材になるんじゃないのと思うわけです。

みなさんからの、ツッコミや、アドバイスなど、大歓迎です。

ぜひ、Twitterで声をかけてください。

一部の画面を載せておきます。

これは、掲示板の書き込み一覧画面です。

これは、ユーザのログインフォームです。

これは、ユーザ一覧画面です。本来は管理者しか見れないなどの要件があるかもしれませんが、これは勉強のために、表示しています。

また、暗号化されたパスワードも本来はブラウザまで来ることもないですし、表示することなんても完全にありませんが、ここも勉強のために、表示しています。

ユーザに対して、ユーザ情報の編集、削除などの操作ができます。

docker-composeで起動しますので、いくつかコンテナを使っています。

http://localhost:8080にアクセスすれば、phpmyadminの画面がアクセスできて、データベースの操作ができます。これも勉強のために、パスワードなしで、アクセスできます。本番環境は絶対にやめてくださいね。

これは、ユーザのアイコンをアップロードする画面です。

最後、肝心のGitGubのURLです。

https://github.com/kawashimaken/docker-lamp-lesson

PHPに関心のある方、ぜひPRをください。

これを使って、PHPの世界に呼び込んでください。

質問とかもTwitterで聞いてください。

[amazonjs asin=”479804749X” locale=”JP” title=”TECHNICAL MASTER はじめてのPHPプロフェッショナル開発 PHP7対応”]

[amazonjs asin=”4897978858″ locale=”JP” title=”いきなりはじめるPHP~ワクワク・ドキドキの入門教室~”]

 

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close