AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

【PHP】実装した機能を共通化する方法(他のページでも使えるようにする)

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScS4wA_hHDvXFFZ3TjpEzxjO8fTpH39SDiNRpr17PhmIdfKgGDgA


PHPでのサーバー開発に関するメモ。

本を見ながらPHPの勉強をしていたのですが、同じようなコードを書く場面が結構あって何度も同じコードを書くのは面倒だなと思ったので、
iOSAndroidのアプリを開発する時によくやっていた、「実装した機能の共通化」をしてみました。


PHPで実装した機能の共通化


【PHP】実装した機能を共通化する方法(他のページでも使えるようにする)
まず、他のページでも共通で使える「common.php」を作成して、「common」フォルダにいれます。

そして、common.phpの中に共通化する機能を実装します。

前に実装したBasic認証の処理を共通化させる場合はこんな感じになります↓


例)Basic認証を行うfunction

common.php

<?php

function basicauth(){
	//Basic認証
	$user = 'uuuu';
	$pass = 'pppp';
	
	if(isset($_SERVER['PHP_AUTH_USER']) && ($_SERVER["PHP_AUTH_USER"]==$user && $_SERVER["PHP_AUTH_PW"]==$pass)){
		print "{$_SERVER['PHP_AUTH_USER']}";
		print'さんログイン中<br/>';
		print'<br/>';
	} else {
		header("WWW-Authenticate: Basic realm=\"basic\"");
		header("HTTP/1.0 401 Unauthorized - basic");
		echo "<p>Unauthorized</p>";
		exit();
	}
}
?>

通化した機能を他のページで使う場合は以下のようにcommon.phpを読み込めば、共通化した機能を利用できます。

<?php

require_once('../common/common.php');
basicauth();

?>


一度機能を共通化してしまえば、同じコードを書かなくて済むこと以外にも、
タイプミスを減らせたり、少ないコードで同じ機能を使いまわせる、接続先の情報や環境設定を一括で変更できるなど、
通化するメリットは結構あるので、共通化できる機能は積極的に行っていった方が良さそうです。