Kaptain Kitty
انتشار :۲۲ دی ۱۳۹۳
بازدید :487 بار

اعتبارسنجی آسان

تقریبا هر وب اپلیکیشنی نیاز به فرم هایی برای اعتبارسنجی (authentication) دارد. فریم ورک Laravel (لاراول) رابطی ساده و کاربردی برای اعتبارسنجی کاربران ارائه می دهد.

ابتدا با ایجاد یک جدول users شروع کنید که فیلد های لازم برای  username و password  را داشته باشد.

سپس فریم ورک Laravel می تواند برای لاگین کردن یک کاربر attempt کند- که احتمالا این لاگین بر اساس مقادیری باشد که کاربر در فرم وارد کرده است.

در اینجا یک مثال ساده داریم، منهای جنبه ی validation.

[codesyntax lang=”php”]

Route::post('login', function()
{
    $credentials = array(
        'username' => Input::get('username'),
        'password' => Input::get('password')
    );
 
    // perform validation
 
    if ( Auth::attempt($credentials) )
    {
        // Credentials match. Logged in!
        return Redirect::to('admin/profile');
    }
});

[/codesyntax]

به یاد داشته باشید که فریم ورک Laravel در پشت صحنه به صورت خودکار پسورد را مخلوط کرده و آن با آنچه که در جدول users ذخیره شده است مقایسه می کند.

با این فرض که اطلاعات کاربر مطابقت داشته باشد، ID کاربر در session ذخیره می شود و کاربر لاگین می کند. بر اساس درخواست های بعدی شما می توانید با استفاده از کد زیر یوزرنیم کاربری که لاگین کرده است را به دست آورید:

[codesyntax lang=”php”]

$user = Auth::user()->username;

[/codesyntax]

ارسال ایمیل

همانطور که می دانید ارسال ایمیل از اپلیکیشن تان همواره پیچیده تر از آن است که به نظر می رسد. اما در فریم ورک Laravel 4 اینگونه نیست.

توانایی ارسال ایمیل این فریم ورک بر پایه ی بسته ی محبوب SwiftMailer ساخته شده است، اکنون شما نیاز به یک فایل config/mail.php جدید در اپلیکیشن خود دارید. اینجاست که می توانید اطلاعات ضروری برای email provider خود را شناسایی کنید. در اینجا نسخه ی مختصری از آنچه که به دست می آورید آمده است:

[codesyntax lang=”php”]

<?php
// app/config/mail.php
 
return array(
    'host' => 'smtp.example.com',
    'port' => 2525,
    'from' => array('address' => null, 'name' => null),
    'encryption' => 'tls',
    'username' => null,
    'password' => null,
);

[/codesyntax]

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

سپس نیاز به یک view برای ایمیل داریم. میخواهیم یک view ایجاد کنیم که welcome.blade.php  نامیده می شود و هنگامی که یک کاربر جدید در وب سایت ما ثبت نام کند، به کار خواهد رفت:

[codesyntax lang=”php”]

<?php
// app/views/emails/welcome.blade.php
 
<html>
    <body>
        Hi there, {{ $user->name }}. Thanks again for signing up for the latest Schumacher news! We'll look forward to seeing you around.
 
        Thanks,
        Management
    </body>
</html>

[/codesyntax]

وقتی که همه چیز در جای خود قرار گرفت، مسیر (rout) نمونه را ایجاد کرده و ایمیل خود را ارسال می کنیم.

[codesyntax lang=”php”]

Route::get('/', function()
{
    $user = User::find(1);
    $data = [ 'user' => $user ];
 
    // email view, data for view, closure to send email
    Mail::send('emails/welcome', $data, function($message) use($user)
    {
        $message
            ->to($user->email)
            ->subject('Welcome Bieber Fan!')
            ->attach('images/bieberPhoto.jpg');
    });
 
    return 'Welcome email sent!';
});

[/codesyntax]

خیلی ساده بود نه؟ ما کاربر جدید را از آن جدول به دست می آوریم و یک ایمیل را به آدرس ایمیل آن کاربر ارسال می کنیم. با تشکر از کارایی SwiftMailer، اجرای عملیات نسبتا پیچیده مانند الصاق فایل تبدیل به کار ساده ای شده است. حال هر عضو جدید به محض ثبت نام یک عکس از شوماخر دریافت می کند.

 

برچسب‌ها, , ,

مطالب مرتبط

  خرید کتاب سوپر فریم ورک قدرتمند برنامه نویسی وب Ext JS   خرسندیم که به استحضار دوستان و علاقه مندان برنامه نویسی برسانیم که با درخواست های شما عزیزان و پس از مدت ها، بر آن شدیم تا اولین کتاب کامل آموزش سوپر فریم ورک Ext JS را تحت عنوان “ساخت وب اپلیکیشن های […]

به طور کلی استفاده از فریم ورک اجباری نیست، بلکه فریم ورک فقط یک ابزار کمکی است که به شما کمک می کند پروژه هایتان را سریع تر و بهتر جلو ببرید. بهتر ازین بابت که : فریم ورک ها بر اساس یک ساختار و معماری درست بنا شده اند و برنامه نویس را ملزم […]

جدیدترین فریم ورک دنیای فریم ورک های php  هم پا به صحنه گذاشت. فریم ورک Fat-Free  یا به عبارتی f3 این فریم ورک واقعا سبک است، توابع پایه ای تنها در یک فایل و در یک کلاس گنجانده شده است و حجمی معادل با ۳۹ کیلوبایت را اشغال می کند! حتی با این حجم کم […]

چهار قسمت از بررسی کامل و جز به جز php و node js را پشت سر گذاشتیم. در این قسمت که آخرین مقاله را در این مورد ارائه می دهیم می خواهیم بیشتر در مورد نقاط قوت Node.js صحبت کنیم. در انتهای این مقاله، لینک هر چهار سری گذشته ذکر شده است تا اگر آنها […]

نظراتتان را برایمان بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب ما تو این شبکه های اجتماعی هم پخش میشه