Laravel路由返回公共文件夹

时间:2015-11-21 17:36:22

标签: php laravel routes laravel-5

我有一个简单的Laravel项目。在路由中,我指定Msg 102, Level 15, State 1, Line 3 Incorrect syntax near ','. 返回/视图。现在我想要另外通过图片,css等指向我的公共文件夹,通过在链接中添加更多内容,让我们说index.php会返回给我/css/index.css如何通过localhost/projects/myproject/public/css/index.css文件夹到达/public

2 个答案:

答案 0 :(得分:1)

第一种方法

使用此功能将cssjavascriptimages等资源添加到刀片文件中。

FOR CSS,

<link href="{{ asset('css/app.css') }}" rel="stylesheet" type="text/css" >

OR

<link href="{{ URL::asset('css/app.css') }}" rel="stylesheet" type="text/css" >

FOR JS,

<script type="text/javascript" src="{{ asset('js/custom.js') }}"></script>

OR

 <script type="text/javascript" src="{{ URL::asset('js/custom.js') }}"></script>

FOR IMAGES,

{{ asset('img/photo.jpg'); }}

这是Laravel Doc

参考:https://stackoverflow.com/a/28214659/2117868

第二种方法

或者您可以通过添加laravelcollective包并注册服务提供商和别名来使用此语法添加cssjavascript

然后,

{!! HTML::style('link/to/your/css/file.css') !!}
{!! HTML::script('link/to/your/js/file') !!}

请记住此处{!! HTML::style() !!}会直接将文件指向public目录。

因此,编写{!! Html::style('style.css') !!}会将style.css文件指向public目录。

答案 1 :(得分:0)

您的路线应该关闭或调用Controller功能。 e.g

Route::get('/', function()
{
     return 'some message'
});

Route::get('/', SomeController@somefunction);

如果您要返回视图,我建议使用第二个选项(因为显然生成没有动态数据的视图会浪费框架)。所以,如果你这样做,你会有类似的东西:

<?php namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class SomeController extends Controller {

public function somefunction()
{
 //fetch some data if required
  return view('index');//which is a file under resources/views namely index.blade.php
}

现在在你的index.blade.php中你可以像普通的HTML页面一样调用你的css butif你希望它应该像你应该的那样:

{!! HTML::style('link/to/your/css/file.css') !!}

{!! HTML::script('link/to/your/js/file') !!}

但请确保您使用的是第二种方法,您应该要求laravelcollective包并注册服务提供商和别名