پس از مراحل نصب و راه اندازی و تنظیمات فریم ورک لاراول
نوبت به اتصال پروژه به دیتابیس می رسد، برای این کار:
در فولدر config فایل database.php را باز کنید:
در این فایل بسته به دیتابیسی که مورد نظرتون هست می توانید تنظیمات آن را ست نمایید :
فریم ورک لاراول از دیتابیس های mysql ,pgsql,redis ,SQL Server . پشتیبانی می کند.
به عنوان مثال دیتابیسی که بنده استفاده می کنم mysql هست که در قسمت تنظیمات این دیتابیس من به صورت زیر عمل کرده ام

[php]
   'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', 'localhost'),  
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'laravelproject'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', '123456789'),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],
[/php]

این تنظیمات اولیه دیتابیس بود در بخش های بعدی با کوئری زدن و relation ها و همچنین کار با Eloquent ORM حتما آشنا خواهیم شد.
لینک زیر داکیومنت سایت اصلی در رابطه با دیتابیس هست:
Database: Getting Started

نکته:پس از تنظیم کردن اطلاعات دیتابیس خود ، در صورتی که با عدم اتصال به دیتابیس مواجه شدید. اطلاعات خود را در فایل .env نیز تنظیم کنید.


آموزش فریم ورک Yii

در پست قبلی نصب و راه اندازی پروژه در فریم ورک لاراول Laravel 

در انتهای متن ما لینک نمایش سایت را قرار دادیم


نکته۱:پس از نصب و فعال کردن فریم ورک لاراول (در سرور یا لوکال) باید روت root

اصلی سرورتون رو به فایل index.php واقع در فولدر public قرار دهید.

 

نکته۲: فولدر های storage , bootstrap/cache باید قابل نوشتن باشند (writable) ،


پس فراموش نکنید که permission (سطح دسترسی ) را در سرورتون برای این فولدر ها اعمال کنید.

 

نکته۳: برای سایر تنظیمات می توانید به فولدر config رفته و فایل app.php را مشاهده کنید.
در این قسمت می توانید تنظیمات نظیر timezone و language را تنظیم نمایید.


آموزش فریم ورک Yii

 

assign نقش به کاربر در RBAC – Yii2
برای اهدای سطح دسترسی به کاربر مثلا به هنگام ثبت نام
شما می توانید با استفاده از متد getRole نقش مد نظر خود را انتخاب و به کاربر مورد نظر assign کنید.

 

1 2 3 $auth = \Yii::$app->authManager;         $authorRole $auth->getRole('author');         $auth->assign($authorRole$user->getId());

آموزش فریم ورک Yii

در فریم ورک yii2 نسخه advanced به صورت پیش فرض مدل user وجود دارد
که در فولدر common و در قسمت models قرار داده شده است.
زمانی که شما پروژه ای را اجرا می کنید (نسخه advance ) امکاناتی نظیر لاگین , لاگ اوت ، ثبت نام و فراموشی رمز عبور به صورت پیش فرض در frontend و در siteController وجود دارد
table user در دیتابیس مرتبط با امکانات بالا در فولدر migration واقع در فولدر console قرار دارد که به شرح زیر می باشد :

db->driverName === 'mysql') {
// http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
}
$this->createTable('{{%user}}', [
'id' => $this->primaryKey(),
'username' => $this->string()->notNull()->unique(),
'auth_key' => $this->string(32)->notNull(),
'password_hash' => $this->string()->notNull(),
'password_reset_token' => $this->string()->unique(),
'email' => $this->string()->notNull()->unique(),
'status' => $this->smallInteger()->notNull()->defaultValue(10),
'created_at' => $this->integer()->notNull(),
'updated_at' => $this->integer()->notNull(),
], $tableOptions);
}
public function down()
{
$this->dropTable('{{%user}}');
}
}

توجه : در رابطه با migration ها در اینجا توضیح داده شده است .
در صورتی که نیاز به تغییر اطلاعات بالا داشتید می توانید آن را تغییر دهید .
برای اجرای کد بالا و پیاده سازی در دیتابیس (ایجاد جدول user) باید در cmd خود کد زیر را اجرا نمایید :

yii migrate --migrationTable=migrations


آموزش فریم ورک Yii

