「10日で使えるPHP | 未経験のサルでも分かるPHPの学習サイト」は、現役コーダー(プログラマー)のために最速、最短でPHPを書けることを目的とした学習サイトだ。
業務システム開発に不要な要素をバッサリ切り捨て、必要なエッセンスに選択と集中している。
流し読みで全体像を捉えて、必要な箇所からつまみ食いすれば、3日でUI/DBまわりを十分書けるようになる。
非エンジニア、文系未経験者、サルでも独学10日でPHPを使えるように内容を構成した。
不要な基礎はバッサリ切り捨て、必要な基礎を十分に深堀した。10日後にはデータベースを使用したWEBシステムを開発できるようになる。
プログラミングスクールでチンタラお勉強をしたつもりになっているアホを横目に、ブッチギリで10日でエンジニアの入り口に立ってほしい。
![]() | 10日で使えるPHP | 未経験のサルでも分かるPHPの学習サイト 文系未経験、サルでも10日でPHPを使えるように内容を構成した独学向け学習サイト。不要な基礎はバッサリ切り捨て必要な基礎を十分に深堀した・・・ 続きを見る |
![]() | 新卒や現役エンジニアの学習方法(オンライン学習 or 書籍) 「SIerやメーカーに就職した新卒」や「現役エンジニア」で、動画配信で学ぶ技術者はほぼゼロと言ってよい。洗練された書籍で学んだほうが短期間で技術習得できるし高すぎる。・・・ 続きを見る |
PHPには以下の特徴がある。
PHPはHTMLに直接PHPのコードを記述できる。
<?php を開始タグ、 ?> を終了タグとして認識し、タグの内側をPHPのコードとして実行する。
タグの外側はPHPパーサに無視されるので、HTMLに「開始タグ <?php ~ 終了タグ ?>」を記述し、ファイル名を .php とすることで、HTML内に直接コードを埋め込んで動的なWebページを生成できる。
※パーサとはソースコードやXML、HTMLなどの言語で記述された構造的なテキストデータを解析し、コンピュータが扱いやすいデータ構造に変換するプログラムの総称。コンパイラとは別物。
<?php タグの後ろ、?>の前には必ず「改行・半角空白・タブ」のいずれかを記述する。「改行・半角空白・タブ」がないとエラーになる。
<?php ~ ?>の前後を改行で記述
<?php
echo 'Hello World';
?><?php ~ ?>の前後を半角空白で記述
<?php echo 'Hello World' ?><html>
<head>
<title>HTMLのタイトル</title>
</head>
<body>
<h1>h1タグ</h1>
<?php
echo 'Hello World';
?>
</body>
</html><?= ?> は、echo の代わりに値を画面に出力する。
賛否両論あると思うが、可読性、一貫性の低下と、バグの温床になりやすいため <?= ?> は望ましくない。
<html>
<head>
<title>HTMLのタイトル</title>
</head>
<body>
<h1>h1タグ</h1>
<?= 'Hello World'; ?>
</body>
</html>php.ini で short_open_tag が On に設定されている場合は、<?php ~ ?> の代わりに <? ~ ?> を、<?php echo ~ ?> の代わりに <?= ~ ?> を使用できる。
<? ~ ?><? echo 'Hello World'; ?><?php= ~ ?><?= echo 'Hello World'; ?>php.ini で asp_tags が On に設定されている場合は、<?php ~ ?> の代わりに <% ~ %> を、<?php echo ~ ?> の代わりに <%= ~ %> を使用できる。
<% ~ %><% echo 'Hello World'; %><%= ~ %><%= echo 'Hello World'; %>PHPでは、文はセミコロン「;」で区切る。
<?php
echo 'Hello World';
echo 'hogehoge world';
?>セミコロン「;」で区切っていれば、1行に複数の文を記述できる。
<?php
echo 'Hello World'; echo 'hogehoge world';
?>PHPでは、改行の出力は \n を記述する。
\n を使用するときは文字列をダブルクォーテーションで囲む必要がある。シングルクォーテーションでは改行されない。
<?php
echo "Hello World \n hogehoge world";
?><?php
echo 'Hello World<br>';
echo 'hogehoge world<br>';
?><?php
echo nl2br("Hello World \n hogehoge world");
?>PHPのコメントは、//(単行)、#(単行)、/* */(複数行)の3つの書き方がある。
一般的には //(単行)、/* */(複数行)の2つを使用する。
この他に /** */ とすることで PHPDoc 用のコメントを記述できる。
// は // から改行までをコメントとして認識する。単行コメント 記述例
// 単行コメントを書く
# は // と同様。/* */ は /* をコメント開始タグ、 */ をコメント終了タグとして認識し、タグの内側をコメントとして認識する。複数行コメント 記述例
/* 複数行コメントを書く */
/*
複数行コメントを書く
*/
/*
* 複数行コメントを書く
*/
他言語のコメント書式は コメントの言語別書式機能比較 を参照。
HTMLのミニファイ(コードの圧縮)はファイルサイズを小さくして読み込み速度を向上させる目的の他に、HTMLを読みにくくし無断複製を防ぐ目的でも行われる。
ミニファイを行うファイルにPHPのソースコードがあると改行コードが取り除かれてしまい、//、# でコメントを記述すると正しく機能しなくなる。
ミニファイを行う場合は、コメントは全て /* */ で記述する必要がある。
PHPは、HTMLに「開始タグ <?php ~ 終了タグ ?>」を記述し、ファイル名(拡張子)を .php とすることで、HTML内に直接コードを埋め込んで動的なWebページを生成できる。
Rubyは、Embedded Ruby を使用し、<% %> または <%= %> を使用する。
<% %> はRubyの処理のみで、HTMLへの出力はしない場合に使用する。<%= %> はRubyの処理および、HTMLへの出力する場合に使用する。
| 機能 | Java/JSP | PHP | Ruby | Python |
|---|---|---|---|---|
| HTMLに直接コードを記述 | Java | PHP | Ruby | Python |
| HTMLに直接コードを記述 | <% %> <%= %> ${ } | <?php ?> <?= ?> | ERBを使用 <% %> <%= %> | Python |
シンタックスハイライトをおこなうライブラリは syntaxhighlighter、highlight.js、Prism.js などがある。※syntaxhighlighter は2017年で更新が止まっており、事実上開発が終了している。
当サイトは highlight.js を使用している。
highlight.js は下記のスクリプトを<body>~</body>タグの間に記述するだけで使用できる。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/styles/a11y-dark.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>シンタックスハイライトさせたいコードを<pre><code></code></pre>で囲む事でシンタックスハイライトされる。
引数として、<pre><code class="language-php"></code></pre> のように <code class="language-言語名"> を指定することができる。
<pre><code class="language-php">
<?php
$num = 1; /* グローバルスコープで変数定義 */
function func() {
global $num; /* グローバルスコープの$numを呼び出し */
echo $num; /* 1が出力される */
}
func(); /* funcを呼び出し */
?>
</code></pre>a11y-dark.min.css を別のテーマ(配色)に変えることもできる。おすすめは a11y-dark.min.css、vs2015.min.css、xt256.min.css だ。
PHPの命名規則にデファクトスタンダードは存在しない。キャメルケース、スネークケース いずれも使用している。
PHPの言語上の関数は、スネークケースで命名されており、クラス処理ではキャメルケースが使われている。
現在は PSR-12 という規格が業界標準(モダンな開発のデファクト)として広く普及している。
| 種類 | 書式例 | PHPでの主な用途 |
|---|---|---|
| キャメルケース | isSpace | クラス処理。現在の主流。 |
| スネークケース | is_space | 関数名。PHP標準関数に似せる場合。 |
![]() | 10日で使えるPHP | 未経験のサルでも分かるPHPの学習サイト 文系未経験、サルでも10日でPHPを使えるように内容を構成した独学向け学習サイト。不要な基礎はバッサリ切り捨て必要な基礎を十分に深堀した・・・ 続きを見る |