文档根目录更改后,laravel上的url和路径帮助器

时间:2018-12-09 15:47:54

标签: php laravel url assets

我正在使用laravel框架(v5.7)。我最近更改了我的文档根目录和虚拟主机,如下所示(目的是不要在URL上显示“ public”):

文档根:

public class CirclePanel extends JPanel implements ActionListener  {

    private JFrame f;
    private JButton run1, run2, reset, quit;
    private JPanel btnPanel;
    private int NUM;
    private Color c;

    public CirclePanel(){

        color1 = Color.red;
        color2 = Color.black;

        NUM = 5;

        // Setup JFrame and stuff as you were doing.

    }


    @Override
    public void paintComponent(Graphics g){

        super.paintComponent(g);

        g.translate(470, 400);

        for(int i = 0; i < NUM; i++){

            g.setColor(color1);
            g.fillOval(150, 0, 100, 100);

            g.setColor(color2);
            g.fillOval(90, 0, 30, 30);

            g.rotate(2*Math.PI/ NUM);
        }
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == run1) {
            System.out.println("Entered Action Handler");

            color1 = Color.green;

            repaint();
        }
    }

    // GETTERS and SETTERS if needed
}

虚拟主机:

DocumentRoot "${INSTALL_DIR}/www/laravel/public"
<Directory "${INSTALL_DIR}/www/laravel/public/">
    Options +Indexes +FollowSymLinks +Multiviews
    AllowOverride all
    Require local
</Directory>

完成后,我的css和js文件没有指向正确的位置(我认为是正常的)。我查看了laravel文档,但开始对为项目中的CSS和JS文件生成URL的正确方法感到困惑。

Laravel有不同的帮助器来生成url(例如url()和asset()),其他帮助器则指向文件夹(base_path(),public_path(),resource_path())。

我也在Google上进行了搜索,因为很多人使用资产助手来生成位于公共文件夹(而不是资源文件夹)中的文件的url,所以我开始感到困惑。

我的问题如下:

  1. 如果我的css和js文件位于公用文件夹(public / js和public css)中,这是在文档根文件夹和虚拟主机将文件夹更改为外观后生成这些url的正确方法在吗?

  2. 我应该使用资产助手还是URL助手来生成它们?

  3. 我可以结合使用帮手吗? 例如:url(public_path('css / style.css'))

PD:我为您提供的“自己的助手”: 在这两种情况下,asset()和url()都打印相同:

  • asset('')和url('')->“ http://localhost/
  • asset(public_path(''))和url(public_path(''))->“ http://localhost/C:\ wamp64 \ www \ laravel \ public”

1 个答案:

答案 0 :(得分:0)

看起来像

asset('css/style.css')

是正确的方法。