در این مطلب از سایت goyii.ir نحوه ی اتصال پروژه به دیتابیس را آموزش می دهیم:
برای اتصال پروژه به دیتابیس با توجه به نوع پروژه basic یا  advanced  به روش زیر عمل می کنیم

برای پروژه های basic

در مسیر :


root/config/db.php

اطلاعات دیتابیس خود را در فایب db.php وارد نمایید

return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=tebshahr',
'username' => 'root',
'password' => '123456789',
'charset' => 'utf8',
];

در پروژه های advanded
مسیر:

root/common/config/main-local.php

اطلاعات دیتابیس خود را در فایبmain-local.php وارد نمایید

return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=bge',
'username' => 'root',
'password' => '123456789',
'charset' => 'utf8',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => true,
],
],
];


آموزش فریم ورک Yii

در این مطلب از سایت goyii.ir نحوه ی اتصال پروژه به دیتابیس را آموزش می دهیم:
برای اتصال پروژه به دیتابیس با توجه به نوع پروژه basic یا  advanced  به روش زیر عمل می کنیم

برای پروژه های basic

در مسیر :


root/config/db.php

اطلاعات دیتابیس خود را در فایب db.php وارد نمایید

return [
\'class\' => \'yii\\db\\Connection\',
\'dsn\' => \'mysql:host=localhost;dbname=tebshahr\',
\'username\' => \'root\',
\'password\' => \'123456789\',
\'charset\' => \'utf8\',
];

در پروژه های advanded
مسیر:

root/common/config/main-local.php

اطلاعات دیتابیس خود را در فایبmain-local.php وارد نمایید

return [
\'components\' => [
\'db\' => [
\'class\' => \'yii\\db\\Connection\',
\'dsn\' => \'mysql:host=localhost;dbname=bge\',
\'username\' => \'root\',
\'password\' => \'123456789\',
\'charset\' => \'utf8\',
],
\'mailer\' => [
\'class\' => \'yii\\swiftmailer\\Mailer\',
\'viewPath\' => \'@common/mail\',
// send all mails to a file by default. You have to set
// \'useFileTransport\' to false and configure a transport
// for the mailer to send real emails.
\'useFileTransport\' => true,
],
],
];


آموزش فریم ورک Yii

فریم ورک Yii با استفاده از request امکان دسترسی به پارامتر های ارسالی را برای برنامه نویسان فراهم کرده .
با استفاده از این قابلیت شما می توانید به پارامترهای ارسالی کاربر نظیر post – get , … دسترسی داشته باشین.
یکی از مهمترین آنها ip کاربر می باشد :
برای دریافت ip کاربر به روش زیر عمل می کنیم


$userIP = Yii::$app->request->userIP;


آموزش فریم ورک Yii

ممکنه که شما در پروژه ی خودتون نیاز به نسخه فریم ورک Yii2 داشته باشید.

برای دریافت ورژن به دو روش می توانیم عمل کنیم»

استفاده از command line

به  فولدر root پروژه بروید . (همانجا که فایل yii وجود دارد) با اجرا گرفتن کد زیر در cmd  ورژن فریم ورک نمایش داده می شود


$ ./yii
This is Yii version 2.0.11.2.

استفاده از Yii API
با استفاده تابع زیر نسخه فریم ورک نمایش داده می شود

$version = Yii::getVersion();


آموزش فریم ورک Yii

آموزش برنامه نویسی php

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

  1. ابتدا وارد gmail خود شوید
  2. در قسمت سمت راست بر روی آی چرخدنده کلیک کنید
  3. در منوی باز شده بر روی settings کلیک کنید:
  4. www.goyii.ir-ارسال اتوماتیک پاسخ در جیمیل
  5. در صفحه ی جدیدی که برای شما باز شده است گزینه ی Vacation responder را پیدا کنید.(در انتهای صفحه قرار دارد)
  6. به صورت پیش فرض این گزینه غیر فعال می باشد . آن را فعال کنید. (Vacation responder on)
  7. سپس رنج تاریخ  ، موضوع و متن پیام خود را انتخاب نمایید
  8. www.goyii.ir-ارسال اتوماتیک پاسخ در جیمیل
  9. و در آخر گزینه ی save را کلیک نمایید.

آموزش فریم ورک Yii

