از چه روشهایی می توان در لاراول url ایجاد کرد؟

۱۸ فروردین ۱۳۹۶

روشهای زیادی برای آدرس دهی در لاراول می توان استفاده کرد که ما به بعضی از آنها اشاره خواهیم کرد:

استفاده از Laravel Action Helper



action('UserController@profile', ['id' => 1])
// http://site.dev/user/profile/1

در این روش با صدا زدن کنترلر و متد داخل آن و ارسال پارامتر مورد نظر URL خود را می سازیم.

معایب استفاده از این روش:

  1.  از کاراکترهای زیادی استفاده شده است.
  2. اگر متد در کنترل تغییر کند آدرس دهی ما با مشکل مواجه می شود.

استفاده از Laravel Route Helper


route('user.profile', ['id' => 1])
// http://site.dev/user/profile/1

مزایا: در این روش با تغییر متد و کنترلر تغییری در آدرس دهی ایجاد نمی شود.

معایب:شما باید برای هر آدرس نام تعریف کنید.

استفاده از Laravel URL Helper


url('user/profile', [1])
// http://site.dev/user/profile/1

در این روش شما بصورت اتوماتیک نام دومینی (full domain name) که در config/app.php ایجاد کردید استفاده می شود.

مزایا:دیگر نیاز نیست برای هر کنترلر route name تعریف کنید.

معایب:اگر route را تغییر دهید مجبوری بصورت دستی در همه سیستم آدرسهای مربوطه را تغییر دهید.

استفاده از URL String


href="/user/profile/false"
// href="/user/profile/1"

مزایا: در این روش با تغییر متد و کنترلر تغییری در آدرس دهی ایجاد نمی شود.

معایب: شما دیگر نام دومین را ندارید و مجبورید بسته به هر آدرس subdirectory را مشخص کنید.

روش آخر

شما در این روش با استفاده از model می توانید uri خود را تولید کنید به مثال زیر توجه کنید:


public function getUriAttribute($_)
{
    return $this->created_at->format('Y/m/').$this->slug.'/';
}

و در blade بصورت زیر استفاده کنید:

    a href="[[$post_uri ]]">[[ $post_title ]]/a

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(945)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}