Heim >Schlagzeilen >Grundlagen des Laravel-Tutorials und Bedienung der Datenbank

Grundlagen des Laravel-Tutorials und Bedienung der Datenbank

伊谢尔伦
伊谢尔伦Original
2017-07-10 11:51:131833Durchsuche

Als elegantestes PHP-Framework ist Laravel seit langem bei vielen Freunden begehrt, die PHP lernen. Lassen Sie uns bei Null anfangen und Ihnen beibringen, wie Sie die Grundfunktionen sowie Datenbankoperationen installieren und verwenden. Heute bringt Ihnen unsere PHP-Chinesisch-Website etwas zum Lernen und Üben.

Sie können das Video-Tutorial lernen, das auf der chinesischen PHP-Website bereitgestellt wird:

1. Laravel einfach lernen – Grundlagen

Verwandte Links: http://www.php.cn/course/282.html

2. Laravel ganz einfach lernen – Video-Tutorial für Fortgeschrittene

Verwandte Links: http://www.php.cn/course /402.html

Beginnen wir mit dem Erlernen und Verwenden des Laravel-Frameworks!

Installation

Das Laravel-Framework verwendet Composer, um die Installation und das Abhängigkeitsmanagement durchzuführen. Wenn Sie es noch nicht installiert haben, beginnen Sie jetzt mit der Installation von Composer.

Nach der Installation von Composer können Sie Laravel über die Befehlszeile mit dem folgenden Befehl installieren:

composer create-project laravel/laravel your-project-name
Oder Sie können es installieren vom Github Warehouse herunterladen. Führen Sie nach der Installation von Composer als Nächstes den Composer-Installationsbefehl im Stammverzeichnis des Projekts aus. Dieser Befehl lädt die abhängigen Komponenten des Frameworks herunter und installiert sie.

Schreibberechtigung

Verzeichnisstruktur

Nach der Installation des Frameworks müssen Sie sich damit vertraut machen damit Die Verzeichnisstruktur des Projekts. Der App-Ordner enthält Verzeichnisse wie Ansichten, Controller und Modelle. Der größte Teil des Programmcodes wird in diesen Verzeichnissen gespeichert. Sie können auch einige Konfigurationselemente im Ordner app/config überprüfen.

Routenplan

Wir beginnen mit der Erstellung unserer ersten Route. In Laravel erfolgt die Route am einfachsten mit Schließungen. Öffnen Sie die Datei app/routes.php und fügen Sie den folgenden Code hinzu:

Route::get('users', function()
{
    return 'Users!';
});

Wenn Sie nun /users in Ihren Webbrowser eingeben, sollte die Ausgabe „Benutzer!“ angezeigt werden. Eindrucksvoll! Ihre erste Route wurde erstellt.

Routen können auch Controller-Klassen zugewiesen werden. Zum Beispiel:

Ansicht erstellen

Als nächstes müssen wir eine Ansicht erstellen, um unsere Benutzerdaten anzuzeigen. Ansichten werden im Ordner app/views als HTML-Code gespeichert. Wir werden zwei Ansichtsdateien in diesem Ordner ablegen: layout.blade.php und users.blade.php. Zuerst erstellen wir die Datei „layout.blade.php“:

<html>
    <body>
        <h1>Laravel Quickstart</h1>
                @yield(&#39;content&#39;)
    </body>
</html>

Dann erstellen wir die Ansicht „users.blade.php“:

@extends(&#39;layout&#39;)
@section(&#39;content&#39;)    
Users!
@stop

Die Syntax hier kommt Ihnen möglicherweise seltsam vor . Weil wir das Vorlagensystem von Laravel verwenden: Blade. Blade ist sehr schnell, da es nur eine kleine Menge regulärer Ausdrücke zum Kompilieren in rohen PHP-Code für Ihre Vorlagen verwendet. Blade bietet leistungsstarke Funktionen, wie z. B. Template Inheritance, sowie einige gängige PHP-Kontrollstruktur-Syntaxzucker, wie z. B. if und for. Weitere Informationen finden Sie in der Blade-Dokumentation.

Da wir nun unsere Ansicht haben, kehren wir zur Route /users zurück. Wir verwenden stattdessen eine Ansicht, um Benutzer zurückzugeben!:

Route::get(&#39;users&#39;, function()
{
    return View::make(&#39;users&#39;);
});

Wunderschön! Jetzt haben Sie erfolgreich eine Ansicht erstellt, die vom Layout erbt. Beginnen wir als Nächstes mit der Datenbankschicht.

Migration erstellen

Um die Tabelle für unsere Daten zu erstellen, verwenden wir das Laravel-Migrationssystem. Migrationen beschreiben Änderungen an einer Datenbank und erleichtern deren Weitergabe an Teammitglieder.

Zuerst konfigurieren wir die Datenbankverbindung. Sie können alle Datenbankverbindungsinformationen in der Datei app/config/database.php konfigurieren. Standardmäßig ist Laravel für die Verwendung von SQLite konfiguriert und eine SQLite-Datenbank wird im Verzeichnis app/database gespeichert. Sie können die Treiberoption der Datenbank Konfigurationsdatei in MySQL ändern und die MySQL-Verbindungsinformationen konfigurieren.

Als nächstes verwenden wir zum Erstellen der Migration die Artisan-CLI. Führen Sie im Projektstammverzeichnis den folgenden Befehl im Terminal aus:

php artisan migrate:make create_users_table

Suchen Sie dann die generierten Migrationsdateien im Verzeichnis app/database/migrations. Diese Datei enthält eine Klasse mit zwei Methoden: up und down. Bei der Up-Methode benennen Sie die Änderung an der Datenbanktabelle und bei der Down-Methode entfernen Sie sie einfach.

Lassen Sie uns die Migration wie folgt definieren:

public function up()
{
    Schema::create(&#39;users&#39;, function($table)
    {
        $table->increments(&#39;id&#39;);
        $table->string(&#39;email&#39;)->unique();
        $table->string(&#39;name&#39;);
        $table->timestamps();
    });
}
public function down()
{
    Schema::drop(&#39;users&#39;);
}

Dann führen wir den Migrationsbefehl über das Terminal im Projektstammverzeichnis aus, um die Migration durchzuführen:

php artisan migrate

Wenn Sie eine Migration rückgängig machen möchten, können Sie den Befehl migrate:rollback ausführen. Nachdem wir nun unsere Datenbanktabelle haben, fügen wir einige Daten hinzu!

Eloquentes ORM

Laravel 提供非常棒的 ORM:Eloquent。如果你使用过 Ruby on Rails 框架,你会发现 Eloquent 很相似,因为它遵循数据库交互的 ActiveRecord ORM 风格。

首先,让我们来定义个模型。ELoquent 模型可以用来查询相关数据表,以及表内的某一行。别着急,我们很快会谈及!模型通常存放在 app/models 目录。让我们在该目录定义个 User.php 模型,如:

class User extends Eloquent {}

注意我们并没有告诉 Eloquent 使用哪个表。Eloquent 有多种约定, 一个是使用模型的复数形式作为模型的数据库表。非常方便!

使用你喜欢的数据库管理工具,插入几行数据到 users 表,我们将使用 Eloquent 取得它们并传递到视图中。

现在我们修改我们 /users 路由如下:

Route::get(&#39;users&#39;, function()
{
    $users = User::all();
    return View::make(&#39;users&#39;)->with(&#39;users&#39;, $users);
});

让我们来看看该路由。首先,User 模型的 all 方法将会从 users 表中取得所有记录。接下来,我们通过 with 方法将这些记录传递到视图。with 方法接受一个键和一个值,那么该值就可以在视图中使用了。

激动啊。现在我们准备将用户显示在我们视图!

显示数据

现在我们视图中已经可以访问 users 类,我们可以如下显示它们:


@extends(&#39;layout&#39;)
@section(&#39;content&#39;)
    @foreach($users as $user)
        <p>{{ $user->name }}</p>
    @endforeach
@stop

你可以发现没有找到 echo 语句。当使用 Blade 时,你可以使用两个花括号来输出数据。非常简单,你现在应该可以通过 /users 路由来查看到用户姓名作为响应输出。

下面来介绍一下如何操作数据库:

一、读/写连接

有时您可能希望使用一个SELECT语句的数据库连接,,另一个用于插入、更新和删除语句。Laravel使这微风,将始终使用正确的连接是否使用原始查询,查询生成器或雄辩的ORM。

二、运行查询

一旦你已经配置了数据库连接,你可以使用DB运行查询类。

运行一个Select查询

$results = DB::select(&#39;select * from users where id = ?&#39;, array(1));

结果的选择方法总是返回一个数组。

运行一个Insert语句

DB::insert(&#39;insert into users (id, name) values (?, ?)&#39;, array(1, &#39;Dayle&#39;));

运行一个更新语句

DB::update(&#39;update users set votes = 100 where name = ?&#39;, array(&#39;John&#39;));

运行一个Delete语句

DB::delete(&#39;delete from users&#39;);

注意:update和delete语句返回的行数的影响操作。

运行一个通用声明

DB::statement(&#39;drop table users&#39;);

查询事件监听

你可以查询事件监听使用DB::听方法:

DB::listen(function($sql, $bindings, $time){ //});

三、数据库事务

  运行在一个数据库事务的一组操作,您可以使用事务方法:

 DB::transaction(function(){ DB::table(&#39;users&#39;)->update(array(&#39;votes&#39; => 1)); DB::table(&#39;posts&#39;)->delete();});

注意:在事务抛出的任何异常关闭将导致自动事务将回滚

有时你可能需要开始一个事务:

DB::beginTransaction();

你可以通过回滚事务回滚方法:

DB::rollback();

最后,您可以通过提交方法:提交一个事务

DB::commit();

四、访问连接

当使用多个连接,你可以访问它们通过DB::连接方法:

$users = DB::connection(&#39;foo&#39;)->select(...);

你也可以访问原始的、潜在的PDO实例:

$pdo = DB::connection()->getPdo();

有时你可能需要重新连接到一个给定的数据库:

DB::reconnect(&#39;foo&#39;);

如果你需要断开从给定的数据库将超过底层PDO实例'smax_connections限制,使用断开连接方法:

DB::disconnect(&#39;foo&#39;);

五、查询日志

默认情况下,Laravel日志保存在内存的所有查询运行当前的请求。然而,在某些情况下,例如当插入的行数,这可能会导致应用程序使用多余的内存。禁用日志,你可以使用disableQueryLog方法:

DB::connection()->disableQueryLog();

o得到一组执行的查询,您可以使用getQueryLog方法:

$queries = DB::getQueryLog();


相关推荐:

1. 云服务器上部署Laravel的实例教程

2. Laravel学习-数据库操作和查询构造器的示例代码分享

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