نمایش دیتا در view با استفاده از controller

مثال: می خواهیم یک اکشن در controller ایجاد کنیم و از طریق آن یک دیتایی را به ویو ارسال و آن را نمایش دهیم :

مرحله اول : ایجاد اکشن index در کنترلر article
برای ایجاد کنترلر: فایل ArticleControoler.php را در مسیر app->http->controllers ایجاد می کنیم:

[php]
namespace App\Http\Controllers;
use App\Article;
use Illuminate\Http\Request;
use View;
use App\Http\Requests;
class ArticleController extends Controller
{
     public function index(Request $request) {
        return view('article.index', [
            'title' => "goyii.ir",
        ]);
    }
}
[/php]

در کد بالا و در اکشن index ما دیتای goyii.ir را از طریق متغییر title به فایل index.blad.php ارسال می کنیم. که با $title در ویو می توانیم آن را دریافت کنیم.

مرحله دوم:برای نمایش باید ابتدا فولدر article را در مسیر resources->views ایجاد و در آن فایل فایل index.blade.php قرار دهیم:
فایل index.blade.php حاوی کد زیر :

[php]
<h1>
    welcome to  echo $title;
</h1>
[/php]

مرحله سوم : تنظیم routes :
کد زیر را در فایل web.php در فولدر Routes

[php]
Route::get('/article/index', 'ArticleController@index');
[/php]

در کد بالا هرگاه کاربر در مرورگر خود article/index را وارد نماید سیستم اکشن index در کنترلر article اجرا می کند.

نمایش دیتا در view با استفاده از controller
نمایش دیتا در view با استفاده از controller

آموزش فریم ورک Yii

آشنایی با MVC  در laravel

 

 

در این قسمت در باره نحوه کار MVC در laravel صحبت می کنیم .
برای تعریف MVC می توانید به لینک رو به رو مراجعه کنید. تعریف MVC

بخش اول : Model
برای ایجاد مدل به دو روش می توانید عمل کنید:
۱ . به صورت دستی در فولدر app یک کلاس با نام دلخواه ایجاد کنید :
مثال: ایجاد مدل با نام article در فولدر app پروژه با نام Article.php

[php]
namespace App;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
    //
}
[/php]

۲ . از طریق دستورات artisan
در این روش کافی است که cmd را در روت پروژه باز کنید و دستور زیر را تایپ نمایید:

[php]
php artisan make:model Article
[/php]

با اجرای دستور پیام Model created successfully. نمایش داده می شود :
و در فولدر app همانند روش اول فایل Article.php ایجاد می شود .

 

آشنایی با MVC در laravel

 

برای مشخص کردن جدول دیتابیس مدل ایجاد شده می توانید پروپرتی table را با نام مورد نظرتون تنظیم نمایید.

[php]
namespace App;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
    protected $table = "article";
    //
}

[/php]

نکته: زمانی که مدل را ایجاد می کنید فریم ورک به صورت پیش فرض پروپرتی table را برابر با نام مدل قرار می دهد با این تفاوت که:
مثلا برای مدل article نام جدول را برابر با articles قرار می دهد.
یعنی باید جدول articles در دیتابیس داشته باشید.

بخش دوم: Controller
برای ایجاد کنترلر به دو روش می توانید عمل کنید:
۱ . به صورت دستی در فولدر Http (این فولدر در فولدر app قرار دارد) و در داخل فولدر Controller یک کلاس با نام دلخواه ایجاد کنید :
مثال: ایجاد کنترلربا نام article در فولدر Controller واقع در فولدر Http با نام ArticleController.php

[php]
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class ArticleController extends Controller
{
    //
}
[/php]

۲ . از طریق دستورات artisan
در این روش کافی است که cmd را در روت پروژه باز کنید و دستور زیر را تایپ نمایید:

[php]
php artisan make:controller ArticleController
[/php]

با اجرای دستور پیام Controller created successfully.نمایش داده می شود :
و در فولدر Controller همانند روش اول فایل ArticleController.php ایجاد می شود .

بخش سوم: View
این بخش وظیفه نمایش اطلاعات را دارد
اطلاعاتی که از طریق مدل و کنترل به view ارسال می شود .

