برای تست policy برای اینکه ببینیم که اصلا کار میکند یا نه
میتوانیم داخل کدهای متد مربوطه بجای اینکه چیزی را return کنیم
بنویسیم
dd('somthing')
تا ببینیم اصلا چیزی نمایان میشود یا نه
و نکته ی دوم اینکه policy ها روی مدل ها کار میکنند و حتما نیاز است که
یک شی از مدل مربوطه به درستی ساخته شده باشد تا بتوانیم از policy های مورد نظر آن کلاس
استفاده کنیم.
تجربیات بنده بعد از 3 روز درگیری
سلام یعنی چی بدرستی ثبت شده یا خیر !
بله میدونم ثبت چیه ! ولی درست بدودن یا نبودن دیگه چیه !
روش ثبت یک policy کاملا واضح هست حالا شما ازش استفاده میکنید در شرایط درست و غلط تست میکنید اگر کار کرد پس یعنی ثبت شده
سلام
ببینید من Policy را این شکلی ثبت کردم در برنامه
protected $policies = \[
// 'App\\Model' => 'App\\Policies\\ModelPolicy',
Post::class => PostPolicy::class,
Article::class => ArticlePolicy::class
\];
و متد زیر را برای policy ارتیکل تعریف کردم
public function delete(User $user, Article $article)
{
// return $user->id === $article->user\_id;
return true;
}
و در یک ویو از ارتیکل به صورت زیر به کار بردم
@can('delete', $article)
<div class="content">
<h3>post view policy</h3>
</div>
@endcan
طوری که من سیاست گذاری کردم باید همیشه مقدار true برگشت داده بشود و policy اجرا شود
ولی هیچ اثری در برنامه ندارد و کدها را نشان نمیدهد.
الان دقیقا نمیدانم مشکل از کجاست؟!
اگر policy به درستی ثبت شده است پس چرا هیچ عکس العملی نشان نمیدهد!
@a.kian32
لطفا کدتون رو دفعه بعد درست بفرستید مبجور شدم خودم، ویرایش کنم !!!!
بنظر همچی در اینجا درست میاد !
در قسمت boot ایا مثل کد زیر هست ؟
/**
* Register any application authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
//
}
}
ممنون بابت ویرایش کدها- من بلد نبودم اینجا چطوری ویرایش بزنم.
بله دقیقا به همین صورت است
ولی من نمیدانم چرا کار نمیکند و اینکه چطور میتوانم تست کنم و بفهمم مشکل از کجاست!
برای تست policy برای اینکه ببینیم که اصلا کار میکند یا نه
میتوانیم داخل کدهای متد مربوطه بجای اینکه چیزی را return کنیم
بنویسیم
dd('somthing')
تا ببینیم اصلا چیزی نمایان میشود یا نه
و نکته ی دوم اینکه policy ها روی مدل ها کار میکنند و حتما نیاز است که
یک شی از مدل مربوطه به درستی ساخته شده باشد تا بتوانیم از policy های مورد نظر آن کلاس
استفاده کنیم.
تجربیات بنده بعد از 3 روز درگیری
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