توابع Global_Functions
📄 مستندات توابع Global_Functions
📁 مسیر:
📘 1. View($filePath, $variables = [], $print = false)
📌 کاربرد:
نمایش یا بازگرداندن یک ویو PHP با متغیرهای داده شده.
🧪 ورودیها:
-
$filePath
: مسیر فایل ویو (نسبت بهView/
) -
$variables
: آرایهای از متغیرهایی که داخل ویو در دسترس خواهند بود -
$print
: اگرtrue
باشد، خروجی را چاپ میکند
✅ خروجی:
-
string
: محتوای HTML تولیدشده از ویو
📝 مثال:
📘 2. View2($file, $data = null)
📌 کاربرد:
لُود کردن مستقیم یک فایل ویو بدون بافر خروجی (ob_start
) و با قابلیت ارسال داده.
❗ تفاوت با View
:
-
فایل را مستقیم
require
میکند و خروجی باز نمیگرداند. -
سادهتر و سریعتر، مناسب برای فایلهای سبک
📘 3. redirect($url = '')
📌 کاربرد:
ساخت شیء Redirect
برای انجام هدایت (Redirect) سمت مرورگر.
🔗 وابسته به:
Flare_Libraries\Redirect
📝 مثال:
ودر سمت فرانت یا تمپلت انجین لت
{php global $session; }
{foreach ['success' => 'success', 'error' => 'danger', 'warning' => 'warning', 'info' => 'info'] as $key => $class}
{if $session->has($key)}
{foreach (array)$session->get($key) as $message}
<div class="alert alert-{$class} alert-dismissible fade show" role="alert">
{$message}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="بستن"></button>
</div>
{/foreach}
{php $session->remove($key); $session->save();}
{/if}
{/foreach}
یا در php
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
$types = [
'error' => 'danger',
'success' => 'success',
'warning' => 'warning',
'info' => 'info'
];
foreach ($types as $type => $bootstrapClass) {
if (!empty($_SESSION[$type])) {
$messages = (array) $_SESSION[$type];
foreach ($messages as $message) {
echo "<div class='alert alert-{$bootstrapClass} alert-dismissible fade show' role='alert'>
<strong></strong> {$message}
<button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='Close'></button>
</div>";
}
unset($_SESSION[$type]);
}
}
📘 4. CautoLoader($class)
📌 کاربرد:
اتو-لودر سفارشی برای بارگذاری کلاسها از مسیرهای مشخصشده (Libraries، Models، Controllers...)
🔍 مسیرهای جستوجو:
-
Flare_Libraries/
-
Models/
-
Libraries/
-
Controllers/
-
Middlewares/
⚠️ نکته:
این تابع در فایل app به این صورت spl_autoload_register('CautoLoader') در دسترس می باشد و فقط در همین تابع مسیر جدید را برای اتولود اضافه کنید یا در همان مسیر ها کلاس های خودرا بسازید
📘 5. url($appendQuery = '', $stripQuery = false)
📌 کاربرد:
ساخت URL کامل فعلی با گزینههای افزودن یا حذف پارامترها.
🧪 پارامترها:
-
$appendQuery
: متن یا پارامتر برای افزودن -
$stripQuery
: اگرtrue
باشد، بخش query حذف میشود.
📝 مثال:
📘 6. mega_copy($source, $destination)
📌 کاربرد:
کپی کامل یک مسیر (فایلها و پوشهها) به یک مقصد مشخص.
💡 ویژگی:
-
بازگشتی (recursive)
-
اگر پوشه مقصد وجود نداشته باشد، ساخته میشود.
📘 7. check_input($input, $text = null, $method = 'AUTO', $type = 'value')
📌 کاربرد:
دریافت مقدار ورودی فرمها از GET/POST و بررسی مقدار خاص (مثلاً برای checked
یا selected
)
🔍 مثالها:
📘 8. json_response($data = [], $status = 200)
📌 کاربرد:
بازگرداندن پاسخ JSON با کد وضعیت HTTP مشخص
📝 مثال:
📘 9. sanitizeInput($input)
📌 کاربرد:
پاکسازی ورودی برای حذف کاراکترهای مشکوک و جلوگیری از XSS
🧪 عملیات انجامشده:
-
حذف کاراکترهای غیرمجاز
-
trim
-
htmlspecialchars
📘 10. loadTranslations($lang)
📌 کاربرد:
بارگذاری ترجمهها از فایل lang/{lang}.json
📁 مسیر فایل:
✅ خروجی:
آرایه ترجمهها به شکل [key => value]
📘 11. translate($key, $translations = [], $params = [])
📌 کاربرد:
دریافت مقدار ترجمهشده برای یک کلید و جایگزینی پارامترها
📝 مثال:
📦 جمعبندی
تابع | عملکرد |
---|---|
View , View2 |
نمایش ویو با داده |
redirect |
هدایت به مسیر |
CautoLoader |
لود خودکار کلاسها |
url |
تولید URL فعلی |
mega_copy |
کپی پوشهها و فایلها |
check_input |
خواندن امن از ورودی فرم |
json_response |
پاسخ JSON استاندارد |
sanitizeInput |
پاکسازی ورودی کاربر |
loadTranslations , translate |
ترجمه چندزبانه |