PHP 2 応用(更新中) - user000422/0 GitHub Wiki

DateTime … 年月日時分秒

$dt = new DateTime(); // 引数なしでオブジェクトを生成(現在情報が生成される)
echo $dt->format('Y年 m月 d日 H:i:s'); // formatメソッド(DateTime情報を加工)

$dt = new DateTime('2021/01/01 00:00:01'); // 引数に情報を指定してオブジェクトを生成
echo $dt->format('Y年 m月 d日 H:i:s'); // formatメソッド(DateTime情報を加工)

$dt->setDate(2021, 12, 31); // 年月日情報を設定

リダイレクト
urlは必ず絶対パス

header('Location: '. $url); // 基本型
header('Location: http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])'./sample.php'); // 応用

ページ遷移

<form method="post" action="index.php">
  <input type="text" name="user_id">
  <button type="submit" name="submit_1">送信</button>
</form>
<?php
session_start();
if (isset($_POST['submit_1'])){
  $_SESSION['user_id'] = $_POST['user_id']; 
}

ajaxでPHPへPOST

let userId = $("#input-user-id").val();
$.ajax({
  type: "POST",
  url: "sample_folder/sample.php", // POST先
  data: { "id" : userId },
  dataType : "json"
}).done(function(data){ // POST後、行う処理
  echo 'SUCCESS';
}).fail(function(XMLHttpRequest, status, e){
 //
});

複数のsubmit分岐(Jquery使用)

<form action="next.php" method="post" id="form">
  <input type="submit" value="次へ" id="next">
  <input type="submit" value="戻る" id="back">
</form>

<sctipt>
$(function(){
  $(document).on('click', '#back', function(){
    $('#form').action = "./back.php";
    $('#form').submit();
  });
});
</script>

高速化

// 型変換は関数よりキャスト(2倍差)
$result = (int)$data; // キャストによる型変換

// グローバル変数より定数(1.5倍差)
define('SAMPLE_DATA', 100);
$result = SAMPLE_DATA;

Smarty

■HTML

{* コメント *}

{ * literal 構文解析を行わない設定 タグを囲む * }
{literal}
<script>
  // JavaScript
</script>
{/literal}

■PHPバージョンによる使用不可メソッド
eregi … PHP7以降は使用不可

⚠️ **GitHub.com Fallback** ⚠️