Социальная сеть на PHP: вывод домашней страницы.
В этой статье мы продолжим создавать социальную сеть на PHP и напишем первый, базовый контроллер.
Перейдем в папку app/Http/Controllers и создадим там файл HomeController.php
<?php
namespace Chatty\Http\Controllers;
class HomeController extends Controller {
public function index() {
return view('home');
}
}
?>
Как и во всех контроллерах, мы должны указывать пространство имен в начале файла. Дальше мы создаем класс, который наследует все свойства от базового контроллера, и метод, который будет выводить нам наши страницы.
Перейдем в app/Http/routes.php, удалим там все и напишем свой роутер.
<?php
Route::get('/', [
'uses' => '\Chatty\Http\Controllers\HomeController@index',
'as' => 'home',
]);
Тут все понятно, но обратите внимание на знак @. После него указывается название метода, который нам нужно использовать.
Теперь перейдем в resources/views и создадим там новый файл home.blade.php и напишем в нем:
Домашняя страница
Теперь, если вы зайдете на сайт, вы увидите эту надпись вместо ошибок, которые были раньше.
Дальше нам нужно создать базовый шаблон. В папке views создадим папку templates, в которой у нас будет файл с названием default.blade.php. В нем у нас будет содержаться базовая разметка страницы.
Писать страницы мы будем, используя Bootstrap, поэтому перейдите на официальный сайт в раздел "Download" и найдите там CDN.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Chatty</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
Теперь вернемся в файл home.blade.php, где подключим наш базовый шаблон и создадим разметку стартовой страницы.
@extends('templates.default')
@section('content')
<h3>Добро пожаловать!</h3>
<p>Вы находитесь в лучшей социальной сети, когда либо созданной!</p>
Теперь перейдем к написанию навигации. В папке templates создадим папку partials, в которой напишем файл navigation.blade.php.
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="#">Chatty</a>
</div>
<div class="collapse navbar-collapse">
<!-- @if (Auth::check()) -->
<ul class="nav navbar-nav">
<li><a href="#">Timeline</a></li>
<li><a href="#">Friends</a></li>
</ul>
<form class="navbar-form navbar-left" role="search" action="#">
<div class="form-group">
<input type="text" name="query" class="form-control" placeholder="Find people">
</div>
<button type="submit" class="btn btn-default">Search</button>
</form>
<!-- @endif -->
<ul class="nav navbar-nav navbar-right">
<!-- @if (Auth::check()) -->
<li><a href="#">Dayle<!-- {{ Auth::user()->getNameOrUsername() }} --></a></li>
<li><a href="#">Update profile</a></li>
<li><a href="#">Sign out</a></li>
<!-- @else -->
<li><a href="#">Sign up</a></li>
<li><a href="#">Sign in</a></li>
<!-- @endif -->
</ul>
</div>
</div>
</nav>
Здесь используется базовая Bootstrap разметка со вставками функционала(комментарии), который будет создан позже.
Теперь подключим наш файлик с навигацией в default.blade.php
...
<body>
@include('templates.partials.navigation')
...
Теперь, если вы обновите страницу, то увидите, что у нас появилась красивая навигация!
Итак, на этом пока закончим. Спасибо за внимание!
-
- Михаил Русаков
Комментарии (11):
Михаил, что лучше для соц сети, фреймворк или чистый php
Ответить
Если Вы хотите сделать социальную сеть, посещаемость которой будет ежедневно по несколько миллионов человек, то, конечно, нужно писать на чистом PHP. И не только на чистом PHP из коробки, а на переработанном PHP, где выкинуть все лишнее, а оставить только нужное. Также нужны мощные сервера и т.д., но это уже администрирование. Если же у Вас не настолько грандиозные планы, то используйте Framework. Если все делать грамотно, то социальная сеть тоже будет работать вполне себе нормально.
Ответить
Можно же сделать на Framework'e, а потом по мере роста переработать?
Ответить
Конечно, можно!
Ответить
Последний вопрос если на laravel 5 строить то выдержит допустим 1 000 000 пользователей одновременно?
Ответить
На самом деле, это зависит не столько от Framework, сколько от сервера. Чтобы Ваш сайт смог выдерживать столько пользователей, Вы должны иметь мощные сервера и грамотно сделать распределение нагрузки. Но, если Вы хотите сделать социальную сеть, то делайте на Laravel 5 и не переживайте. Когда Вам понадобится, чтобы Ваш сайт выдерживал больше пользователей, тогда и переделаете, если это потребуется.
Ответить
как насчет хостинга hostia? Там у них выделенные сервера
Ответить
Выйдет ли видеокурс по Laravel? Было бы не плохо если бы вы создали курс именно по созданию соц сети. С удовольствием купил бы и я и многие уверен.
Ответить
Конкретно про видеокурс не знаю, но, если все нормально, примерно в феврале будет запущен цикл статей, посвященных подробному изучению Laravel последней версии.
Ответить
Очень жаль, видеокурс был бы очень к стати
Ответить
А продолжение этого цикла вообще будет? Как-то, пол года прошло.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.