• آموزش Laravel (قسمت دوم)
    #1
    Note 
    در مطلب قبلی Laravel را از طریق Composer نصب کردیم. در این مطلب میخواهیم کارهایی را که باید قبل از هر عملی انجام دهیم بررسی میکنیم.


    تغییر پوشه public به root سایت
    برای مثال ما Laravel را در سایت example.com قرار داده ایم. اما آدرسی که باید به کاربران بدهیم example.com/public است. زیرا صفحات خروجی ما در پوشه public تولید میشوند. به همین دلیل ابتدا باید پوشه public را به root سایت تغییر دهیم. برای اینکار سه روش وجود دارد، که هر یک را بررسی میکنیم.

    روش اول: ایجاد symlink
    symlink مانند shortcut عمل میکند. در این روش ما Laravel را در بیرون DocumentRoot یعنی در بیرون public_html قرار میدهیم و یک symlink از پوشه public موجود در Laravel به پوشه public_html ایجاد میکنیم. این روش بهترین روش است و دارای بالاترین امنیت است، زیرا اطلاعات و فایل های ما بیرون DocumentRoot قرار دارند.

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

    یک فایل PHP باز کرده و با استفاده از تابع symlink، عملیات خود را انجام دهیم، و یکبار آن را اجرا کرده و سپس آن را حذف کنیم. برای مثال در کد زیر ما یک symlink از پوشه public که درون پوشه laravel است به پوشه public_html ایجاد میکنیم. کد زیر باید درون public_html اجرا شود.

    [JS]symlink('../laravel/public', './');[/JS]

    اما در هاست های اشتراکی معمولاً تابع symlink را غیرفعال میکنند. میتوانید با استفاده از SSH به سرور خود وصل شوید و توسط کد زیر symlink را ایجاد کنید.
    [JS]ln -s /home/path/to/laravel/public /home/public_html[/JS]

    اما روش آخر در ایجاد symlink، ایجاد درخواست به مدیر سرور است.

    روش دوم: تغییر محل پوشه public
    اگر به هر دلیلی نتوانستید روش اول را انجام دهید، این روش میتواند جایگزین آن باشد. این روش در Laravel نسخه 4 تست شده است. کافیست مانند روش بالا فریم ورک Laravel را در بیرون DocumentRoot قرار دهید. سپس فایل index.php که در پوشه public است را به DocumentRoot انتقال دهید و تغییرات زیر را انجام دهید.

    [JS]# These two lines should be changed...
    require __DIR__.'/../bootstrap/autoload.php';
    $app = require_once __DIR__.'/../bootstrap/start.php';

    # ... into these two lines.
    require __DIR__.'/../laravel/bootstrap/autoload.php';
    $app = require_once __DIR__.'/../laravel/bootstrap/start.php';[/JS]

    و همچنین در فایل paths.php که در پوشه bootstrap قرار دارد نیز تغییرات زیر را انجام دهید.

    [JS]# Change this...
    'public' => __DIR__.'/../public',

    # ... into this.
    'public' => __DIR__.'/../../www',[/JS]

    روش سوم: htaccess. و mod_rewrite
    این روش توصیه نمیشود. در این روش شما باید فایل های Laravel را درون DocumentRoot قرار دهید سپس در DocumentRoot یک فایل htaccess. باز کرده و کدهای زیر را قرار دهید.

    [JS]
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>
    [/JS]

    از یکی از سه روش بالا برای تغییر پوشه public به root سایت استفاده کنید. اما اگر فعلاً میخواهید در localhost کار کنید میتوانید این روش ها را نادیده بگیرید و از همان آدرس اصلی برای مثال localhost/laravel/public استفاده کنید، اما روش بهتر در localhost استفاده از VirtualHost در apache است.


    تعیین رشته برای کلید

    در قدم بعدی باید یک رشته 32 کاراکتری را به عنوان کلید به Laravel بدهید. Laravel از این کلید برای کد گذاری اطلاعات مانند cookieها استفاده میکند. این رشته 32 کاراکتری را باید در فایل app.php در مسیر app/config در Laravel 4 تعیین کنید.

    [JS]'key' => 'R2nee1J25fNKkcl5mTOJeqaCJRZEpi9w',[/JS]

    Laravel دارای یک رابط ترمینال هم است که artisan نام دارد. از طریق artisan هم میتوانید کلید را به صورت خودکار تولید کنید. فقط کافیست به ریشه Laravel بروید و کد زیر را اجرا کنید.

    [POWERSHELL]php artisan key:generate[/POWERSHELL]

    اکنون Laravel آماده استفاده میباشد. لذت ببرید.

    منبع آموزش: Laravel: مقدمات و الزامات اولیه | آپارنت

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
      آموزش آموزش کامپوزر Composer moh3en 0 401 14-05-2017 ساعت 16:12
    آخرین ارسال: moh3en
    Note آموزش MVC به زبان ساده (تصویری) Daniel 1 1,137 16-08-2016 ساعت 09:24
    آخرین ارسال: aaiz
    Note آموزش MVC Daniel 1 907 26-11-2015 ساعت 12:56
    آخرین ارسال: bkk
    Note کتاب آموزش PHP از مقدماتی تا پیشرفته Stack OverFlow 0 1,443 16-02-2015 ساعت 10:48
    آخرین ارسال: Stack OverFlow
    Note آموزش ساخت صفحه بندی در php pHp king 2 1,759 18-05-2014 ساعت 15:34
    آخرین ارسال: pHp king
    Note سورس وبلاگ نوشته شده با فریمورک لاراول(Laravel) Daniel 0 704 09-05-2014 ساعت 19:20
    آخرین ارسال: Daniel
    Note آموزش مقدماتی php (کتاب) PHP.sec 0 516 16-03-2014 ساعت 21:25
    آخرین ارسال: PHP.sec
    Note آموزش PHP از مقدماتی تا پیشرفته Stack OverFlow 0 472 28-02-2014 ساعت 16:23
    آخرین ارسال: Stack OverFlow
    Note آموزش Regex IranPhp 1 566 09-02-2014 ساعت 18:29
    آخرین ارسال: PHP.sec
    Note آموزش گذاشتن کپچا(Captcha) در سایت SOFTAFZAR 1 1,541 06-02-2014 ساعت 22:46
    آخرین ارسال: Wp script

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان