【问题标题】:Including PHP files with Laravel framework使用 Laravel 框架包含 PHP 文件
【发布时间】:2013-06-14 02:05:42
【问题描述】:

我正在尝试将 php 脚本“包含”到我的一个视图 (landing.blade.php) 中。

脚本在:

/laravel-master/public/assets/scripts/config.php

当我尝试在视图中包含此代码时:

<?php include_once('/assets/scripts/config.php'); ?>

我收到错误:include_once(/assets/scripts/config.php): failed to open stream: No such file or directory

这是在本地主机上使用 MAMP。我不确定是否需要在 Laravel 4 中使用一组不同的规则来包含一个 php 文件。感谢您的帮助!

【问题讨论】:

  • /assets/scripts/config.php 表示它位于您操作系统的根目录。使用绝对路径或将其更改为相对路径。
  • 您能详细说明一下吗?相对路径会是什么样子? ../assets/scripts/config.php ?
  • 经常遇到这个错误,要快速排除故障,请按照以下步骤操作:stackoverflow.com/a/36577021/2873507

标签: php laravel laravel-4


【解决方案1】:

首先,不建议您将 PHP 文件保存在 public 目录中,它们应该保存在 app 文件夹中。我建议你在app 中创建一个文件夹,类似于includes 并将你的文件放在那里。然后,包含它,执行以下操作:

include(app_path().'/includes/config.php');

不过,由于您似乎正在尝试加载一些配置文件,我还是建议您查看 Laravel 自己处理配置的方式。例如,如果你在 app/config 文件夹中创建了一个 myapp.php 文件,Laravel 会自动为你处理它,只要你有一些键值对,就像这样:

<?php

return [
    'name'     => 'Raphael',
    'gorgeous' => true
];

然后您可以使用 Config 类检索这些值:

Config::get('myapp.name'); // Raphael

这是一个更好的解决方案,因为您还可以利用 Laravel 的 environment configuration。

【讨论】:

  • 我正在尝试为 Facebook 登录加载此配置文件。包含 appID、secret 等...这会改变你的答案吗?
  • 好吧,如果你不能更改将使用配置文件的代码,那么它会使“使用 Laravel 的内置配置内容”无效,但其余部分仍然重要。
  • 我在哪里放置:$app = app(); include($app['path.app'].'/includes/config.php');在我看来?
  • 更好的是,您可以在视图中使用include(app_path().'/includes/config.php');。
  • 我已经为这个常见错误开始了一个故障排除清单:stackoverflow.com/a/36577021/2873507
【解决方案2】:

你可以在 HTML 中使用包含,忘记连接

@include('foldername.filename')

@include('filename')

【讨论】:

    【解决方案3】:

    这是另一种方式:

    require 'file path';
    

    【讨论】:

      猜你喜欢
      • 2020-08-18
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多