2013-06-18 9 views
24

Próbuję "dołączyć" skrypt php do jednego z moich widoków (landing.blade.php).W tym pliki PHP z frameworkiem Laravel

Skrypt znajduje się w:

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

Przy próbie włączenia tego kodu w widoku:

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

pojawia się błąd: include_once(/assets/scripts/config.php): failed to open stream: No such file or directory

to na localhost przy użyciu MAMP . Nie jestem pewien, czy istnieje inny zestaw reguł, których potrzebuję użyć w Laravel 4, aby dołączyć plik php. Dziękuję za pomoc!

+0

'/ assets/scripts/config.php' oznacza, że ​​jest w katalogu głównym systemu operacyjnego. Użyj bezwzględnej ścieżki lub zmień ją na względną. – djthoms

+0

Czy możesz to wyjaśnić? Jak wyglądałaby ścieżka względna? ../assets/scripts/config.php? – user1072337

+0

Jeden często pojawia się ten błąd i szybko go rozwiązać, wykonaj następujące kroki: stackoverflow.com/a/36577021/2873507 –

Odpowiedz

38

Po pierwsze, nie zaleca się przechowywania plików PHP w katalogu public, należy je przechowywać w folderze app. Proponuję utworzyć folder wewnątrz app, coś jak includes i umieścić tam swoje pliki. Następnie należy umieścić go, zrobić:

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

Chociaż, ponieważ wygląda na to, że próbujesz załadować kilka plików konfiguracyjnych, polecam również sprawdzić swój sposób laravel za manipulacyjnych konfiguracje. Na przykład, jeżeli został utworzony plik myapp.php wewnątrz folderu app/config, laravel będzie obsługiwać to automatycznie za Ciebie, tak długo, jak chcesz mieć kilka par klucz-wartość, na przykład:

<?php 

return array(
    'name'  => 'Raphael', 
    'gorgeous' => true 
); 

Następnie można odzyskać te wartości wykorzystujące klasę Config:

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

jest to lepsze rozwiązanie, ponieważ można również skorzystać z laravel na .

+0

Próbuję załadować ten plik konfiguracyjny do logowania na Facebooku. Zawiera appID, secret, etc ... Czy to w ogóle zmienia twoją odpowiedź? – user1072337

+0

Cóż, jeśli nie możesz zmienić kodu, który będzie używał pliku konfiguracyjnego, to renderuje "używanie wbudowanych elementów konfiguracyjnych Laravel", ale reszta nadal się liczy. – rmobis

+0

Gdzie umieścić: $ app = app(); include ($ app ['path.app']. '/ Includes/config.php'); w moim widoku? – user1072337