Я не могу получить доступ к представлению Laravel - PullRequest
0 голосов
/ 17 сентября 2018

Я только что создал одно представление о в view/about.blade.php, и я получаю к нему доступ из localhost / myproject / public / about , но он не работает.

Однако localhost / myprojects / public / работает нормально; По умолчанию в Laravel было создано представление о том же параметре, что и приветствие по умолчанию.

Ответы [ 4 ]

0 голосов
/ 17 сентября 2018

Laravel - это MVC Framework, что означает, что у вас есть контроллер, который обрабатывает некоторую логику, когда приходит какой-то запрос и взаимодействует с моделью, если это необходимо, после этого контроллер возвращает некоторое представление.

И так как вычтобы получить доступ к вашему файлу вида, вы должны пройти через контроллер, и этот контроллер отобразит представление.Поскольку папка views не находится в директории \public в качестве подкаталога, вы не можете получить к ней доступ по URL-адресу, подобному localhost/myproject/public/about, даже если вы получите к ней доступ, вы не получите HTML, вы получите простой текст с метки лезвия .Необходимо вернуть представление в вашем контроллере путем его рендеринга, где-то на заднем плане Laravel обрабатывает все метки Blade и возвращает HTML, соответствующий этим тегам.

Я могу предложить вам создать маршрут по вашему маршрутуфайл, подобный этому

Route::get('/about', function(Request $request){
    // Automatically Laravel will look this file in the view directory
    return view('about');
});

Или вы можете выполнить процедуру, подобную контроллеру, создав некоторый контроллер, зайдя в свой терминал и выполнив

php artisan make:controller AboutController

, это сгенерируетимя файла AboutController.php в директории app\Http\Controllers внутри ведьмы, которую вы найдете

namespace App\Http\Controllers;

class HomeController extends Controller
{

}

, после этого добавьте

public function index()
{

    return View::make('about');
}

Не забудьте включить use the Illuminale\Supports\Facades\View поверх вашегоfile

И еще одна важная вещь, которую нужно оставить, это настроить Route , для этого перейдите в каталог routes в файле web.php add

Route::get('/about', 'AboutController@index')->name('about');
0 голосов
/ 17 сентября 2018

Какую ошибку вы получаете?

404 - Не найдено

Route::get('/about', function () {
    return view('about');
});

Проверка маршрутов

php artisan route:list

0 голосов
/ 17 сентября 2018

Во-первых, информации недостаточно для того, чтобы что-то сказать. Пожалуйста, укажите ваш маршрут. Также важно, как вы запускаете свой проект, через Xampp (или Lampp, что бы там ни было) или "php artisan serve", но, глядя на вашу работукаталог "localhost / myprojects / public" Я думаю, что это не по команде.Попробуйте localhost / myprojects / public / about.blade.php или запустите его php artisan serve и попробуйте маршрут localhost: 8000 / about

0 голосов
/ 17 сентября 2018

Вы добавили конкретную маршрутизацию в файл web.php?

Route::get('about', function () {
    return view('about');
});

https://laravel.com/docs/5.7/routing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...