包括具有 Laravel 的 .php 个文件

Including .php files with Laravel

我必须将 jcart Carting 用于我刚开始使用 Laravel 构建的项目。

对于通常的 php 项目,所涉及的步骤只是将 'jcart' 文件夹转储到根目录中,并将路径指向 jcart.php 和 jcart.js 文件.

我刚开始使用 laravel,我真的很困惑如何使用它。

在前端文件中(使用blade我明白了),我需要包含

/jcart/jcart.php

而在 jcart.js 文件中,我需要再次参考 /jcart/jcart.php (和其他文件)。

然而,在整个站点中,它一直在 javascript 文件中抛出未找到的错误。

我已将 jcart 文件夹转储到 /public/。有一个更好的方法吗?

提前致谢

我不确定 jCart 是如何集成的,但就 JavaScript 而言,只有 /public/ 中的文件会暴露在网络上。如果你有一个像 /public/foo/bar.js 这样的文件,你可以使用 http://example.com/foo/bar.js.

来引用它

Laravel 有一些 helpers 可以自动生成正确的 URL。例如

$url = asset('img/photo.jpg'); 

有时Laravel看起来很复杂,但它确实有一些奇妙的功能。

我的做法包括如下。这是您的 Laravel 项目的文件夹结构。

app
-> commands
-> config
...
-> includes
  -> jcart
    -> jcart.php
    -> config.php
    -> config-loader.php
    -> relay.php

默认情况下,没有 includes 文件夹,但是根据您的需要修改 app 文件夹是完全可以的。如果您遵循此结构,则可以使用以下内容包含一个文件:

require app_path()."/includes/jcart/jcart.php";
require app_path()."/includes/jcart/config.php";
require app_path()."/includes/jcart/config-loader.php";
require app_path()."/includes/jcart/relay.php";

希望能提供一些见解!

编辑

将文件夹结构更改为:

public
-> assets
  -> js
    -> jcart
      -> php
        -> jcart.php
        -> config.php
        -> config-loader.php
        -> relay.php
      -> js
        -> jcart.js
        ...

比起将 jcart.js 中的 path 变量更改为:

var path = 'php',
// OR
var path = '../php',

希望其中之一能奏效。