Einschließlich PHP-Dateien mit Laravel-Framework

Lesezeit: 2 Minuten

Ich versuche, ein PHP-Skript in eine meiner Ansichten (landing.blade.php) “einzuschließen”.

Das Skript ist in:

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

Wenn ich versuche, diesen Code in die Ansicht aufzunehmen:

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

Ich bekomme den Fehler: include_once(/assets/scripts/config.php): failed to open stream: No such file or directory

Dies ist auf localhost mit MAMP. Ich bin mir nicht sicher, ob es einen anderen Satz von Regeln gibt, die ich mit Laravel 4 verwenden muss, um eine PHP-Datei einzubinden. Danke für Ihre Hilfe!

  • /assets/scripts/config.php bedeutet, dass es sich im Stammverzeichnis Ihres Betriebssystems befindet. Verwenden Sie einen absoluten Pfad oder ändern Sie ihn in einen relativen.

    – Djthoms

    18. Juni 2013 um 0:49 Uhr

  • Könnten Sie das erläutern? Wie würde der relative Pfad aussehen? ../assets/scripts/config.php ?

    – Benutzer1072337

    18. Juni 2013 um 0:59 Uhr

  • Dieser Fehler tritt häufig auf, und um ihn schnell zu beheben, gehen Sie folgendermaßen vor: stackoverflow.com/a/36577021/2873507

    – Vic Seedoubleyew

    12. April 2016 um 15:17 Uhr

Benutzer-Avatar
rmobis

Erstens ist es nicht wirklich empfehlenswert, dass Sie Ihre PHP-Dateien in der public Verzeichnis, sie sollten im Verzeichnis aufbewahrt werden app Mappe. Ich würde vorschlagen, dass Sie einen Ordner darin erstellen appetwas wie includes und legen Sie Ihre Dateien dort ab. Dann fügen Sie es hinzu, tun Sie:

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

Obwohl es so aussieht, als würden Sie versuchen, einige Konfigurationsdateien zu laden, würde ich Ihnen empfehlen, sich auch Laravels eigene Art der Handhabung von Konfigurationen anzusehen. Wenn Sie beispielsweise eine erstellt haben myapp.php Datei innerhalb der app/config Ordner würde Laravel dies automatisch für Sie erledigen, solange Sie einige Schlüssel-Wert-Paare haben, wie diese:

<?php

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

Sie können diese Werte dann mithilfe von abrufen Config Klasse:

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

Dies ist eine bessere Lösung, da Sie auch die Vorteile von Laravel nutzen können Umgebungskonfiguration.

  • Ich versuche, diese Konfigurationsdatei für ein Facebook-Login zu laden. Enthält AppID, Geheimnis usw. Ändert dies Ihre Antwort überhaupt?

    – Benutzer1072337

    18. Juni 2013 um 1:09 Uhr

  • Nun, wenn Sie den Code, der die Konfigurationsdatei verwendet, nicht ändern können, macht dies die Verwendung von Laravels eingebautem Konfigurationsmaterial ungültig, aber der Rest zählt immer noch.

    – rmobis

    18. Juni 2013 um 1:20 Uhr


  • Wo füge ich das ein: $app = app(); include($app[‘path.app’].’/includes/config.php’); aus meiner Sicht?

    – Benutzer1072337

    18. Juni 2013 um 5:51 Uhr

  • Besser noch, Sie können verwenden include(app_path().'/includes/config.php'); aus deiner sicht.

    – Mike Rockett

    18. Juni 2013 um 6:15 Uhr

  • Ich habe hier eine Checkliste zur Fehlerbehebung für diesen häufigen Fehler gestartet: stackoverflow.com/a/36577021/2873507

    – Vic Seedoubleyew

    12. April 2016 um 15:17 Uhr

Sie können Includes in HTML verwenden und die Verkettung vergessen

@include('foldername.filename')

@include('filename')

Benutzer-Avatar
Benutzer12083710

Dies ist ein anderer Weg:

require 'file path';

1145970cookie-checkEinschließlich PHP-Dateien mit Laravel-Framework

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy