使用 Laravel 包含 .php 文件

Posted

技术标签:

【中文标题】使用 Laravel 包含 .php 文件【英文标题】:Including .php files with Laravel 【发布时间】:2015-03-03 02:21:02 【问题描述】:

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

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

我刚开始使用 laravel,弄明白如何使用它让我感到非常困惑。

在前端文件中(使用我理解的刀片),我需要包含

/jcart/jcart.php

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

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

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

提前致谢

【问题讨论】:

从我在文档上看到的,这与 laravel 的“即插即用”不兼容。尝试在 packalyst 中搜索类似的 laravel 包。 @Nucleo1985 你指的是哪个文件?另外,每次在javascript中调用php文件时,如何获得正确的路径? 这个,conceptlogic.com/jcart/install.php 来自您上面的链接。检查您的 app.php 以获取手动参考,我们可以在 laravel 上将其称为“插件”。 你的意思是laravel中的autoload.php吗? 不,我的意思是 app.php。我在上面编辑了我的评论。 【参考方案1】:

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

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

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

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

【讨论】:

嘿汤姆。感谢您的评论。 Jcart 比较简单,可以看一下。我需要调用 jcart.php(包括 config.php、config-loader.php 和 relay.php)但是,每当我调用 /public/jcart 时,它就会找不到。【参考方案2】:

我做的方法如下。这是你的 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',

希望其中一个能起作用。

【讨论】:

谢谢蒂姆。我需要从 (/public/js/)jcart.js 调用这个 jcart.php。如何做到这一点? 我想出了如何包含 .js 文件。我的意思是在 .js 文件中 - 我需要提供 jcart.php 的正确路径? 你需要.php文件的内容还是jcart.php返回的数据?因为一个是使用filereader获取明文内容,一个是使用ajax获取json返回的数据。 js 文件包含对 .php 文件的 ajax 调用。所以我只需要给出.php的正确路径。如果它在 app/includes 中,我不知道如何通过浏览器调用它: 谢谢。我认为这会奏效。现在就试试吧。

以上是关于使用 Laravel 包含 .php 文件的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5找不到css文件

Laravel 和 Postgresql 带有消息“找不到驱动程序”错误的 PDOException

使用 Swoole 来加速你的 Laravel 应用

laravel中一些非常常用的php artisan命令

使用 Laravel 包含 .php 文件

php artisan migrate-laravel 的问题