Rumah tajuk utama Laravel教程之基础入门和如何操作数据库

Laravel教程之基础入门和如何操作数据库

Jul 10, 2017 am 11:51 AM
laravel bermula bagaimana

Laravel身为最优雅的PHP框架,很多学习PHP的小伙伴早就对Laravel垂涎欲滴。就让我们一起从零开始,教你如何安装和使用它的基础功能,以及数据库的操作。今天我们php中文网就带来学习和实践一下。

可以学习php中文网提供的视频教程:

1. 轻松学会Laravel-基础篇

相关链接:http://www.php.cn/course/282.html

2. 轻松学会Laravel-高级篇视频教程

相关链接:http://www.php.cn/course/402.html

下面就开始Laravel框架的学习和使用吧!

安装

Laravel框架使用 Composer 执行安装和依赖管理。如果还没有安装的话,现在就开始 安装 Composer 吧。

安装Composer之后,你就可以通过命令行使用如下命令安装Laravel了:

composer create-project laravel/laravel your-project-name
或者,你可以从 Github仓库 下载。接下来,在 安装Composer 之后,在项目根目录下执行 composer install 命令。该命令将会下载以及安装框架的依赖组件。

写入权限

目录结构

安装完框架后,你需要熟悉一下该项目的目录结构。app 文件夹包含了一些例如 views ,controllers 和 models 目录。 程序中大部分代码将要存放这些目录下。你也可以查看一下 app/config 文件夹里一些配置项目。

路由

我们开始创建我们第一个路由。在 Laravel,简单路由的方法是闭包。打开 app/routes.php 文件加入如下代码:

Route::get('users', function()
{
    return 'Users!';
});
Salin selepas log masuk

现在,你在 web 浏览器输入 /users,你应该会看到 Users! 输出。真棒!已经创建了你第一个路由。

路由也可以赋予控制器类。例如:

创建视图

接下来,我们要创建视图来显示我们用户数据。视图以HTML代码存放在 app/views 文件夹。我们将存放两个视图文件到该文件夹:layout.blade.php 和 users.blade.php。首先,让我们先创建 layout.blade.php 文件:

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

接着, 我们创建 users.blade.php 视图:

@extends(&#39;layout&#39;)
@section(&#39;content&#39;)    
Users!
@stop
Salin selepas log masuk

这里的语法可能让你感到陌生。因为我们使用的是 Laravel 模板系统:Blade。Blade 非常快,因为仅使用了少量的正则表达式来为你的模板编译成原始PHP代码。Blade提供强大的功能,例如模板继承,还有一些常用的PHP控制结构语法糖,例如 if 和 for。 查看 Blade 文档 了解更多。

现在我们有了我们视图,让我们返回 /users 路由。我们用视图来替代返回 Users!:

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

漂亮!现在你成功创建了继承至layout的视图。接下来,让我们开始数据库层。

创建迁移

要创建表来保存我们数据,我们将使用 Laravel 迁移系统。迁移描述数据库的改变,这让分享给他们团队成员非常简单。

首先,我们配置数据库连接。你可以在 app/config/database.php 文件配置所有数据库连接信息。默认,Laravel 被配置为使用 SQLite,并且一个 SQLite 数据库存放在 app/database 目录。你可以将数据库配置文件的 driver 选项修改为 mysql 并且配置 mysql 连接信息。

接下来,要创建迁移,我们将使用 Artisan CLI。在项目根目录中,在终端中执行以下命令:

php artisan migrate:make create_users_table
Salin selepas log masuk

然后,找到生成的迁移文件 app/database/migrations 目录。该文件包含了一个包含两个方法: up 和 down 的类。在 up 方法,你要指名数据库表的修改,在 down 方法中你只需要移除它。

让我们定义如下迁移:

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;);
}
Salin selepas log masuk

然后,我们在项目根目录中使用终端运行 migrate 命令来执行迁移:

php artisan migrate
Salin selepas log masuk

如果你想回滚迁移,你可以执行 migrate:rollback 命令。现在我们已经有了数据库表,让我们让添加一些数据!

Eloquent ORM

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

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

class User extends Eloquent {}
Salin selepas log masuk

注意我们并没有告诉 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);
});
Salin selepas log masuk

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

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

显示数据

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


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

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

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

一、读/写连接

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

二、运行查询

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

运行一个Select查询

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

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

运行一个Insert语句

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

运行一个更新语句

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

运行一个Delete语句