آشنایی با MVC در laravel
هر مدلی که ایجاد می کنید باید یک فولدر با نام مودلتون درداخل فولدر views ( فولدر resources ( واقع در روت سایت))داشته باشید.
برای مثال فولدر article در مسیر زیر قرار دارد:

[php]
resources/views/article
[/php]

که در این فولدر فایل های نمایش خود را قرار می دهید :
برای مثال index.blad.php

نکته: هر فایل ویو باید blade.php داشته باشد .از استانداردها و قوانین فریم ورک laravel می باشد .


آموزش فریم ورک Yii

کار با قالب (layout) در لاراول

همانطور که در آموزش "نحوه ی نمایش view به وسیله controller " دید ، نمایش اطلاعات بدون قالب خاصی بود.
البته ما می توانستیم به وسیله ی یک سری تگ های html کمی ظاهر سایت را تغییر دهیم.
در این قسمت اندکی با دستورات blade در لاراول آشنا میشیم
سپس برای پروژه ی خود یک قالب تعریف می کنیم که در سایر صفحات و view های ما نمایش داده شود.

Blade یک موتور ساده و در عین حال قدرتمند ایجاد قالب است که همراه لاراول ارائه می شود.
تمامی قالبهای Blade باید از پسوند blade.php. استفاده کنند. (نکته ای که قبلا گفته شده است).
منبع http://larabook.ir

بهترین ویژگی Blade این است که از یک طرح (layout) برای همه صفحات وب برنامه می شود استفاده کرد.
به عنوان مثال، می توانید یک منو اصلی در یک layout مادر ایجاد کنید و از آن برای تمام صفحات خود استفاده کنید.
منبع http://baboon.ir

برای ایجاد قالب مادرمون (masterpage) ابتدا باید فولدر layouts را ایجاد کنیم.کجا؟
مثل نمایش view ها این فولدر هم در فولدر views واقع در فولدر resources ایجاد می شود.
در مرحله بعد فایل master.blade.php ایجاد می کنیم.
همانند سایر قالب ها در این فایل کد های html را قرار می دهیم .

[php]
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Page Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;This is a Heading&lt;/h1&gt;
&lt;p&gt;This is a paragraph.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
[/php]

تا اینجا که کار خاصی نکردیم و فقط تگ های html قرار دادیم.
مرحله بعدی قرار دادن placeholder هست.
placehoder به چه معناست؟
خیلی ساده شما محلی را در قالب مشخص می کنید که این محل ، محل نمایش محتوای سایر ویو ها است.
برای ایجاد placeholder به روش های زیر می توانیم عمل کنیم:
در مثال بالا ما می خواهیم در تگ p یک placeholder ایجاد کنیم. تا اطلاعات سایر صفحات در آن نمایش داده شود :
فایل master.blade.php را با کد های زیر تغییر میدهیم:

[php]
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Page Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt; @yield('title')&lt;/h1&gt;
&lt;p&gt; @yield('content')&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
[/php]

با استفاده از @yield ما placeholder ایجاد کردیم. محتوای داخل پرانتز نام placeholder ماست که با استفاده از آن در ویو ها به آن دسترسی پیدا می کنیم.
حالا در فایل index.blade.php که قبلا تعریف کردیم از این مسترپیج masterpage استفاده می کنیم و محتوای خود را نمایش می دهیم
فایل index.blade.php واقع در resources/views/article را با کد های زیر تکمیل می کنیم

[php]
@extends('layouts.master')

@section('title')
golaravel.ir
@stop


@section('content')
آموزش فریم ورک laravel
@stop
[/php]

/***********************/
با استفاده از @extends('layouts.master') قالب خود را صدا زدیم

[php]
با استفاده از 
@section('title')
golaravel.ir
@stop
[/php]

در تگ h1 خود متن" golaravel.ir "را قرار دادیم

[php]
و با استفاده از 
@section('content')
آموزش فریم ورک laravel
@stop
[/php]

در تگ p متن " آموزش فریم ورک laravel " را قرار دادیم


آموزش فریم ورک Yii

یکی از راه های مفید در سرعت پردازش سایت و همچنین سئو استفاده از minify  و compress کردن فایل های css  و  javascript  هست .

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

استفاده از ویجتی Yii 2 Minify View Component می باشد

برای استفاده از این ماژول ابتدا  به وسیله ی composer  آن را در اپلیکیشن خود نصب کنید:

