انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp

نسخه‌ی کامل: کلاس Inflector : تعریف و کاربرد آن
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
همینطور که اطلاع دارید. کیک یک سری قواعد جهت نام گزاری فایل ها، کلاس ها و... دارد که برای خوانایی بهتر و استاندارد کردن کدنویسی در فریم ورک کیک از این قواعد استفاده میشه.
کلاس Inflector در واقع موتور مترجم و صرف کردن قواعد در نام گزاری های کیک پی اچ پی هست.

که کاربر و نقش خیلی زیادی برای برنامه نویسان کیک ایفا میکنم.

برای آشنایی با این کلاس و نحوه عملکردش چندین مثال میزنم.

کد پی‌اچ‌پی:
var_dump(Inflector::pluralize('CakePHPInflectorMagic'));

Convert models to controllers MyUser -> MyUsers
becomes 
:: CakePHPInflectorMagics
singularize 
:: CakePHPInflectorMagic 

کد پی‌اچ‌پی:
var_dump(Inflector::singularize('CakePHPInflectorMagic'));

convert controllers to models MyUsers -> MyUser
becomes 
:: CakePHPInflectorMagic
pluralize 
:: CakePHPInflectorMagics 

کد پی‌اچ‌پی:
var_dump(Inflector::camelize('CakePHPInflectorMagic'));

Used with singularize to make tables into models my_users -> MyUsers
becomes 
:: CakePHPInflectorMagic
underscore 
:: cake_p_h_p_inflector_magic 

برای تست و سایر کاربرد ها لطفا به این صفحه مراجه کنید[مشاهده]
پیشنهاد میکنم تا جایی که میشه برای friendly urlها از Inflector:Confusedlug استفاده نکنید. دلیل
اگه میشه یکم در مورد Inflector:Confusedlug توضیح بدین چون من خیلی چیزی ازش نفهمیدم .
فکر کنم url رو به صورت استاندارد کیک در میاره و جوری که برای کیک قابل خوندن باشه.Exclamation درسته ؟
چون نام کنترول ها و کنش ها به صورت استاندارد underscroe باید باشه ..
من اطلاعاتم کافی نیست اگه میشه توضیح بدین ممنون می شم
slug در واقع اینجوری میشه تعریفش کرد که url رو clean and friendly url کردن. ربطی به نام کنترلر و این حرفا نداره.

من با یک مثال توضیح میدم. شما در پروژه تون میخواهید عنوان تاتیل هر خبر آدرس url اون خبر باشه :

کد:
domain.com/news/title news
title news = "hello how are you?!"
domain.com/news/hello_how_are_you.html

تو تایتل شما اسپیس دارید علائم دارید . اینها نباید باشه. علائم حذف باید بشند و فاصله ها به آندرلاین. این عملیات رو slug خونده میشه. و برای seo و.... استفاده میشه.
سلام
موضوع ارائه شده بسیار عالی بود در واقع یکی از تمرینهای درسی من بود که استادم راه حل اون رو خواسته