使用 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 文件的主要内容,如果未能解决你的问题,请参考以下文章