autoloader 구성.

class 정의
This commit is contained in:
2018-03-24 18:13:03 +09:00
parent 3363b547d5
commit 462bafe806
185 changed files with 570 additions and 225 deletions
+40
View File
@@ -0,0 +1,40 @@
<?php
namespace sammo;
class Json{
private static function setHeaderNoCache(){
if(!headers_sent()) {
header('Expires: Wed, 01 Jan 2014 00:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
}
}
public static function encode($value, $pretty = false){
if($pretty){
$flag = JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT;
}
else{
$flag = JSON_UNESCAPED_UNICODE;
}
return json_encode($value, $flag);
}
public static function decode($value){
return json_decode($value, true);
}
public static function die($value, $noCache = true, $pretty = false, $die = true){
if($noCache){
self::setHeaderNoCache();
}
header('Content-Type: application/json');
echo Json::encode($value, $pretty);
if($die){
die();
}
}
}
+72
View File
@@ -0,0 +1,72 @@
<?php
namespace sammo;
class Lock {
private static $l = ROOT.'/d_log/lock.txt';
public static function Busy() {
$fp = fopen(Lock::$l, 'r');
$lock = fread($fp, 1);
fclose($fp);
if($lock == 1) return true;
else return false;
}
private static function LockFile() {
$fp = fopen(Lock::$l, 'r');
$lock = fread($fp, 1);
fclose($fp);
if($lock == 1) return false;
$fp = fopen(Lock::$l, 'w');
if(!flock($fp, LOCK_EX)) { return false; }
fwrite($fp, '1');
fclose($fp);
flock($fp, LOCK_UN);
return true;
}
private static function UnlockFile() {
$fp = fopen(Lock::$l, 'r');
$lock = fread($fp, 1);
fclose($fp);
if($lock == 0) return false;
$fp = fopen(Lock::$l, 'w');
if(!flock($fp, LOCK_EX)) { return false; }
fwrite($fp, '0');
fclose($fp);
flock($fp, LOCK_UN);
return true;
}
public static function Lock() {
/*
// 키 생성
$key = fileinode(Lock::$l);
// 뮤텍스 획득
$mutex = sem_get($key);
// 락 획득
sem_acquire($mutex);
*/
// 파일에 잠금 걸기
return Lock::LockFile();
}
public static function Unlock() {
// 파일에 잠금 풀기
$res = Lock::UnlockFile();
/*
// 락 해제
sem_release($mutex);
*/
return $res;
}
}
+5
View File
@@ -0,0 +1,5 @@
<?php
namespace sammo;
class util extends utilphp\util{
};