File: //usr/local/mailchannels/global_util.php
<?php
namespace MailChannels;
/*
* requireFolderTree recursively calls require_once on all php files in on all files under $folder
*
* @param string the folder to scan and require php files from
*/
function requireFolderTree ($folder) {
$files = scandir($folder);
foreach ($files as $file) {
if ($file == "." || $file == "..") {
continue;
} else if (is_dir($folder . "/$file")) {
requireFolderTree($folder."/$file");
continue;
}
if (preg_match('/\.php$/', $file)) {
require_once($folder . "/$file");
}
}
}
function intTypeCheck($values) {
foreach ($values as $key=>$value) {
if (!ctype_digit((string) $value)) {
throw new \InvalidArgumentException("$key must be an integer");
}
}
}
function classExtends($class, $extends) {
$extensions = class_parents($class);
if (!in_array($extends, $extensions)) {
throw new ClassDoesNotExtendException($class, $extends);
}
}