توابع کمکی PHP
این صفحه فقط helperهایی را پوشش میدهد که برای توسعهی اپلیکیشن کاربردیاند؛ نه helperهای داخلی رندر، ژنراتور یا زیرساختی که بیشتر برای توسعهی خود package استفاده میشوند.
احراز هویت
این helperها برای زمانی هستند که بخواهید flowهای auth را خارج از UI آماده package پیاده کنید، اما definitionها و abstractionهای همان سیستم را نگه دارید.
authenticator
instance جاری Authenticator را برمیگرداند.
پارامترها:
ندارد
نوع خروجی: Dornica\AccessHub\Authentication\Authenticator
$user = authenticator()->user();
authFieldDefinitions
همه definitionهای auth field را برمیگرداند.
پارامترها:
ندارد
نوع خروجی: array
$fields = authFieldDefinitions();
authFieldNames
نام همه auth fieldهای تعریفشده را برمیگرداند.
پارامترها:
ندارد
نوع خروجی: array
نمونه خروجی: ['code', 'mobile']
$fieldNames = authFieldNames();
authFieldDefinition
تعریف یک auth field خاص را برمیگرداند.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
authField | string | نام field |
default | array | مقدار پیش فرض در صورت نبود definition |
نوع خروجی: array
$mobileField = authFieldDefinition('mobile');
registrationAuthFieldDefinitions
فقط auth fieldهایی را برمیگرداند که برای registration فعالاند.
پارامترها:
ندارد
نوع خروجی: array
$registrationFields = registrationAuthFieldDefinitions();
passwordRecoveryAuthFieldDefinitions
فقط auth fieldهایی را برمیگرداند که برای forgot password فعالاند.
پارامترها:
ندارد
نوع خروجی: array
$recoveryFields = passwordRecoveryAuthFieldDefinitions();
userMetaFieldGroups
همه گروههای meta field را برمیگرداند.
پارامترها:
ندارد
نوع خروجی: array
$metaGroups = userMetaFieldGroups();
userMetaFields
meta fieldهای تعریفشده را بر اساس person type برمیگرداند.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
personType | PersonType | null | در صورت ارسال، فقط fieldهای همان person type برگردانده میشود |
نوع خروجی: array
use Dornica\AccessHub\Authentication\Enums\PersonType;
$realFields = userMetaFields(PersonType::REAL);
authPasswordLength
حداقل و حداکثر طول مجاز password را از تنظیمات برمیگرداند.
پارامترها:
ندارد
نوع خروجی: array{0:int,1:int}
نمونه خروجی: [8, 32]
[$min, $max] = authPasswordLength();
userActivationModel
کلاس مدل activation را برمیگرداند تا در flowهای سفارشی آن را hardcode نکنید.
پارامترها:
ندارد
نوع خروجی: string
$activationModel = userActivationModel();
$row = $activationModel::query()->find($id);
بومیسازی و تاریخ
localizor
نمونهی سرویس localization فعلی را برمیگرداند.
پارامترها:
ندارد
نوع خروجی: Dornica\Foundation\Localization\Localization
نمونه خروجی: نمونهای از سرویس localization که میتوانید متدهایی مثل getCurrentLanguage() را روی آن صدا بزنید.
$language = localizor()->getCurrentLanguage();
getLanguage
زبان جاری پروژه را برمیگرداند.
پارامترها:
ندارد
نوع خروجی: mixed
نمونه خروجی: "fa"
$language = getLanguage();
getPortal
پرتال یا context فعلی را از localization برمیگرداند.
پارامترها:
ندارد
نوع خروجی: mixed
نمونه خروجی: "admin"
$portal = getPortal();
isProjectLocalized
مشخص میکند قابلیت localization در پروژه فعال است یا نه.
پارامترها:
ندارد
نوع خروجی: bool
نمونه خروجی: true
if (isProjectLocalized()) {
// ...
}
hijri
برای کار با تاریخ هجری. ورودی میتواند Carbon، DateTime، timestamp، رشته یا null باشد.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
datetime | Carbon | DateTime | string | int | null | تاریخ ورودی |
timezone | DateTimeZone | string | null | منطقه زمانی |
نوع خروجی: Dornica\Foundation\Hijri\Hijri
نمونه خروجی: یک شیء Hijri که تاریخ هجری معادل را نگه میدارد.
$now = hijri();
$date = hijri('1446-09-25');
$fromCarbon = hijri(now());
فرمت، نمایش و متن
stringMaskFormatter
یک رشتهی عددی را روی mask مینشاند. در mask باید از X برای جایگذاری استفاده شود.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
mask | string | الگوی ماسک |
input | string | null | مقدار عددی خام |
نوع خروجی: string
نمونه خروجی: "123-456"
stringMaskFormatter('XXX-XXX', '123456'); // 123-456
numberSeparator
عدد را با جداکنندهی هزارگان فرمت میکند.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
value | mixed | مقدار عددی |
نوع خروجی: string
نمونه خروجی: "1,250,000"
numberSeparator(1250000); // 1,250,000
spellNumber
عدد را به معادل حروفی فارسی تبدیل میکند. برای نوشتن مبلغ روی فاکتور، قرارداد و چک کاربرد دارد.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
number | int | float | string | عدد؛ اعشار نادیده گرفته میشود |
suffix | string | واحدی که به انتهای متن اضافه میشود، مثل تومان |
نوع خروجی: string
نمونه خروجی: "دو میلیون و پانصد هزار تومان"
spellNumber(2500000); // دو میلیون و پانصد هزار
spellNumber(2500000, 'تومان'); // دو میلیون و پانصد هزار تومان
spellNumber(-45); // منفی چهل و پنج
spellNumber(0); // صفر
- واژگان خروجی دقیقاً مطابق helper سمت مرورگر (
convertAmountToText) است، پس متنی که در سرور ساخته میشود با متنی که در فرم نمایش داده میشود یکی است. - بازهی پشتیبانی تا سقف
intدر PHP است (کوینتیلیون). - ورودی غیرعددی یا خارج از بازه، بهجای تولید متن اشتباه،
InvalidArgumentExceptionمیدهد.
اگر به جای helper سراسری به خود کلاس نیاز داشتید:
use Dornica\Foundation\Core\Support\NumberSpeller;
NumberSpeller::spell(2500000, 'تومان');
formatBytes
حجم بایت را به رشتهی خوانا مثل KB و MB تبدیل میکند.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
bytes | float | int | حجم فایل |
precision | int | تعداد ارقام اعشار |
persianTranslate | bool | استفاده از واحدهای فارسی |
نوع خروجی: string
نمونه خروجی: "15 KB" یا "15 کیلوبایت"
formatBytes(15360); // 15 KB
formatBytes(15360, 2, true); // 15 کیلوبایت
formatFileSize
برای نمایش اندازهی فایل با ترجمههای Doravel در کامپوننتهای آپلود فایل مناسب است.
پارامترها:
| نام | نوع | توضیح |
|---|---|---|
bytes | int | اندازه فایل بر حسب بایت |
نوع خروجی: string
نمونه خروجی: "5 MB"
formatFileSize(5242880);