صفرتا صد پروژه فریم ورک لاراول laravel
در این پست از سایتgoyii قصد ایجاد فهرست کامل برای ایجاد پروژه به صورت قدم به قدم را دارم تا دوستان برای شروع بتوانند به صورت منظم و بخش به بخش مراحل را تا پیاده سازی کامل طی کنند.
- دانلود آخرین ورژن فریم ورک (نصب به وسیله کامپوزر)
- تعیین حالت پروژه(برای پروژه های advance)
- نام پروژه
- تنظیمات سرور iis or apache
- تنظیمات دیتابیس (اتصال پروژه به دیتابیس)
- ایجاد جدول user به وسیله migration
- فعال سازی RBAC (سطوح دسترسی)
- استفاده از ماژول gii برای ایجاد مدل، کنترلر ، ویو (model, view,controller)
checkAccess in Yii2 RBAC برای بررسی میزان دسترسی کاربر جاری به یک نقش (RoleName) یا یک مجوز (Permission) از دستور زیر استفاده می کردیم: [php] Yii::$app->user->can("admin") [/php] در صورتی که بخواهیم میزان دسترسی یک کاربر مشخص به یک نقش یا مجوز خاص را بررسی کنیم از دستور checkaccess استفاده می کنیم شکل کلی این دستور به این صورت می باشد: [php] Yii::$app->authManager->checkAccess($userid, 'roleOrPermission') [/php] خروجی این کد در صورتی که کاربر دسترسی داشته باشد true یا۱ می باشد. امادر صورت عدم دسترسی مقداری بازگردانده نمیشود
دستورات artisan در laravel
آشنایی با دستورات artisan در فریم ورک laravel :
+تولید کلید تصادفی:
[php] php artisan key:generate [/php] پس از اجرا فایل .env در رووت پروژه ایجاد می شود (این فایل را در file explorer باز کنید)
+ دریافت ورژن (نسخه) لاراول
[php] php artisan --version [/php]
+ایجاد model
[php] php artisan make:model Article [/php] پس از اجرا در فولدر app مدل ایجاد می شود : Article.php
+ایجاد controller
[php] php artisan make:controller ArticleController [/php] پس از اجرا در فولدر controller که در فولدر http قرار دارد فایل ArticleController.php ایجاد می شود . فولدر http در فولدر app قرار دارد.
+ ایجاد کنترلر با resource
[php] php artisan make:controller PhotoController --resource [/php]
+ ایجاد کنترلر با resource , model
[php] php artisan make:controller PhotoController --resource --model=Photo [/php]
+فعال سازی authentication
[php] php artisan make:auth [/php]
+ اجرای migration برای ایجاد جداول در دیتابیس
[php] php artisan migrate [/php]
دستورات artisan در laravel
نمایش دیتا در لاراول
نمایش اطلاعات و داده ها در لاراول
جهت نمایش داده ها در فایل های blade از طریق ارسال دیتا از کنترلر به ویو در اینجا توضیح دادیم شما در route نیز می توانید داده را به ویو ارسال نمایید : در route [php] Route::get('greeting', function () { return view('/article/index', ['name' => 'golaravel.ir']); }); [/php] و در ویو [php] salam , {{ $name }}. [/php]
کامپوننت ها و اسلات ها در لاراول تقریبا شبیه به section ها و layout ها هستند . در مستندات فریم ورک گفته شده که این مفاهیم راحت تر قابل فهم هست. برای مثال : برای هشدار به کاربر یا همان alert ها , به جای اینکه هر دفعه کد تکراری بنویسیم آن را به صورت یک component در ویو ایجاد می کنیم و در جای مد نظر آن را صدا میزنیم محل تعریف این کامپوننت ها در فولدر views قرار می گیرد (resources->views) برای مثال من در این فولدر یکفایل php با نام alert.blade.php ایجاد می کنم: [php]
[/php] در کد بالا ما دو متغییر ایجاد کردیم یک: status که در صورتی که ما مقدار این متغییر را زمان استفاده مشخص نکنیم به صورت پیش فرض متن "success" قرار می گیرد دو: slot که در واقع متغییر پیشفرض component می باشد . حال این کامپوننت را در یکی از ویوها (article/index) صدا میزنیم [php]
@component('alert',[ 'status'=>'danger' ]) توجه! خطایی پیش آمده است! @endcomponent [/php] در کد بالا به وسیله ی دستور component و نام alert ما کامپوننت را صدا زدیم با status مقدار متغییر را مشخص کردیم و محتوایی که بین component و endcomponent قرار دارد مقدار slot ما می باشد توجه داشته باشید که مانند status نمیتوانید slot را صدا بزنید . مگر اینکه از متغییر دیگری استفاده کرده باشید. مثال [php]
{{ $footer }}
[/php] [php] @component('alert',[ 'status'=>'danger', 'footer'=>'goyii.ir - golaravel.ir' ]) توجه! خطایی پیش آمده است! @endcomponent [/php] [caption id="attachment_2459" align="aligncenter" width="300"] goyii.ir-laravel blade[/caption]
<h3><a href="http://www.goyii.ir">RBAC لیست کاربرانی دارای نقش خاص در YII2</a></h3>
در بسیاری از مواقع در پروژه شما نیاز به لیست کاربرانی که دارای یک نقش مشخص هستند دارید.
به عنوان مثال می خواهید لیست کاربرانی که به عنوان مدیر در سایت شما فعالیت می کنند را پیدا کنید:
<a href="http://www.goyii.ir/%d8%b3%d8%b7%d8%ad-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-rbac-%d8%af%d8%b1-yii2-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d9%88%d9%84/">rbac </a>دارای متدی است که امکان نمایش id کاربرانی که دارای یک نقش هستند را به شما می دهد :
[php]
getUserIdsByRole($roleName)
[/php]
پس از آن کافی است شما با یک حلقه کاربران مورد نیاز خود را پیدا کنید:
به کد زیر توجه کنید:
[php]
$users = [];
$list = Yii::$app->authManager->getUserIdsByRole("amin");
foreach ($list as $value) {
$u = User::findOne($value);
$users[$value] = $u->username;
}
return $users;
[/php]
تعداد صفحات : 20
آموزش مرحله به مرحله فریم ورک Yii