「PHP」の版間の差分

出典: フリー教科書『ウィキブックス(Wikibooks)』
削除された内容 追加された内容
→‎※ 未分類: アニメーションはPHPではなくJavaScriptで行おうという亊の説明とコード例。
→‎※ 未分類: 節の見出しレベルを調整。
37 行 37 行
PHP上でJavaScriptの命令を書き込む場合、たとえば下記のようになる。
PHP上でJavaScriptの命令を書き込む場合、たとえば下記のようになる。


==== 基本 ====
<syntaxhighlight lang="PHP">
<syntaxhighlight lang="PHP">
<?php
<?php
67 行 68 行
asdf
asdf


==== 画像や動画など ====

上述のような方法で、下記のように図形なども表示させることが可能です。(下記コード内部のJavaScript部分は、[[HTML/HTML5#簡単な動画の例]] からの引用です。)
上述のような方法で、下記のように図形なども表示させることが可能です。(下記コード内部のJavaScript部分は、[[HTML/HTML5#簡単な動画の例]] からの引用です。)



2021年11月1日 (月) 07:46時点における版

メインページ > 工学 > 情報技術 > プログラミング > PHP

PHPは、SSI (サーバSide Includes) と主にWebサーバ環境で動作するスクリプト言語です。

目次

  1. PHP/開発環境
  2. PHP/開発環境/インストール
  3. PHP/確実に動作させるまで
    1. 参考: PHP/コマンドラインでの活用
  4. PHP入門
    1. PHP/入門/テキスト表示とコメント
    2. PHP/入門/変数と値
  5. PHP/HTMLフォームからのデータ受け取り
  6. PHP/ファイル入出力 (headerによるダウンロードもここ)
  7. PHP/配列
  8. PHP/データベースとの連動
  9. 制御構造
    1. PHP/条件分岐 (ログイン画面の作り方やクッキーもこの単元)
    2. PHP/繰り返し
  10. PHP/入門/関数とは
  11. PHP/入門/変数の種類
この節は書きかけです。この節を編集してくれる方を心からお待ちしています。

前書き

PHPの動作は、Web上におけるPerlのそれとよく似ていますが、Perlと異なりHTMLの内部にスクリプトを記述し実行することができるので、動的なウェブサイトを作成する際に、より容易に用いることができます。また、MySQLなどのデータベースとの親和性も高く、これはMediaWikiなどのソフトウェアにも活かされています。 PHPは2020年6月現在、2つの主要なバージョン (PHP5とPHP7) が提供されています。

PHP6は破棄され、ありません。

Cの様な構文、手頃な速度、および手軽に利用できるのでPHPは多くのプログラマとデザイナに使われる様になりました。Perlと同様に初心者でも、非常に簡単に習得できるのも特徴です。

※ 未分類

※ ここには作成途中などで、どの単元に入れたらいいか分からない単元を書きます。単元が完成したら、目次中の適する単元に移動したり、あるいは既存の単元に適するものがなければ単元を新規作成してください。

JavaScriptとPHPの連携

PHP上でJavaScriptの命令を書き込む場合、たとえば下記のようになる。

基本

<?php
	print "
	    <script>
            alert('Hello World!');
        </script>
        ";
	
?>

これをそのまま、test.php などとしてwebサーバにアップロードして localhost/test.php などにアクセスすれば、ブラウザ上でアラート(これはJavaScriptの機能)が実行されて表示される。


documentwrite などを使うには、下記のようにします。print よりも echo を用いるほうが安全に成功します。

<?php
echo <<<EOM
	<script>
	document.write("asdf");
	</script> 
EOM;
?>

表示結果

asdf

画像や動画など

上述のような方法で、下記のように図形なども表示させることが可能です。(下記コード内部のJavaScript部分は、HTML/HTML5#簡単な動画の例 からの引用です。)

静止画のコード例
<?php
echo <<<EOM


	<!DOCTYPE html>
<html lang="ja">
<head>
    <title>簡単なページ</title>
</head>
<body>

  <canvas id="canvas" width="320" height="240">
  </canvas>

  <script>
    var canvas = document.querySelector("#canvas");
    var ctx    = canvas.getContext("2d");
    ctx.fillStyle = "rgb(0,0,200)";
    ctx.fillRect(100, 100, 200, 200);
  </script>

</body>
</html>
	
    
EOM;
?>


アニメーションの表示は、PHP側で処理すると通信に負担が掛かってしまうので、JavaScript側で処理させましょう。(下記コード内部のJavaScript部分は、HTML/HTML5#簡単な動画の例 からの引用です。)

動画のコード例
<?php
echo <<<EOM
	
	<!DOCTYPE html>
<html lang="ja">
  <head>
    <title>簡単なcanvasアニメ</title>
  </head>
  <body>
    <canvas id="canvas" width="600" height="500"></canvas>
    <script>
      var cvs = document.getElementById("canvas"); // canvas要素の作成
      var ctx = cvs.getContext("2d"); // コンテキストの取得 // なお、以降cvsは使わない

      var count = 0; // 時間を数えるためのカウンター


      var dummy = function draw() { // var でメモリなど確保しないと後工程が上手く行かない。
        /* 背景色 */
        ctx.clearRect(0,0,600,500); // clearRect プロパティにて範囲指定で消せる
  
        /* 描画オブジェクト */
        ctx.fillStyle="#00F";// 青い四角をこれから動かす  
        ctx.fillRect(50 + count,30, 40, 40); // fillRectで四角を描画できる
  
        if(count < 300){
          count++; // 単なるインクリメント
        } // if count の終わり
        
        // 追加
        if(count > 150){
          clearInterval(kakuho);
        } // if count の終わり
        // 上記を追加
        
      } // function の終わり

      // 下記コードが追加された
      var kakuho = setInterval(dummy,10); // setInterval の終わり // var で確保しないと clear で止まらない場合あり
      
    </script>
  </body>
</html>

	
EOM;
?>