Heim  >  Artikel  >  php教程  >  Laravel implementiert die Benutzerregistrierung und -anmeldung

Laravel implementiert die Benutzerregistrierung und -anmeldung

高洛峰
高洛峰Original
2016-12-27 10:43:533518Durchsuche

Laravel ist das eleganteste PHP-Framework. Viele Freunde, die PHP lernen, sehnen sich nach Laravel. Verwirklichen Sie noch heute Ihren Wunsch und nutzen Sie Laravel, um die gängigsten Registrierungs- und Anmeldefunktionen von Webanwendungen zu implementieren! Alle Quellcodes des Kurses wurden auf Github platziert: laravel-start. Race Start!

Lassen Sie uns zunächst klären, was wir für diesen Kurs benötigen:

Laravel 4.2
Bootstrap 3.3
Laravel ist der Kernteil, der uns am Herzen liegt, und Bootstrap wird verwendet, um schnell einige Front-End-CSS-Stile festzulegen.

1. Laravel installieren

Nach einer kurzen Erklärung gehen wir zum nächsten Schritt und installieren Laravel. Hier installieren wir es über Composer und führen es aus:

cd Sites

Sites ist das Stammverzeichnis der Webanwendung. Sie können es nach Bedarf in Ihr eigenes Stammverzeichnis ändern und dann Folgendes ausführen:

composer create-project laravel/laravel laravel

Laravel ist der Name Ihres Anwendungsverzeichnisses Sie können den Namen auswählen, der Ihnen gefällt. Nachdem Sie den obigen Befehl ausgeführt haben, warten Sie eine Weile (schließlich ist die Internetgeschwindigkeit in China ein großes Problem). Nach der Installation erhalten Sie folgende Verzeichnisse:

Laravel implementiert die Benutzerregistrierung und -anmeldung

Unsere Hauptoperationen Drei Verzeichnisse: Modelle, Controller und Ansichten: Das ist die Zusammensetzung von MVC!

2. Installieren Sie Bootstrap

und führen Sie es dann über die Befehlszeile aus:

cd laravel/public/packages

Das Laravel entspricht dem obigen Anwendungsverzeichnis Bitte ersetzen Sie den Namen entsprechend. Gehen Sie in das Paketverzeichnis, um Bootstrap zu installieren, und führen Sie es direkt in der Befehlszeile aus:

bower install bootstrap

Das geht schneller und nach dem Herunterladen erhalten Sie die neueste stabile Version von Bootstrap. Bower_components/bootstrap/dist/ im Paketverzeichnis enthält Bootstraps CSS, JS und Schriftarten, drei Stildateien, JS und Schriftartdateien, die wir während des Entwicklungsprozesses häufig verwenden. Nach dem Erfolg sehen Sie Folgendes:

Laravel implementiert die Benutzerregistrierung und -anmeldung

Hinweis: Der hier verwendete Tool Bower ist für die Verwaltung einiger Front-End-Pakete verantwortlich.
Zu diesem Zeitpunkt sind unsere Vorarbeiten fertig. Bevor wir jedoch mit dem nächsten Schritt fortfahren, müssen wir zunächst sicherstellen, dass unser Verzeichnis laravel/app/storage über entsprechende Schreibberechtigungen verfügt. Wenn Sie die Befehlszeile nach der Installation von Bower nicht berührt haben, können Sie Folgendes direkt übergeben:

cd ../../

Gehen Sie zurück zum Laravel-Verzeichnis und führen Sie dann Folgendes aus:

chmod -R 755 app/storage

Nachdem dieser Schritt abgeschlossen ist, können wir in die eigentliche Entwicklungsphase eintreten.

3. Konfigurieren Sie die Datenbank und erstellen Sie Tabellen:

Bevor wir mit der Konfiguration beginnen, müssen wir eine Datenbank für unsere Laravel-Anwendung erstellen,

Laravel implementiert die Benutzerregistrierung und -anmeldung

Öffnen Sie dann die Datei app/config/database.php im Editor und geben Sie die entsprechenden Datenbankkonfigurationselemente ein, wie zum Beispiel:

