- دوشنبه 27 مهر 1405 ساعت 14:00
- 3.1.9
- کامل شده
- منقضی شده
Inflector Helper برای تبدیل شکل نوشتاری واژهها در نامگذاری و تولید متن استفاده میشود. این توابع بیشتر برای زبان انگلیسی طراحی شدهاند و برای نامهای فارسی یا قواعد صرفی زبانهای دیگر نباید انتظار نتیجه کامل داشت.
کاربرد و توابع اصلی
plural() جمع واژه را میسازد، singular() شکل مفرد را برمیگرداند، camelize() رشته را به CamelCase تبدیل میکند، underscore() فاصله یا جداکننده را به زیرخط تبدیل میکند و humanize() متن ماشینی را خواناتر میکند.
نمونه استفاده
$this->load->helper('inflector');
echo plural('category');
echo singular('products');
echo camelize('product_category');
echo humanize('product_category_id');نکته مهم
ورودی را اعتبارسنجی کنید و خروجی را متناسب با محل نمایش Escape کنید. این Helper جایگزین کنترل دسترسی و سیاست امنیتی برنامه نیست.
مطالعه مرتبط
برای ادامه مطالعه، کوئری، SQL Injection را ببینید.
توابع Inflector
| متد یا مفهوم | کاربرد |
|---|---|
plural() | تبدیل واژه به شکل جمع. |
singular() | تبدیل به مفرد. |
camelize() | تبدیل به CamelCase. |
underscore() | تبدیل جداکننده به زیرخط. |
humanize() | تبدیل نام ماشینی به متن خوانا. |
is_countable() | بررسی قابلیت شمارش در نسخههای پشتیبانیشده. |
نکات استفاده در پروژه
Helperها معمولاً وضعیت داخلی نگه نمیدارند و برای تبدیل یا تولید مقدارهای کوچک مناسباند. آنها را فقط در Controller یا فایلهای View بارگذاری نکنید، اگر در چند بخش برنامه استفاده میشوند میتوانید در تنظیمات Autoload قرار دهید. در عین حال، بارگذاری همه Helperها بهصورت سراسری ضرورتی ندارد و بهتر است وابستگی هر بخش روشن بماند.
در زمان استفاده، ورودی را از نظر نوع و محدوده بررسی کنید، خروجی HTML را متناسب با محل نمایش Escape کنید و مسیر فایل را از داده خام کاربر نسازید. اگر تابعی به دیتابیس، شبکه یا وضعیت Session وابسته است، آن رفتار دیگر یک Helper ساده نیست و بهتر است در Service یا Library مستقل قرار بگیرد.
در بازبینی کد، ترتیب و نتیجه متدهای plural()، singular()، camelize()، underscore() را بررسی کنید. نام متد بهتنهایی تضمین نمیکند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.