【 PHP 】PHP8に入門してみた 149日目 PHPの基本 ( ユーザー定義関数 別のファイルのスクリプトを読み込む)
PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。
ユーザー定義関数
別のファイルに定義された関数を使う 外部化
自身で作成した関数は別のファイルにまとめておき、いつでも使えるようにしておきたいものです。
別のファイル(A.php)に定義された関数を呼び出すにはまずA.phpを読み込むことから始まります。
PHP
で別のファイルを読み込むには、require, include, require_once, include_once
命令があります。
require(とrequire_once)
命令はA.phpが見つからなかった場合にエラーとなります。
一方、include(とinclude_once)
命令は警告だけで処理は継続されます。
xxxx_once
命令は「1度だけ」読み込みます。
たとえばinclude_once A.php
が100回実装されていても読み込むは1回だけです。
included.php
<?php
function getTriangleArea(float $base, float $height)
{
return $base * $height / 2;
}
hello.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>こんにちは!</title>
<!-- Bootstrapを有効化 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>
<body>
<?php
require_once 'included.php';
$area = getTriangleArea(8, 10);
print "三角形の面積は{$area}です";
?>
</body>
</html>
メモ
できるだけxxxx_once
を使用して循環呼び出しを防ぐ。
大事なこと
相対パスは起動スクリプトが基点!!!
なので、require_once __DIR__.'/func2.php';
のように記述するそうです。
これがPHP
のイデオム!
書き換えてみました。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>こんにちは!</title>
<!-- Bootstrapを有効化 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>
<body>
<?php
require_once __DIR__ . '/included.php';
$area = getTriangleArea(8, 10);
print "三角形の面積は{$area}です";
?>
</body>
</html>
ディスカッション
コメント一覧
まだ、コメントがありません