'default' => 'mysql',
// 数据库连接
'connections' => array(
    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => '127.0.0.1',
        'database'  => 'laravel-start',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

Nachdem Sie eine Verbindung zur Datenbank hergestellt haben, Sie müssen auch eine Benutzertabelle erstellen. Sie können die Benutzertabelle direkt in der Datenbank erstellen oder sie mit Laravels Handwerker erstellen. Hier verwenden wir Laravels Handwerker, um die Tabelle zu erstellen und etwas über die Laravel-Migration zu erfahren. Führen Sie die folgende Anweisung aus:

php artisan migrate:make create-users-table
Der obige Befehl erstellt eine Migrationsdatei (die Datei befindet sich im Verzeichnis app/database/migrations). Diese Datei heißt „create-users -table“. Dann können wir die Benutzertabelle erstellen, indem wir die Migrationsdatei bearbeiten, die wir gerade generiert haben.

public function up() {
       Schema::create('users', function($table){
        $table->increments('id');
        $table->string('username', 20);
        $table->string('email', 100)->unique();
        $table->string('password', 64);
        $table->string('remember_token',62)->default('default');
        $table->timestamps();
        });
}

Die obige Methode verwendet die Schema Builder-Klasse von Laravel. Der obige Code verwendet die up()-Methode, um eine Benutzertabelle zu erstellen. Diese Tabelle enthält 5 Felder: ID-Auto-Inkrementierung, Benutzernamenlänge 20 Die E-Mail-Länge liegt innerhalb von 100 und ist eindeutig, die Passwortlänge liegt innerhalb von 64. Remember_token dient der Bequemlichkeit und Praktikabilität beim Anmelden. Laravel gibt den Token-Wert automatisch ein. Zu Beginn müssen Sie jedoch einen Standardwert (Zeitstempel) festlegen aktueller Zeitstempel. Eine Sache, auf die wir hier achten müssen, ist: Es ist am besten, den folgenden Code zu down() hinzuzufügen, falls wir eines Tages die Benutzertabelle löschen müssen.

public function down()
{
    Schema::drop('users');
}

Nachdem Sie die oben genannten Schritte ausgeführt haben, führen Sie den folgenden magischen Befehl aus:

php artisan migrate

Es gibt Bilder und die Wahrheit:

Laravel implementiert die Benutzerregistrierung und -anmeldung

Endlich haben wir das Vorspiel beendet und können offiziell nach Laravel kommen.

4. Starten Sie den Dienst und probieren Sie ihn aus

Direkt im Laravel-Verzeichnis ausführen:

php artisan serve

Öffnen Sie den Browser, geben Sie localhost:8000 ein, drücken Sie die Eingabetaste, Bingo!
OK, gönnen Sie sich zunächst dreißig Sekunden Applaus, wenn Sie diesen Punkt erfolgreich erreicht haben. Herzlichen Glückwunsch, Sie haben die Tür von Laravel betreten, wir werden nach und nach mit weiteren Überraschungen kommen...

Erstellen Sie eine öffentliche Ansicht

好了,我们现在开始了,首先在app/views/文件夹下创建一个layouts文件夹,再再这个文件夹下新建一个php文件,命名为main.blade.php,在这个文件里写上下面这些代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>发现Laravel 4之美</title>
    </head>
    <body>
    </body>
</html>

PS:layouts文件夹通常用来存放视图文件的功用部分,比如一些网页的头部

和尾部
,这里就是存放了头部
部分
感觉main.blade.php的名字很奇怪?不用担心,Laravel的视图文件命名遵循filename.blade.php的规则,因为Laravel是用Blade这个模板引擎解析的,你不用深究,就照着上面的名字规则来命名视图文件就OK

为视图文件添加CSS样式:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>发现Laravel 4之美</title>
       {{HTML::style(&#39;packages/bower_components/bootstrap/dist/css/bootstrap.min.css&#39;) }}
        {{ HTML::style(&#39;css/main.css&#39;)}}
    </head>
    <body>
    </body>
</html>

没错,就是在原来的main.blade.php的基础上添加两行代码;然后我们来创建我们的main.css,这个主要是用来放我们自己定义的样式。在public文件夹下创建css文件夹,在css文件夹创建main.css文件,大功告成。

添加导航栏。在main.blade.php文件的

标签中加上以下代码:
<body>
        <div class="navbar navbar-inverse navbar-fixed-top">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand hidden-sm" href="/">Laravel新手上路</a>
                </div>
                <ul class="nav navbar-nav navbar-right hidden-sm">
                    <li>{{ HTML::link(&#39;users/register&#39;, &#39;注册&#39;) }}</li>
                    <li>{{ HTML::link(&#39;users/login&#39;, &#39;登陆&#39;) }}</li>
                </ul>
            </div>
        </div>
</body>

上面只是引用了一些简单的Bootstrap的class,也没什么难的,不用伤心。

到这里基本的功用部分就结束了,但是我们的追求从不会这么low,所以为了更好地与用户交互,我们希望在用户进行某个操作之后给出一些反馈,比如注册成功的时候说:少年,你已成功注册本站,恭喜恭喜。等,于是乎,我们再为main.blade.php添加一点点代码:

        <div class="container">
            @if(Session::has(&#39;message&#39;))
            <p class="alert">{{ Session::get(&#39;message&#39;) }}</p>
            @endif
        </div>

为了现实这些反馈信息给用户,我们得使用Session::get('message')方法,当然,我们得首先从逻辑上判断一下这个message是否存在,所以这里用了一个简单的if判断。

在blade引擎的视图中if 的使用格式是

@if(conditions) 
#code...
@endif

到这里就结束了么?NO,如果到这里就结束的话,其他的视图文件是怎么插入main.blade.php的

之间的呢?所以,不要忘了还有一个重要的事:{{ $content }},于是乎,上面的代码就变成了这样:
        <div class="container">
        @if(Session::has(&#39;message&#39;))
        <p class="alert">{{ Session::get(&#39;message&#39;) }}</p>
        @endif
        {{ $content }}
        </div>

{{ $content }}在这里就是表示其他的视图文件内容,你可以在理解上将其他的视图当作一个字符串来理解,只不过这个字符串很长,而且恰好包含了HTML标签而已。下面你将体会到这种想法。

创建完我们的公用视图main.blade.php后,我们先来为main.css添加我们的CSS样式:

body {
     padding-top: 60px;
 } 
.form-signup, .form-signin {
     margin: 0 auto;
 }

因为我们在main.blade.php文件中使用了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn