🌟

仕事でPHPやLaravelやWikipediaやDockerなどを使う時の入門まとめ

2022/09/03に公開

PHPとは昔から大企業などで使われてきた簡単な言語

行政や大企業などのWebサイトのURLを見ると「webform.php」などという名前のWebページがある場合があります。PHPとはプログラミング言語の中では最も簡単だと思う、Webスクリプトです。

昔はHTML書類を作る程度な簡単さだったので、2000年頃からショッピングカートなどのコードソースが、PerlのCGIのように無料配布されるなど、昔から多くの大手サイトなどで使われてきました。ただし今は多機能になったので、PHP以外も複雑になってきました。

方やNext.jsなどのモダン言語は、描画速度が早いなどの利点があるのですが、やはりCOBOLなどのように昔から使われてきた言語は、大規模システムとして長く使われ、言語や機材の変更もコストがかかるなどで、行政や大企業などの案件では昔のレガシーなシステムが今も使われています。

LaravelとはPHPの最有力なフレームワーク

またPHPの他にRail(Ruby on Railの多くの人が称している略語)が使われているのも、「技術者を古い言語でないと集められない」という理由もあるかもしれません。こうなると古い技術も覚えておいた方が得です。

しかしPHPの場合はRailと違い、大規模システムを簡単に作れるフレームワークではありません。そこでLaravelというPHPのフレームワークを、今の行政でも大企業などでも使われています。ただし最近はWabpackやGo言語やNode.jsなども使用されているようです。

求人案件で多いのは高額報酬順も合わせて「Go言語。JAVA。Python(AI・アナコンダなど)。PHP。Laravel。Rails。TypeScriptなどが使える方」が多いです。PHPの中ではLaravel以外のフレームワークが求められるのは少ないで最有力です。

Laravelなどのインストールは昔よりもXAMPPのおかげで簡単になった

XAMPP(シャンプ)とはApacheという「Webサーバ」や、MariaDB(MySQL)、PHP・Perl、MySQLをPHPで管理するphpMyAdminなどを、まとめて一緒にインストールし管理する、コントロールパネルのツールです。

Laravelをインストールするには①XAMPPをインストールし②PHPのパッケージ管理ツールのComposerをインストールし③コマンド入力でLaravelをインストールする必要があります。

Laravelのインストール方法は
①XAMPPを公式サイトからGUIなインストーラーをダウンロードし、
 押すだけでインストールが出来ます。
②Composerを公式サイトからGUIなインストーラーをダウンロードし、
 押すだけでインストールが出来ます。なおインストール中に、
 PHPのパス設定をするを選択した方が楽です。
③「composer global require "laravel/installer"」とコマンド入力で
 インストールし、インストールが出来たかは「laravel -V」とコマンド
 入力しバージョンが表示されたらインストールは成功です。