[php]
composer require \"rmrevin/yii2-minify-view:~1.13\"
[/php]

یا قرار دادن کد زیر در فایل composer.json در رووت سایت (در قسمت require)

[php]
\"rmrevin/yii2-minify-view\": \"~1.13\",
[/php]

برای اعمال تنظیمات
کد زیر را در components در main.php یا web.php در فولدر config قرار دهید :

[php]
 \'view\' => [
            \'class\' => \'\\rmrevin\\yii\\minify\\View\',
            \'enableMinify\' => !YII_DEBUG,
            \'concatCss\' => true, // concatenate css
            \'minifyCss\' => true, // minificate css
            \'concatJs\' => true, // concatenate js
            \'minifyJs\' => true, // minificate js
            \'minifyOutput\' => true, // minificate result html page
            \'web_path\' => \'@web\', // path alias to web base
            \'base_path\' => \'@webroot\', // path alias to web base
            \'minify_path\' => \'@webroot/minify\', // path alias to save minify result
            \'js_position\' => [ \\yii\\web\\View::POS_END ], // positions of js files to be minified
            \'force_charset\' => \'UTF-8\', // charset forcibly assign, otherwise will use all of the files found charset
            \'expand_imports\' => true, // whether to change @import on content
            \'compress_options\' => [\'extra\' => true], // options for compress
            \'excludeBundles\' => [
                \\dev\\hellowrld\\AssetBundle::class, // exclude this bundle from minification
            ],
        ]
[/php]

با اجرای اپلیکیشن در فولدر web فولدری با نام minify ایجاد می شود که برای css ها فایلی جداگانه و برای js ها نیز فایلی جداگانه ایجاد می کند .


آموزش فریم ورک Yii

blade یک موتور قدرتمند برای قالب در لاراول فراهم میکند.
بر خلاف سایر قالب های php شما را ر استفاده از کد های php در ویو محدود نمی کند.
در واقع کلیه کد های blade در کدهای php کامپایل و به صورت کش ذخیره می شوند(تا زمانی که تغییر کنند.)
فایل های blade در فولدر resources/views ذخیره می شوند و دارای پسوند .blade.php هستند.
دوتا ویژگی اصلی blade استفاده از inheritance و section هست.

inheritance رو در مطلب "کار با قالب layout در لاراول " آموزش دادیم.
به طور کلی به این معناست که شما می توانید یک قالب مادر داشته باشین(مسترپیج masterpage)
و سایر صفحاتتون از این قالب ارث ببرند.

در مورد sections اشاره ی کوچکی در لینک فوق داده شد . به این معنی است که:
شما می توانید در قالب های مستر بخش هایی را ایجاد کنید و با توجه به نیاز اون قسمت های را در سایر صفحات و با اطلاعات دلخواه پر نمایید(نمایش دهید)

آشنایی با directives (دستورالعمل ها)

به @section و @yield دستورالعمل (directives ) گفته می شود.
به کد زیر را توجه کنید:

[php]
<!-- Stored in resources/views/layouts/masterpage.blade.php -->

<html>
    <head>
        <title>نام سایت - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
        ساید بار مستر پیج

        @show

        <div class="container">
            @yield('content')
        </div>
    </body>
</html>
[/php]

دستور section یک قسمت از محتوا را تعریف می کند.
دستور yield برای نمایش محتویات بخش خاص استفاده می شود.

[php]
<!-- Stored in resources/views/article.blade.php -->

@extends('layouts.masterpage')

@section('title', 'عنوان دلخواه')

@section('sidebar')
    @parent

    <p>ساید بار  مثلا محل قرار گیری تبلیغات</p>
@endsection

@section('content')
    <p>محتوای سایت مثلا محل قرارگیری لیست مقالات .</p>
@endsection
[/php]

به وسیله دستور extends ما مستر پیج را صدا میزنیم.: چون در فولدر layouts قرار دارد نام فولدر را قبل آن مینویسیم

به وسیله دستور section('title', 'عنوان دلخواه') دستور yield('title') در مسترپیج را مقدار دهی می کنیم.
همچنین می توانیم این مورد را به این شکل مقدار دهی کنیم:

[php]
@section('title')
    عنوان دلخواه
@endsection
[/php]

