فضاهای نام در controller ها در لاراول

دسته بندی: آموزش
زمان مطالعه: 1 دقیقه
۲۹ خرداد ۱۳۹۶

به نام خدا و سلام. controller ها وظیفه اصلی مدیریت درخواست ها رو بر عهده دارند و این درخواست ها در بخش های مدیریت و سمت کاربر باید به صورت جداگانه پیاده سازی بشه. در این جلسه قصد داریم این نوع پیاده سازی رو آموزش بدیم تا کدهای بهتری رو برای کنترلر ها داشته باشیم.

:: توجه

این مطلب یک جلسه از آموزش لاراول مبتدی تا پیشرفته می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش لاراول مبتدی تا پیشرفته

چه امتیازی به این مقاله می دید؟
نویسنده
یادگیرنده ی همیشگی،برنامه نویس،نویسنده،عاشق خلق چیزهای عجیب،عاشق تحلیل داده ها، مسئول بخش فنی و هم بنیان گذار در سون لرن.

جلسات دوره

نظرات کاربران

امین

سلام
1- در این جلسه گفتید که مواردی رو که بخوایم تغییر داده نشه مثلا role میام و در $guarded میاریم ، خب در سمت کاربر درسته مثلا در فرم ثبت نام کاربر نیاز نیست که role رو وارد کنه اما در بخش مدیریت اگر بخوایم role رو به کاربر اختصاص بدیم در guarded نمیشه آورد که؟! باید چیکار کرد که هم بشه در این فرم role رو تعریف کرد و هم در سمت کاربر امنیت رو تامین کرد؟
2- این دو فیلد created_at و updated_at در برخی جداول نیازی نیست باشه ، آیا واجبه که باشن در تمامی جداولمون و ممکنه درآینده نیاز بشه؟ یا میتونه نیاز نباشه و میشه در همون اول هنگام ایجاد جدول نزاریم ساخته بشن؟
ممنونم

کیوان علی محمدی

سلام.
1 – در سمت مدیریت می تونیم role رو به صورتی غیر از mass assignment تنظیم کنیم که مشکلی برای guardrd هم پیش نیاد و نخوایم تغییر بدیم. مثلا می تونیم بعد از ایجاد شی مدل به راحتی role رو تنظیم کنیم و اونو save کنیم.
2 – کاملا بستگی به پروژه و مدل های اون داره و هر لحظه بخواید می تونید با قرار دادن public $timestamps=false در مدل مورد نظر اونارو غیر فعال کنید.

امین

ببخشید سوالم مربوط به جلسه بعدی بود جواب سوال یک 1 رو در کامنت جلسه بعدی گرفتم فقط سوال دو 2 رو لطفا پاسخ بدین ممنونم

متین نجاری

سلام استاد من از لاراول 5.7 استفاده میکنم و روت گروپ کار نمیکنه
تو این نسخه باید چ تغییر خاصی انجام بدم ؟

متین نجاری

کاش میشد یه جلسه ضبط میکردید بابت تغییرات تو نسخه جدید

کیوان علی محمدی

چرا وجود داره ولی نحوه استفاده ازش عوض شده.

mahdi98

با سلام. استاد ممنون جلسه خوبی بود ولی چند تا نکته دارم (با توجه به اینکه دارم با لاراول 5.6 کار می کنم):
1. من گروه آدرس دهی رو به این شکل انجام دادن می خواستم بپرسم که این بهینه تره یا اونی که شما انجام دادید:
2. و این که در لاراول 5.3 مبحث component وجود نداره ولی در لاراول 5.6 وجود داره. به هیمن خاطر من بخش پنل های بوت استرپ رو با استفاده از کامپوننت ها انجام دادم. حتی بخش فرم ثبت کاربر جدید رو هم از همین طریق انجام دادم در کد های زیر می تونید ببینید به این شکل:(لینک مبحث بالا: https://laravel.com/docs/5.6/blade#components-and-slots)

//آدرس دهی
Route::name(‘admin.’)->prefix(‘admin’)->namespace(‘Admin’)->group(function () {
    Route::get(‘users’, ‘UsersController@index’)->name(‘users.list’);
    Route::get(‘users/create’, ‘UsersController@create’)->name(‘users.create’);
    Route::post(‘users/create’, ‘UsersController@store’)->name(‘users.create’);
});

//پنل ها بوت استرپ در قالب کامپوننت
//file: admin/partials/panel-component.blade.php
<div class="panel panel-default">
    <div class="panel-heading">{{ $title }}</div>
    <div class="panel-body">
        {{ $slot }}
    </div>
</div>

//استفاده از کامپوننت بالا در فایل create.blade.php
                @component(‘admin.partials.panel-component.blade.php’)
                @slot(‘title’)
                    لیست کاربران
                @endslot()

                @component(‘admin.partials.form’,[‘action’ => ”,’method’ => ‘post’])
                @include(‘admin.user.userCreateInputs’)
                @component()

                @endcomponent()
کیوان علی محمدی

سلام در نسخه 5.6 که به روز شده این روش قطعا بهتره.

محمدرضا

استاد ببخشید این دوره حداکثر تا کی تموم میشه ؟

کیوان علی محمدی

احتمال زیاد آخر تابستون.

محمدرضا

عالی عالی عالی
مثل همیشه بی نظیر و فوق العاده
خداقوت استاد جان

کیوان علی محمدی

خوشحام راضی بودین. موفق باشید.

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

شما هم چنان می توانید سوالات خود را در این قسمت بپرسید اما اولویت پاسخ گویی با دانشجویانی است که بازه پشتیبانی فعال دارند.

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
گزارش مشکل