④新規のプロジェクトはプロジェクトを作りたいディレクトリ(フォルダ)で、
「laravel new プロジェクト名(ここは自分で命名)」とコマンド入力すると、
約50MBほどのプロジェクトが作成されます。
⑤XAMPPのApacheというWebサーバー( http://127.0.0.1:80 ) を起動します。
 Webブラウザで「http://127.0.0.1 (:80の短縮)」を見ると、XAMPPの初期
 (説明)ページが表示されます。
⑥プロジェクトのディレクトリのルート(最上層)で「php artisan serve」
 というコマンドを入力し、Webブラウザで「 http://127.0.0.1:8000/ 」
 を見ると、Laravelの初期(説明)ページが表示されます。

これからもDockerなど共有環境で開発する方法が主流になる

上記のプロジェクトを改良していくのが、フレームワークでプログラミングをする仕事になります。なおDockerで開発する方法もあり、こっちの方が多くのOSや開発者などで、同じ環境で開発できるので、主流になってくるかもしれません。

Dockerの方が設定する方法も簡単なようです。また求人案件でも「Docker、Gitなどが使える方」とあり、これは上記な自分のPCから公開がすぐに出来る、GitHubやFigmaなどの共有なクラウドで共同でグループワークが出来る方を求めるということでしょう。

PHPとMySQLで作られたWordpressは世界最大のシェアを占めるブログ

Wordpressとは世界のブログの中で1/3を占める、利用者が簡単にブログ編集などが出来るCMS(コンテンツ管理システム)なPHPなどでのWebアプリケーションです。このPHPでMySQLを管理するのはphpMyAdminなどで、昔はこういうGUIなWebページは少なかったので簡単でした。

今はMongoDBなどでも増えましたが、phpMyAdminはソースコードが自分のPC内で見れるので、PHPを勉強するにも参考になります。以下の図はXAMMPをインストール中の画面でWという文字のマークはWordpressも使えるよというマークです。

↓この画面が出るまでにいくつか警告が出ますが警告はエラーではないです

↓コントロールパネルにXAMPPを表示は常時稼働をしなければ選ばなくて良いです

↓php.exeのパスを変更したらComposerのインストールでも同じ場所に変更しましょう

↑インストール後にOSで環境変数の設定をしなくても上記をチェックすれば使えるようです

Wikipediaは軽量なMarkdownを編集しやすい

Wikipediaとは無料の辞書で匿名の人たちが編集できるので、大規模なコンテンツも作りやすいです。Markdownも今までのHTMLタグと違い、空白二文字だけで改行に対しHTMLタグは5文字などと文字数を減らすことが出来るという軽量さや簡単さがあります。

しかしMarkdownでWebページを作るツールが現在でも多くはありませんが、Wikipediaの自己紹介のプロフィールな編集機能でMarkdownののソースコード(文の中身)がボタンを押すなどとGUIに簡単に作れて、他のZennなどでも使えるので便利です。

Wikipediaのソースコードは無料で配布されているので、自分のPCやレンタルサーバーなどでも使えます。特にレンタルサーバーではポートフォリオとして、顧客などにもPRできるので高額案件が得られるかもしれません。

Wikipediaのインストール方法はXAMPPを使えば簡単

WikipediaはApacheとPHPとMariaDB(MySQL)とComposerで動いていますので、XAMPPとComposerを使えば簡単にインストールが出来ます。

Wikipediaのインストールの方法は
①XAMPPとComposerをインストールします。
②XAMPPをインストールしたフォルダの中の「htdocs」
(Webサイトのルート)というフォルダを探し、その直下に
 Wikipediaのソースコードを貼り付けます。
③XAMPPでApacheとMySQLを起動し、Webブラウザで
「http://127.0.0.1/」を見ると、Wikipediaをインストールを即す
ページが表示されるので、ボタンなどを押してインストールします。

※ただしXAMPPの初期設定で、Wikipediaが使うPHPの国際化関数がPHPの設定書類で指定されていない場合があり、そうすると③のインストールを即すページがエラー表示されます。そこでPHPの設定書類で国際化関数をアクティブ(有効)にします。

PHPの設定書類は、XAMPPフォルダの中のPHPフォルダの中のphp.iniというテキスト書類です。そのテキスト書類の中んにextension=php_intl.dllという文を追加します。

php.ini
(中略)
; Notes for Windows environments :
;
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
;   extension folders as well as the separate PECL DLL download (PHP 5+).
;   Be sure to appropriately set the extension_dir directive.
;
extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
;extension=gd
extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop

; The MIBS data available in the PHP distribution must be installed.
; See https://www.php.net/manual/en/snmp.installation.php
;extension=snmp

;extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
;extension=xsl

;zend_extension=opcache

; 以下、インストールの後で追加した
; 国際化関数(Wikipediaなどで使う)
extension=php_intl.dll
(中略)

ただし最近はApacheなどの同期ソフトの、1万閲覧以上あると遅延が起きるC10K問題が無い、非同期で描画速度が早いNext.jsとMDX(MarkdownXML)やTypeScriptなどが普及してきました。

XAMPPにはTomcatも入っていますが、これもJAVAのVM(仮想マシン)という、マルチOSではあってもネイティブではない速度の遅さもありそうです。

またPHPと違いNext.jsはJavaScriptのReactのフレームワークで、他にフロントエンドはTypeScriptもよく合わせて使われています。更にバックエンドはGo言語かRustが早いので、私はこの組み合わせを中心に記事を書いていく予定です。

Discussion