DB::delete(&#39;delete from users&#39;);
Salin selepas log masuk

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

运行一个通用声明

DB::statement(&#39;drop table users&#39;);
Salin selepas log masuk

查询事件监听

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

DB::listen(function($sql, $bindings, $time){ //});
Salin selepas log masuk

三、数据库事务

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

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

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

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

DB::beginTransaction();
Salin selepas log masuk

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

DB::rollback();
Salin selepas log masuk

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

DB::commit();
Salin selepas log masuk

四、访问连接

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

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

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

$pdo = DB::connection()->getPdo();
Salin selepas log masuk

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

DB::reconnect(&#39;foo&#39;);
Salin selepas log masuk

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

DB::disconnect(&#39;foo&#39;);
Salin selepas log masuk

五、查询日志

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

DB::connection()->disableQueryLog();
Salin selepas log masuk

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

$queries = DB::getQueryLog();
Salin selepas log masuk


相关推荐:

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

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Hasilkan PPT dengan satu klik! Kimi: Biarlah 'pekerja migran PPT' menjadi popular dahulu Hasilkan PPT dengan satu klik! Kimi: Biarlah 'pekerja migran PPT' menjadi popular dahulu Aug 01, 2024 pm 03:28 PM

Kimi: Hanya dalam satu ayat, dalam sepuluh saat sahaja, PPT akan siap. PPT sangat menjengkelkan! Untuk mengadakan mesyuarat, anda perlu mempunyai PPT; untuk menulis laporan mingguan, anda perlu mempunyai PPT untuk membuat pelaburan, anda perlu menunjukkan PPT walaupun anda menuduh seseorang menipu, anda perlu menghantar PPT. Kolej lebih seperti belajar jurusan PPT Anda menonton PPT di dalam kelas dan melakukan PPT selepas kelas. Mungkin, apabila Dennis Austin mencipta PPT 37 tahun lalu, dia tidak menyangka satu hari nanti PPT akan berleluasa. Bercakap tentang pengalaman sukar kami membuat PPT membuatkan kami menitiskan air mata. "Ia mengambil masa tiga bulan untuk membuat PPT lebih daripada 20 muka surat, dan saya menyemaknya berpuluh-puluh kali. Saya rasa ingin muntah apabila saya melihat PPT itu." ialah PPT." Jika anda mengadakan mesyuarat dadakan, anda harus melakukannya

Semua anugerah CVPR 2024 diumumkan! Hampir 10,000 orang menghadiri persidangan itu di luar talian dan seorang penyelidik Cina dari Google memenangi anugerah kertas terbaik Semua anugerah CVPR 2024 diumumkan! Hampir 10,000 orang menghadiri persidangan itu di luar talian dan seorang penyelidik Cina dari Google memenangi anugerah kertas terbaik Jun 20, 2024 pm 05:43 PM

Pada awal pagi 20 Jun, waktu Beijing, CVPR2024, persidangan penglihatan komputer antarabangsa teratas yang diadakan di Seattle, secara rasmi mengumumkan kertas kerja terbaik dan anugerah lain. Pada tahun ini, sebanyak 10 kertas memenangi anugerah, termasuk 2 kertas terbaik dan 2 kertas pelajar terbaik Selain itu, terdapat 2 pencalonan kertas terbaik dan 4 pencalonan kertas pelajar terbaik. Persidangan teratas dalam bidang visi komputer (CV) ialah CVPR, yang menarik sejumlah besar institusi penyelidikan dan universiti setiap tahun. Mengikut statistik, sebanyak 11,532 kertas telah diserahkan tahun ini, 2,719 daripadanya diterima, dengan kadar penerimaan 23.6%. Menurut analisis statistik data CVPR2024 Institut Teknologi Georgia, dari perspektif topik penyelidikan, bilangan kertas terbesar ialah sintesis dan penjanaan imej dan video (Imageandvideosyn

Daripada logam kosong kepada model besar dengan 70 bilion parameter, berikut ialah tutorial dan skrip sedia untuk digunakan Daripada logam kosong kepada model besar dengan 70 bilion parameter, berikut ialah tutorial dan skrip sedia untuk digunakan Jul 24, 2024 pm 08:13 PM

Kami tahu bahawa LLM dilatih pada kelompok komputer berskala besar menggunakan data besar-besaran Tapak ini telah memperkenalkan banyak kaedah dan teknologi yang digunakan untuk membantu dan menambah baik proses latihan LLM. Hari ini, perkara yang ingin kami kongsikan ialah artikel yang mendalami teknologi asas dan memperkenalkan cara menukar sekumpulan "logam kosong" tanpa sistem pengendalian pun menjadi gugusan komputer untuk latihan LLM. Artikel ini datang daripada Imbue, sebuah permulaan AI yang berusaha untuk mencapai kecerdasan am dengan memahami cara mesin berfikir. Sudah tentu, mengubah sekumpulan "logam kosong" tanpa sistem pengendalian menjadi gugusan komputer untuk latihan LLM bukanlah proses yang mudah, penuh dengan penerokaan dan percubaan dan kesilapan, tetapi Imbue akhirnya berjaya melatih LLM dengan 70 bilion parameter proses terkumpul

AI sedang digunakan |. AI mencipta vlog kehidupan seorang gadis yang tinggal bersendirian, yang menerima berpuluh ribu suka dalam masa 3 hari AI sedang digunakan |. AI mencipta vlog kehidupan seorang gadis yang tinggal bersendirian, yang menerima berpuluh ribu suka dalam masa 3 hari Aug 07, 2024 pm 10:53 PM

Editor Laporan Kuasa Mesin: Yang Wen Gelombang kecerdasan buatan yang diwakili oleh model besar dan AIGC telah mengubah cara kita hidup dan bekerja secara senyap-senyap, tetapi kebanyakan orang masih tidak tahu cara menggunakannya. Oleh itu, kami telah melancarkan lajur "AI dalam Penggunaan" untuk memperkenalkan secara terperinci cara menggunakan AI melalui kes penggunaan kecerdasan buatan yang intuitif, menarik dan padat serta merangsang pemikiran semua orang. Kami juga mengalu-alukan pembaca untuk menyerahkan kes penggunaan yang inovatif dan praktikal. Pautan video: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ Baru-baru ini, vlog kehidupan seorang gadis yang tinggal bersendirian menjadi popular di Xiaohongshu. Animasi gaya ilustrasi, ditambah dengan beberapa perkataan penyembuhan, boleh diambil dengan mudah dalam beberapa hari sahaja.

Mengira 12 titik kesakitan RAG, arkitek kanan NVIDIA mengajar penyelesaian Mengira 12 titik kesakitan RAG, arkitek kanan NVIDIA mengajar penyelesaian Jul 11, 2024 pm 01:53 PM

Retrieval-augmented generation (RAG) ialah teknik yang menggunakan perolehan semula untuk meningkatkan model bahasa. Secara khusus, sebelum model bahasa menjana jawapan, ia mendapatkan semula maklumat yang berkaitan daripada pangkalan data dokumen yang luas dan kemudian menggunakan maklumat ini untuk membimbing proses penjanaan. Teknologi ini boleh meningkatkan ketepatan dan perkaitan kandungan dengan banyak, mengurangkan masalah halusinasi dengan berkesan, meningkatkan kelajuan kemas kini pengetahuan, dan meningkatkan kebolehkesanan penjanaan kandungan. RAG sudah pasti salah satu bidang penyelidikan kecerdasan buatan yang paling menarik. Untuk butiran lanjut tentang RAG, sila rujuk artikel lajur di tapak ini "Apakah perkembangan baharu dalam RAG, yang pakar dalam menebus kekurangan model besar?" Ulasan ini menerangkannya dengan jelas." Tetapi RAG tidak sempurna, dan pengguna sering menghadapi beberapa "titik kesakitan" apabila menggunakannya. Baru-baru ini, penyelesaian AI generatif termaju NVIDIA

Perbandingan versi terkini Laravel dan CodeIgniter Perbandingan versi terkini Laravel dan CodeIgniter Jun 05, 2024 pm 05:29 PM

Versi terkini Laravel 9 dan CodeIgniter 4 menyediakan ciri dan penambahbaikan yang dikemas kini. Laravel9 menggunakan seni bina MVC dan menyediakan fungsi seperti migrasi pangkalan data, pengesahan dan enjin templat. CodeIgniter4 menggunakan seni bina HMVC untuk menyediakan penghalaan, ORM dan caching. Dari segi prestasi, corak reka bentuk berasaskan pembekal perkhidmatan Laravel9 dan rangka kerja ringan CodeIgniter4 memberikannya prestasi cemerlang. Dalam aplikasi praktikal, Laravel9 sesuai untuk projek kompleks yang memerlukan fleksibiliti dan fungsi berkuasa, manakala CodeIgniter4 sesuai untuk pembangunan pesat dan aplikasi kecil.

Seorang lagi pemain tahap Sora akan datang ke jalanan! Kami membandingkannya dengan Sora dan Keling. Seorang lagi pemain tahap Sora akan datang ke jalanan! Kami membandingkannya dengan Sora dan Keling. Aug 02, 2024 am 10:19 AM

Apabila Sora gagal keluar, lawan OpenAI menggunakan senjata mereka untuk memusnahkan jalanan. Jika Sora tidak dibuka untuk digunakan, ia benar-benar akan dicuri! Hari ini, LumaAI pemula San Francisco memainkan kad truf dan melancarkan generasi baharu model penjanaan video AI DreamMachine. Percuma dan tersedia untuk semua orang. Menurut laporan, model itu boleh menghasilkan video realistik berkualiti tinggi berdasarkan penerangan teks ringkas, dengan kesan yang setanding dengan Sora. Sebaik sahaja berita itu keluar, sebilangan besar pengguna menyerbu ke laman web rasmi untuk mencubanya. Walaupun pegawai mendakwa model itu boleh menjana video 120 bingkai dalam masa dua minit sahaja, ramai pengguna telah menunggu berjam-jam di laman web rasmi berikutan lonjakan kunjungan. BarkleyDai, ketua pertumbuhan produk Luma, terpaksa mengulas mengenai Discord

Laravel - Perintah Artisan Laravel - Perintah Artisan Aug 27, 2024 am 10:51 AM

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?