İlk temizlik tamamlandı bir önceki projeden
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
use Carbon\Carbon;
|
||||
|
||||
|
||||
function logProcessInfo($message, $data = [], $type = 'info') {
|
||||
$logData = [
|
||||
'timestamp' => now()->format('Y-m-d H:i:s'),
|
||||
'message' => $message,
|
||||
'memory_usage' => round(memory_get_usage() / 1024 / 1024, 2) . ' MB',
|
||||
'data' => $data
|
||||
];
|
||||
|
||||
switch ($type) {
|
||||
case 'error':
|
||||
Log::error($message, $logData);
|
||||
break;
|
||||
case 'warning':
|
||||
Log::warning($message, $logData);
|
||||
break;
|
||||
case 'info':
|
||||
Log::info($message, $logData);
|
||||
break;
|
||||
default:
|
||||
Log::debug($message, $logData);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Sütun adında "date" geçen alanları Carbon ile formatlayan fonksiyon
|
||||
* @param array|object $data Formatlanacak veri
|
||||
* @param string $format Tarih formatı (default: d.m.Y)
|
||||
* @return array|object Formatlanmış veri
|
||||
*/
|
||||
function formatDateColumns($data, $format = 'd.m.Y') {
|
||||
// Veri tipini kontrol et
|
||||
if (!is_array($data) && !is_object($data)) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
// Array'e çevir
|
||||
$dataArray = is_object($data) ? (array)$data : $data;
|
||||
$modified = false;
|
||||
|
||||
foreach ($dataArray as $field => $value) {
|
||||
// Eğer sütun adında "date" kelimesi varsa ve değer boş değilse
|
||||
if (stripos($field, 'date') !== false && !empty($value) && $value !== null) {
|
||||
// Zaten formatlanmış mı kontrol et (dd.mm.yyyy formatında)
|
||||
if (preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $value)) {
|
||||
continue; // Zaten doğru formatta
|
||||
}
|
||||
|
||||
try {
|
||||
// Carbon ile tarihi parse et
|
||||
$carbonDate = Carbon::parse($value);
|
||||
|
||||
// Geçerli bir tarih mi kontrol et
|
||||
if ($carbonDate->isValid()) {
|
||||
$dataArray[$field] = $carbonDate->format($format);
|
||||
$modified = true;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// Tarih parse edilemezse orijinal değeri koru
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sadece değişiklik varsa yeni obje/array oluştur
|
||||
if ($modified) {
|
||||
return is_object($data) ? (object)$dataArray : $dataArray;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
function mb_str_replace($search, $replace, $subject) {
|
||||
return implode($replace, explode($search, $subject, 2));
|
||||
}
|
||||
|
||||
function replacePlaceholdersFileName($template, $data) {
|
||||
return preg_replace_callback('/\{(\w+)\}/', function ($matches) use ($data) {
|
||||
$key = $matches[1]; // Süslü parantez içindeki anahtar
|
||||
return $data[$key] ?? $matches[0]; // Anahtar varsa değeri, yoksa orijinal metni döndür
|
||||
}, $template);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user