در دستور section('sidebar') که با endsection به پایان می رسد : محتوای دلخواه را نمایش می دهیم
تنها نکته این است که در صورتی که از دستور parent استفاده کنیم مقداری که در مسترپیج قرار داده شده را نیز نمایش می دهد
در صورتی که استفاده نکنیم آن را نمایش نمی دهد.

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


آموزش فریم ورک Yii

checkAccess in Yii2 RBAC برای بررسی میزان دسترسی کاربر جاری به یک نقش (RoleName) یا یک مجوز (Permission) از دستور زیر استفاده می کردیم: [php] Yii::$app->user->can("admin") [/php] در صورتی که بخواهیم میزان دسترسی یک کاربر مشخص به یک نقش یا مجوز خاص را بررسی کنیم از دستور checkaccess استفاده می کنیم شکل کلی این دستور به این صورت می باشد: [php] Yii::$app->authManager->checkAccess($userid, 'roleOrPermission') [/php] خروجی این کد در صورتی که کاربر دسترسی داشته باشد true یا۱ می باشد. امادر صورت عدم دسترسی مقداری بازگردانده نمیشود


آموزش فریم ورک Yii

دستورات 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


آموزش فریم ورک Yii

نمایش دیتا در لاراول  

نمایش اطلاعات و داده ها در لاراول

جهت نمایش داده ها در فایل های blade از طریق ارسال دیتا از کنترلر به ویو در اینجا توضیح دادیم شما در route نیز می توانید داده را به ویو ارسال نمایید : در route [php] Route::get('greeting', function () { return view('/article/index', ['name' => 'golaravel.ir']); }); [/php] و در ویو [php] salam , {{ $name }}. [/php]


آموزش فریم ورک Yii

کامپوننت ها و اسلات ها در لاراول تقریبا شبیه به section ها و layout ها هستند . در مستندات فریم ورک گفته شده که این مفاهیم راحت تر قابل فهم هست. برای مثال : برای هشدار به کاربر یا همان alert ها , به جای اینکه هر دفعه کد تکراری بنویسیم آن را به صورت یک component در ویو ایجاد می کنیم و در جای مد نظر آن را صدا میزنیم محل تعریف این کامپوننت ها در فولدر views قرار می گیرد (resources->views) برای مثال من در این فولدر یکفایل php با نام alert.blade.php ایجاد می کنم: [php]

{{ $slot }}

[/php] در کد بالا ما دو متغییر ایجاد کردیم یک: status که در صورتی که ما مقدار این متغییر را زمان استفاده مشخص نکنیم به صورت پیش فرض متن "success" قرار می گیرد دو: slot که در واقع متغییر پیشفرض component می باشد . حال این کامپوننت را در یکی از ویوها (article/index) صدا میزنیم [php]

@component('alert',[ 'status'=>'danger' ]) توجه! خطایی پیش آمده است! @endcomponent [/php] در کد بالا به وسیله ی دستور component و نام alert ما کامپوننت را صدا زدیم با status مقدار متغییر را مشخص کردیم و محتوایی که بین component و endcomponent قرار دارد مقدار slot ما می باشد توجه داشته باشید که مانند status نمیتوانید slot را صدا بزنید . مگر اینکه از متغییر دیگری استفاده کرده باشید. مثال [php]

{{ $slot }}
{{ $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 goyii.ir-laravel blade[/caption]


آموزش فریم ورک Yii

<h3><a nolink="http://www.goyii.ir">RBAC لیست کاربرانی دارای نقش خاص در YII2</a></h3>

در بسیاری از مواقع در پروژه شما نیاز به لیست کاربرانی که دارای یک نقش مشخص هستند دارید.

به عنوان مثال می خواهید لیست کاربرانی که به عنوان مدیر در سایت شما فعالیت می کنند را پیدا کنید:

<a nolink="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]


آموزش فریم ورک Yii

تبلیغات

آخرین ارسال ها

آخرین جستجو ها

پورتال و سایت تفریحی خبری ایرانیان اینجا همه چی هست ایرانیان گولد آوینا دانلود بانک لینک های دانلود فیلم ، دانلود سریال و دانلود آهنگ میباشد. 3dstl model 3d cnc v monabat فریبا جونم دوستت دارم طراحي و معماري فلات