آموزش 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: مقدمات و الزامات اولیه | آپارنت

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

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note آموزش MVC به زبان ساده (تصویری) Daniel 1 802 16-08-2016 ساعت 09:24
آخرین ارسال: aaiz
Note آموزش MVC Daniel 1 679 26-11-2015 ساعت 12:56
آخرین ارسال: bkk
Note کتاب آموزش PHP از مقدماتی تا پیشرفته Stack OverFlow 0 992 16-02-2015 ساعت 10:48
آخرین ارسال: Stack OverFlow
Note آموزش ساخت صفحه بندی در php pHp king 2 1,083 18-05-2014 ساعت 15:34
آخرین ارسال: pHp king
Note سورس وبلاگ نوشته شده با فریمورک لاراول(Laravel) Daniel 0 480 09-05-2014 ساعت 19:20
آخرین ارسال: Daniel
Note آموزش مقدماتی php (کتاب) PHP.sec 0 359 16-03-2014 ساعت 21:25
آخرین ارسال: PHP.sec
Note آموزش PHP از مقدماتی تا پیشرفته Stack OverFlow 0 364 28-02-2014 ساعت 16:23
آخرین ارسال: Stack OverFlow
Note آموزش Regex IranPhp 1 394 09-02-2014 ساعت 18:29
آخرین ارسال: PHP.sec
Note آموزش گذاشتن کپچا(Captcha) در سایت SOFTAFZAR 1 1,272 06-02-2014 ساعت 22:46
آخرین ارسال: Wp script
Note آموزش ساخت نسخه موبایل برای سایت SOFTAFZAR 0 438 27-01-2014 ساعت 15:24
آخرین ارسال: SOFTAFZAR

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