دوره مجازی Laravel - جلسه 8 - فضاهای نام در controller ها



visibility  
mode_comment   ۱۲

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

info توجه

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

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

comment دیدگاه کاربران
محمدرضا replyپاسخ

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

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

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

محمدرضا replyپاسخ

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

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

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

mahdi98 replyپاسخ

با سلام. استاد ممنون جلسه خوبی بود ولی چند تا نکته دارم (با توجه به اینکه دارم با لاراول 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 که به روز شده این روش قطعا بهتره.

متین نجاری replyپاسخ

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

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

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

متین نجاری

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

امین replyپاسخ

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

امین

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

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

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

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.